C++练习 | 二分练习
Codeforces 371C : Hamburgers
#include<bits/stdc++.h>
using namespace std;
char B='B',S='S',C='C';
string t;
int nb,ns,nc,pb,ps,pc,len;
long long r1;
map<char,int> m;
bool check(long long m1)
{
long long need=;
if(m1*m[B]>nb)
need+=(m1*m[B]-nb)*pb;
if(m1*m[S]>ns)
need+=(m1*m[S]-ns)*ps;
if(m1*m[C]>nc)
need+=(m1*m[C]-nc)*pc;
return need<=r1;
}
int main()
{
int num=;
cin>>t;
len=t.length();
for(int i=;i<len;i++)
{
m[t[i]]++;
}
cin>>nb>>ns>>nc>>pb>>ps>>pc>>r1;
long long l=,r=max(max(nb,ns),nc)+r1,mid;
while(l<=r)
{
mid=(l+r)/;
if(check(mid))
{
l=mid+;
}
else
r=mid-;
}
cout<<r<<endl;
return ;
}
样例

HDU 2141 : Can you find it?
签到题(艹)

样例

#include<bits/stdc++.h>
using namespace std;
int L,N,M,a[],b[],c[],d[],S,x,k;
int check(int d1[],int c1[],int X)
{
int l=,r=k-,m;
for(int i=;i<M;i++)
{
if(d1[r]+c1[i]<X)
continue;
l=;
r=k-;
while(l<=r)
{
m=(l+r)/;
if(d1[m]+c1[i]==X)
return ;
if(d1[m]+c1[i]<X)
{
l=m+;
}
else
{
r=m-;
}
}
}
return ;
}
int main()
{
// freopen("1.in","r",stdin);
int num=;
while(cin>>L>>N>>M)
{
num++;
k=;
cout<<"Case "<<num<<":"<<endl;
for(int i=;i<L;i++)
cin>>a[i];
for(int i=;i<N;i++)
cin>>b[i];
for(int i=;i<M;i++)
cin>>c[i];
sort(c,c+M);
for(int i=;i<L;i++)
{
for(int j=;j<N;j++)
{
d[k]=a[i]+b[j];
k++;
}
}
sort(d,d+k);
cin>>S;
while(S--)
{
cin>>x;
int t=check(d,c,x);
if(t)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return ;
}
主要思路是把前两个数组的元素两两相加后与第三个数组元素相加的时候使用二分法简化步骤
C++练习 | 二分练习的更多相关文章
- BZOJ1012: [JSOI2008]最大数maxnumber [线段树 | 单调栈+二分]
1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 8748 Solved: 3835[Submi ...
- BZOJ 2756: [SCOI2012]奇怪的游戏 [最大流 二分]
2756: [SCOI2012]奇怪的游戏 Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 3352 Solved: 919[Submit][Stat ...
- 整体二分QAQ
POJ 2104 K-th Number 时空隧道 题意: 给出一个序列,每次查询区间第k小 分析: 整体二分入门题? 代码: #include<algorithm> #include&l ...
- [bzoj2653][middle] (二分 + 主席树)
Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整. 给你一个长度为n的序列s. 回答Q个这样的询问:s的左端点在[a,b ...
- [LeetCode] Closest Binary Search Tree Value II 最近的二分搜索树的值之二
Given a non-empty binary search tree and a target value, find k values in the BST that are closest t ...
- [LeetCode] Closest Binary Search Tree Value 最近的二分搜索树的值
Given a non-empty binary search tree and a target value, find the value in the BST that is closest t ...
- jvascript 顺序查找和二分查找法
第一种:顺序查找法 中心思想:和数组中的值逐个比对! /* * 参数说明: * array:传入数组 * findVal:传入需要查找的数 */ function Orderseach(array,f ...
- BZOJ 1305: [CQOI2009]dance跳舞 二分+最大流
1305: [CQOI2009]dance跳舞 Description 一次舞会有n个男孩和n个女孩.每首曲子开始时,所有男孩和女孩恰好配成n对跳交谊舞.每个男孩都不会和同一个女孩跳两首(或更多)舞曲 ...
- BZOJ 3110 [Zjoi2013]K大数查询 ——整体二分
[题目分析] 整体二分显而易见. 自己YY了一下用树状数组区间修改,区间查询的操作. 又因为一个字母调了一下午. 貌似树状数组并不需要清空,可以用一个指针来维护,可以少一个log 懒得写了. [代码] ...
- 2016 ACM/ICPC Asia Regional Dalian Online 1008 Function 二分+RMQ
Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submissio ...
随机推荐
- AE+C#实现:在SceneControl里打开和保存
来自:http://www.cnblogs.com/zhuxy/archive/2012/03/30/2424672.html 之前编写这段代码,发现一直没有C#编写的,现在贴出来,希望对大家有用 此 ...
- LeetCode赛题515----Find Largest Element in Each Row
问题描述 You need to find the largest element in each row of a Binary Tree. Example: Input: 1 / \ 2 3 / ...
- UIResponder NSSet UITouch UIEvent
UIResponder: UIView的超类,用来响应handle(触屏.motion.响应者等)事件. NSSet:一系列的类集合(类似数组). UITouch:一个点击类.负责:点击的view,w ...
- Android GridView异步加载图片和加载大量图片时出现Out Of Memory问题
我们在使用GridView或者ListView时,通常会遇到两个棘手的问题: 1.每个Item获取的数据所用的时间太长会导致程序长时间黑屏,更甚会导致程序ANR,也就是Application No R ...
- 六、angular 生成二维码
首先需要安装angular-qrcode : bower install monospaced/angular-qrcode npm install angular-qrcode 如何使用? 在相应的 ...
- 从golang-gin-realworld-example-app项目学写httpapi (一)
https://wangzitian0.github.io/2013/06/29/zero-to-one-1/ https://github.com/gothinkster/golang-gin-re ...
- 【Oracle】DBMS_STATS.GATHER_SCHEMA_STATS详解
dbms_stats能良好地估计统计数据(尤其是针对较大的分区表),并能获得更好的统计结果,最终制定出速度更快的SQL执行计划. exec dbms_stats.gather_schema_stats ...
- 关于hashcode 里面 使用31 系数的问题
首先我们来了解一下hashcode,什么是hashcode?有什么作用? hashcode其实就是散列码,使用hashcode使用高效率的哈希算法来定位查找对象! 我们在使用容器来存储数据的时候会计算 ...
- [EffectiveC++]item22:Declare data members private
将成员变量隐藏在函数接口的背后,可以为“所有可能的实现”提供弹性, 假设我们有一个public成员变量,而我们最终取消了它,多少代码可能会被破坏呢?那是一个不可知的大量. protected成员变量就 ...
- ZOJ-3261 Connections in Galaxy War---离线操作+逆序并查集
题目链接: https://cn.vjudge.net/problem/ZOJ-3261 题目大意: 给你一些点,还有一些边,每个点上都有一个权值,然后有一些询问,分为两种,query a 询问与a直 ...