bzoj 1816: [Cqoi2010]扑克牌
#include<cstdio>
#include<iostream>
using namespace std;
int l,r,m,n,a[],ans;
bool pan(int x)
{
int a1=min(x,m);
for(int i=;i<=n;i++)
if(a[i]<x)
{
a1-=x-a[i];
if(a1<)
return ;
}
return ;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
l=;
r=;
for(;l<=r;)
{
int mid=(l+r)>>;
if(pan(mid))
{
l=mid+;
ans=mid;
}
else
r=mid-;
}
printf("%d\n",ans);
return ;
}
二分答案判断是否可行。
其实我还有一种想法,只是一直没对,以后要对拍一下。
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
long long a[],n,m,sum,q1=0x7ffffffffLL,q2=0x7ffffffffLL;
bool f;
int main()
{
scanf("%lld%lld",&n,&m);
for(int i=;i<=n;i++)
scanf("%lld",&a[i]);
sort(a+,a+n+);
for(int i=;i<=n;i++)
{
if(m-(i-)*(a[i]-a[i-])<)
{
f=;
q1=m/(i-)+a[i-];
}
m-=(i-)*(a[i]-a[i-]);
if(sum+(i-)*(a[i]-a[i-])>a[i])
{
f=;
q2=(sum-(i-)*a[i-])/(-i);
}
if(f)
break;
sum+=(i-)*(a[i]-a[i-]);
}
printf("%lld",min(a[n],min(q1,q2)));
return ;
}
bzoj 1816: [Cqoi2010]扑克牌的更多相关文章
- BZOJ 1816: [Cqoi2010]扑克牌( 二分答案 )
二分答案.. 一开始二分的初始右边界太小了然后WA,最后一气之下把它改成了INF... -------------------------------------------------------- ...
- [BZOJ 1816] [Cqoi2010] 扑克牌 【二分答案】
题目链接:BZOJ - 1816 题目分析 答案具有可以二分的性质,所以可以二分答案. 验证一个答案 x 是否可行,就累加一下各种牌相对于 x 还缺少的量,如果总和超过了 x 或 m ,就不可行. 因 ...
- [BZOJ 1816][Cqoi2010]扑克牌(二分答案)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1816 分析: 我先以为是道水题,但是要注意的是每套牌中Joker只能用1张的,所以就出现了可能 ...
- BZOJ:1816 [Cqoi2010]扑克牌 (贪心或二分答案)
题面 \(solution:\) 这道题难就难在你能否读懂题目的意思,我们将它翻译一下: 现在我有n根竹子(每根竹子有\(c_i\)节,每节竹子高度为1),我可以通过消耗一点法力值使某一根竹子的某两节 ...
- 1816: [Cqoi2010]扑克牌
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2737 Solved: 1082[Submit][Status][Discuss] Descripti ...
- bzoj1816: [Cqoi2010]扑克牌(二分答案判断)
1816: [Cqoi2010]扑克牌 题目:传送门 题解: 被一道毒瘤题搞残了...弃了坑来刷刷水题 一开始还想复杂了...结果发现二分水过: 二分答案...然后check一下,joker肯定尽量用 ...
- 【BZOJ1816】[CQOI2010]扑克牌(二分,贪心)
[BZOJ1816][CQOI2010]扑克牌(二分,贪心) 题面 BZOJ 题解 看了一眼这题,怎么这么眼熟?woc,原来\(xzy\)的题目是搬的这道啊... 行,反正我考的时候也切了,这数据范围 ...
- BZOJ1816 Cqoi2010 扑克牌【二分答案】
BZOJ1816 Cqoi2010 扑克牌 Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张jok ...
- 【BZOJ1816】[Cqoi2010]扑克牌 二分
[BZOJ1816][Cqoi2010]扑克牌 Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张j ...
随机推荐
- mysql 变量
用户变量 1.用户变量,用户变量和数据库连接有关,连接后声明变量,连接断开后,自动消失. 2.用户变量以@开头,select一个没有赋值的用户变量,返回NULL,也就是没有值,注意取值为NULL与取值 ...
- Java编程思想学习笔记_2(继承和多态)
静态初始化: 静态初始化只在必要的时刻进行.(即当程序需要加载类进入内存的时候,执行静态初始化.静态变量和静态代码块的初始化顺序,按照在代码中声明的顺序老执行.例如:如果要执行某个public类,那么 ...
- (一)S5PV210开发板常用易忘操作记录
一.调试串口 2.SD卡槽 (三)启动方式选择 蜂鸣器下面的白色2针插座(图中红色线圈出来的那个)为选择USB/SD卡启动的开关.默认情况下为SD卡启动,如果需要USB启动则使用短路帽(若没有短路帽, ...
- UIImageView 的contentMode属性
UIViewContentModeScaleToFill UIViewContentModeScaleAspectFit UIViewContentModeScaleAspectFill UIView ...
- golang文件上传和下载
[代码]golang 实现的文件服务(包括上传,下载的server端和client端) (2013-09-20 02:03:52) 转载▼ 标签: golang go 文件服务器 it 分类: GO相 ...
- linux 安装 easygui
如果遇到问题也查找不到资料时,可以认真阅读安装文件下的README说明,或许可以得到帮助. 本次环境为redhat 6.4.python2.7.9 linux 图形化显示需要安装一些依赖包,比如lib ...
- JSP HTML error code
<html> <head> <title>Setting HTTP Status Code</title> </head> <body ...
- Windows代码页、区域
目录 第1章代码页 1 1 代码页 1 1.1 单字节字符集 1 1.2 双字节字符集 1 1.3 多字节字符集 1 1.4 ANSI代码页 2 2 枚举代码页 ...
- 如何在腾讯云上开发一款O2O书签?
版权声明:本文由潘佳宇原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/187 来源:腾云阁 https://www.qclo ...
- javascript正则表达式介绍
正则表达式就是一个用来描述字符模式的对象.它被用来在文本中执行模式匹配(pattern-matching)以及”查找-替换”(search-and-replace)的任务.javascript中正则的 ...