BZOJ4045 : [Cerc2014] bricks
首先求出B和W的个数,如果只出现了一种那么直接输出sum(k)。
否则依次扫描,能割就割,时间复杂度$O(n)$。
#include<cstdio>
#define N 100010
typedef 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;
}
BZOJ4045 : [Cerc2014] bricks的更多相关文章
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- HDOJ 1326. Box of Bricks 纯水题
Box of Bricks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- Box of Bricks最小移动砖块数目
Description Little Bob likes playing with his box of bricks. He puts the bricks one upon another and ...
- Codeforces Gym 100002 B Bricks 枚举角度
Problem B Bricks" Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100002 ...
- [POJ1477]Box of Bricks
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19503 Accepted: 7871 Description Litt ...
- HDOJ(HDU) 2088 Box of Bricks(平均值)
Problem Description Little Bob likes playing with his box of bricks. He puts the bricks one upon ano ...
- HDOJ 1326 Box of Bricks(简单题)
Problem Description Little Bob likes playing with his box of bricks. He puts the bricks one upon ano ...
- 591 - Box of Bricks
Box of Bricks Little Bob likes playing with his box of bricks. He puts the bricks one upon another ...
- Box of Bricks
Box of Bricks Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total ...
随机推荐
- idea2017破解方法
破解方法 切换license server然后 输入网址:http://idea.iteblog.com/key.php即可
- weblogic11G 修改密码
weblogic11的登录密码修改方法: 1. 登陆到weblogic后选中domain structure下的security Realms(如图一) (图一) 详情如图二: (图二) 2. 双 ...
- 浅谈 js 下 with 对性能的影响
这几天多次看到有博主们在写 with 的文章,这货确实非常方便,但是却是个性能杀手,所以一直都是上不得台面的.那么他究竟会让效率低下到什么程度呢?先来看下 with 是如何的便捷吧.. // 正常调用 ...
- js 隐藏代码生成工具
昨天写了篇<js 奇葩技巧之隐藏代码>,今天来写个工具方便大家生成吧.在昨天算法基础上优化了解码算法,采用立即函数运行.有两种模式可供选择: 1. eval 全局模式,比如你定义的 va ...
- 20155227 2016-2017-2 《Java程序设计》第八周学习总结
20155227 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 NIO与NIO2 NIO即New IO.java从JDK1.4开始提供了NIO,在JAVA ...
- GBDT理解
一.提升树 提升方法实际采用加法模型(即基函数的线性组合)与前向分布算法.以决策树为基函数的提升方法称为提升树,boosting tree.对分类问题的决策树是二叉分类树,对回归问题的决策树是二叉回归 ...
- python 搭建http服务器和ftp服务器
默认安装版本为pytho2.7 http服务器搭建: 进入要开放访问的目录下,执行命令:python -m SimpleHTTPServer 9000 显示上述表示安装成功,且http服务的端口为:9 ...
- jenkins免密添加SSH Servers
在配置ssh server时可以使用用户名秘密的方式登录,但有点不安全,只要有权限配置jenkins服务器的人就可以看到密码.所以可以利用ssh免密登录的方式链接ssh server. 1.在jenk ...
- YOLOv2训练自己的数据集(VOC格式)
下周试试,参考:http://blog.csdn.net/ch_liu23/article/details/53558549 http://blog.csdn.net/sinat_30071459/a ...
- jquery 鼠标事件汇总
鼠标事件是指用户在移动鼠标光标或者点击任意鼠标键时触发的事件,jQuery中封装了基本上所有的鼠标事件包括点击,双击,移动等鼠标事件,下面我们就来看下这些事件的语法和用法 鼠标事件是在用户移动鼠标 ...