bzoj1816
这道题不是很难,二分答案+判定即可
注意在一套牌中Joker只能用一次
var a:array[..] of longint;
mid,l,r,n,m,i,ans:longint; function check(x:longint):boolean;
var i,t:longint;
begin
t:=m;
if t>x then t:=x; //判定的关键
for i:= to n do
if a[i]<x then
begin
t:=t-x+a[i];
if t< then exit(false);
end;
exit(true);
end; begin
readln(n,m);
for i:= to n do
read(a[i]);
l:=;
r:=;
while l<=r do
begin
mid:=(l+r) shr ;
if check(mid) then
begin
ans:=mid;
l:=mid+;
end
else r:=mid-;
end;
writeln(ans);
end.
bzoj1816的更多相关文章
- 【BZOJ1816】[CQOI2010]扑克牌(二分,贪心)
[BZOJ1816][CQOI2010]扑克牌(二分,贪心) 题面 BZOJ 题解 看了一眼这题,怎么这么眼熟?woc,原来\(xzy\)的题目是搬的这道啊... 行,反正我考的时候也切了,这数据范围 ...
- 洛谷4951 地震 bzoj1816扑克牌 洛谷3199最小圈 / 01分数规划
洛谷4951 地震 #include<iostream> #include<cstdio> #include<algorithm> #define go(i,a,b ...
- BZOJ1816 Cqoi2010 扑克牌【二分答案】
BZOJ1816 Cqoi2010 扑克牌 Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张jok ...
- 【BZOJ1816】[Cqoi2010]扑克牌 二分
[BZOJ1816][Cqoi2010]扑克牌 Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张j ...
- BZOJ1816 [Cqoi2010]扑克牌
Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的 牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1 ...
- bzoj1816 扑克牌
Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1套 ...
- BZOJ1816 CQOI2010 扑克牌 贪心
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1816 题意:有$N$堆牌,第$i$堆牌有$c_i$张牌,还有$M$张$joker$,每 ...
- 2018.09.24 bzoj1816: [Cqoi2010]扑克牌(二分答案)
传送门 简单二分答案. 我们二分最终有k个牌堆. 这样joker被选择的张数≤min(k,m)\le min(k,m)≤min(k,m) 并且joker需要被选择的张数应该是∑i−1nmax(0,k− ...
- BZOJ1816(二分)
反思 由于受我第一次遇到的构造最多三角形的题的影响,这种几个分成一组最多多少组的题我老是往贪心上想. 事实上一般贪心也能贪,但这道题,还有突然想起的前些天做的cf140C,都是用二分可以更简单地解决, ...
随机推荐
- 【转】[转]order by 1是什么意思?
[转][转]order by 1是什么意思? ORDER BY 1 表示 所select 的字段按第一个字段排序 ORDER BY ASC应该没有这样写法,ORDER BY 后面不是字段就是数字, 可 ...
- 常见sql语句及复杂sql语句记录
1 将A表中的部分字段和B表中的部分字段作为C表的字段 SELECT a.name,b.age FROM (SELECT * from A) as a,(SELECT * from B) as ...
- WisDom.Net 框架设计(四) 用户安全
WisDom.Net ----用户安全 1.用户单机登录 正如其名这里要求其实就是显示用户只能在一台电脑上登录.防止多处登录,这里简单的说一下实现原理,我们在这里使用session +cookie ...
- C#设置与获取目录权限(.net控制ACL)
找到两种方式可以修改文件夹的权限 第一种: 想用c#来设置和读取ntfs分区上的目录权限,找了很多资料,未果.终于发现了一段vb.net的代码,做了修改,以C#展示给大家. using System; ...
- hibernate 使用in方式删除数据
1当删除一个表中数据时,可能会涉及中间表,中间表会有多条数据.这时删除可以采用for循环,逐条删除.但是每次删除都会连接一次数据库 2.可以采用in语句,一次删除即可,参考如下博文 http://ne ...
- FTPClient文件下载
一.FTPClient下载文件所需要的jar包: org.apache.commons.net [commons-net-3.4.jar] 二.FTPClient的连接和关闭 //FTPClient ...
- Angularjs总结(二)过滤器使用
html页面: <table> <thead> <tr> <td class="td">序号</td> <td c ...
- javascript入门学习笔记2
JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: 实例 var x // x 为 undefined var x = 6; // x 为数字 var x = "Bil ...
- 数据库(学习整理)----1--如何彻底清除系统中Oracle的痕迹(重装Oracle时)
1.关于重装Oracle数据库: 由于以前装过Oracle数据库,但是版本不怎么样,结果过了试用期之后,我就没有破解和再找合适的版本了!直接使用电脑管家卸载了!可想而知,肯定没清除Oracle痕迹啊! ...
- POJ 1631 Bridging signals(LIS O(nlogn)算法)
Bridging signals Description 'Oh no, they've done it again', cries the chief designer at the Waferla ...