博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ4045 : [Cerc2014] bricks
阅读量:5225 次
发布时间:2019-06-14

本文共 680 字,大约阅读时间需要 2 分钟。

首先求出B和W的个数,如果只出现了一种那么直接输出sum(k)。

否则依次扫描,能割就割,时间复杂度$O(n)$。

 

#include
#define N 100010typedef long long ll;int T,n,i,a[N],b[N],c[2],d[2],ans;ll x;char s[2];int main(){ scanf("%d",&T); while(T--){ scanf("%d",&n); c[0]=c[1]=d[0]=d[1]=ans=0; for(i=1;i<=n;i++)scanf("%d%s",&b[i],s),a[i]=s[0]=='B',c[a[i]=s[0]=='B']+=b[i]; if(!c[0]||!c[1]){printf("%d\n",c[0]+c[1]);continue;} for(i=1;i<=n;i++){ x=(ll)c[a[i]]*d[a[i]^1]-(ll)d[a[i]]*c[a[i]^1]; if(x%c[a[i]^1]||x<=0||x/c[a[i]^1]>b[i])d[a[i]]+=b[i]; else ans++,d[a[i]]=b[i]-x/c[a[i]^1],d[a[i]^1]=0; } printf("%d\n",ans); } return 0;}

  

转载于:https://www.cnblogs.com/clrs97/p/4697203.html

你可能感兴趣的文章
老男孩python学习_day003作业
查看>>
yii jquery折叠、弹对话框、拖拽、滑动条、ol和ul列表、局部内容切换
查看>>
jQuery积累:serialize()、stringify()、toJSON()
查看>>
Python web 周总结
查看>>
Sequelize为什么需要使用Migrations
查看>>
数组undefined 逗号
查看>>
SSM-SpringMVC一些知识点
查看>>
关于URL编码的问题
查看>>
React.js 小书 Lesson22 - props.children 和容器类组件
查看>>
python之optparse
查看>>
在Js中得到元素的子元素集合注意事项
查看>>
Spring MVC之DispatcherServlet初始化详解
查看>>
多线程篇-GCD-基本概念使用
查看>>
生成唯一的随机数
查看>>
尼玛某前辈把ant 工程 改成android studio工程然后上传了 对我来说 尼玛这玩意就和屎一样...
查看>>
SSM整合(精简版)
查看>>
各种xml文件约束,Eclipse用
查看>>
泰勒展开,傅里叶变换,拉普拉斯变换和Z变换的物理意义
查看>>
Java Concurrentmodificationexception异常原因和解决方法
查看>>
Python 面向对象(其四)
查看>>