洛谷P3611 [USACO17JAN]Cow Dance Show奶牛舞蹈
题目描述
After several months of rehearsal, the cows are just about ready to put on their annual dance performance; this year they are performing the famous bovine ballet "Cowpelia".
The only aspect of the show that remains to be determined is the size of the stage. A stage of size KKK can support KKK cows dancing simultaneously. The NNN cows in the herd (1≤N≤10,0001 \leq N \leq 10,0001≤N≤10,000) are conveniently numbered 1…N1 \ldots N1…N in the order in which they must appear in the dance. Each cow iii plans to dance for a specific duration of time d(i)d(i)d(i). Initially, cows 1…K1 \ldots K1…K appear on stage and start dancing. When the first of these cows completes her part, she leaves the stage and cow K+1K+1K+1 immediately starts dancing, and so on, so there are always KKK cows dancing (until the end of the show, when we start to run out of cows). The show ends when the last cow completes her dancing part, at time TTT.
Clearly, the larger the value of KKK, the smaller the value of TTT. Since the show cannot last too long, you are given as input an upper bound TmaxT_{max}Tmax specifying the largest possible value of TTT. Subject to this constraint, please determine the smallest possible value of KKK.
经过几个月的排练,奶牛们基本准备好展出她们的年度舞蹈表演。今年她们要表演的是著名的奶牛芭蕾——“cowpelia”。
表演唯一有待决定的是舞台的尺寸。一个大小为K的舞台可以支持K头牛同时在舞台上跳舞。在牛群中的N头牛(1<=N<=10,000)按照她们必须出现在舞蹈中的顺序方便地编号为1..N。第i头牛计划跳d[i]的特定持续时间。一开始,第1..K头牛出现在舞台上并开始跳舞。当这些牛中的某一头牛首先完成了她的部分,她会马上离开舞台并且第K+1头牛会出现在舞台上并开始跳舞。所以,舞台上总有K头奶牛在跳舞(直到表演的尾声,奶牛不够的时候)。当最后一头奶牛完成了她的舞蹈部分,表演结束,共花了T个单位时间。
显然,K的值越大,T就越小。由于表演不能拖太长,你得知了指定T的最大可能值的上限T-max。请根据这个约束,确定K的最小值。
输入输出格式
输入格式:
The first line of input contains NNN and TmaxT_{max}Tmax, where TmaxT_{max}Tmax is an integer of value at most 1 million.
The next NNN lines give the durations d(1)…d(N)d(1) \ldots d(N)d(1)…d(N) of the dancing parts for cows 1…N1 \ldots N1…N. Each d(i)d(i)d(i) value is an integer in the range 1…100,0001 \ldots 100,0001…100,000.
It is guaranteed that if K=NK=NK=N, the show will finish in time.
第一行包括N和T-max两个整数(T-max<=1,000,000)。
接下来的N行给出了第1..n头牛跳舞的持续时间d[1]..d[n]。第i行包括一个整数d[i],1<=d[i]<=100,000.
保证K=N时表演会按时完成。
输出格式:
Print out the smallest possible value of K such that the dance performance will take no more than TmaxT_{max}Tmax units of time.
输出在表演时间不大于T-max时的K的最小可能值。
输入输出样例
5 8
4
7
8
6
4
4
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
这题用二分,查找 k 的值(先确定 k 的值,再判断 k 是否符合要求,符合要求就缩小范围继续查找,不符合就增大范围继续查找)
#include<iostream>
#include<algorithm>
using namespace std;
int n,tmax,a[],b[],t,l=,r,m;
int f(int x)
{
for(int i=;i<=x;i++)
b[i]=a[i];
sort(b+,b+x+);
for(int i=x+;i<=n;i++)
{
if(b[x]>tmax)
return ;
b[]+=a[i];
for(int j=;j<x;j++)
if(b[j]<=b[j+])
break;
else
t=b[j],b[j]=b[j+],b[j+]=t;
}
return b[x]<=tmax;
}
int main()
{
cin>>n>>tmax;
r=n;
for(int i=;i<=n;i++)
cin>>a[i];
while(l<=r)
{
m=(l+r)/;
if(f(m))
r=m-;
else
l=m+;
}
cout<<l;
return ;
}
洛谷P3611 [USACO17JAN]Cow Dance Show奶牛舞蹈的更多相关文章
- [LUOGU] P3611 [USACO17JAN]Cow Dance Show奶牛舞蹈
https://www.luogu.org/problemnew/show/P3611 二分答案+优先队列 二分O(logn) 判一次正确性O(nlogn) 总体O(nlognlogn) 为了让pri ...
- P3611 【[USACO17JAN]Cow Dance Show奶牛舞蹈】
想了一下还是不发以前做过的水题了,意义也不是很大,现在的话大概只有洛谷黄题以上才会收录了哦~~~ 喵了个咪的题面~~ 洛谷题解dalao不是P党就是优先队列,看的我作为一个新手蒟蒻好慌啊... 这题用 ...
- [洛谷P4183][USACO18JAN]Cow at Large P
题目链接 Bzoj崩了之后在洛谷偶然找到的点分好题! 在暴力的角度来说,如果我们$O(n)$枚举根节点,有没有办法在$O(n)$的时间内找到答案呢? 此时如果用树形$dp$的想法,发现是可做的,因为可 ...
- 洛谷 P4183 - [USACO18JAN]Cow at Large P(点分治)
洛谷题面传送门 点分治 hot tea. 首先考虑什么样的点能够对以 \(u\) 为根的答案产生 \(1\) 的贡献.我们考虑以 \(u\) 为根对整棵树进行一遍 DFS.那么对于一个点 \(v\), ...
- 洛谷P3608 [USACO17JAN]Balanced Photo平衡的照片
P3608 [USACO17JAN]Balanced Photo平衡的照片 题目描述 Farmer John is arranging his NN cows in a line to take a ...
- 洛谷P3605 [USACO17JAN] Promotion Counting 晋升者计数 [线段树合并]
题目传送门 Promotion Counting 题目描述 The cows have once again tried to form a startup company, failing to r ...
- 洛谷P3052 [USACO12MAR]摩天大楼里的奶牛 [迭代加深搜索]
题目传送门 摩天大楼里的奶牛 题目描述 A little known fact about Bessie and friends is that they love stair climbing ra ...
- 洛谷P3120 [USACO15FEB]Cow Hopscotch
题目描述 Just like humans enjoy playing the game of Hopscotch, Farmer John's cows have invented ...
- 洛谷P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper
P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper 题目描述 A little known fact about Bessie and friends is ...
随机推荐
- (转)Memcached用法--参数和命令详解
Memcached用法--参数和命令详解 1. memcached 参数说明: # memcached -h 1.1 memcached 的参数 常用参数 -p <num> 监听的TCP端 ...
- mysql主从数据库错误处理
方法一:忽略错误后,继续同步 该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况 解决: stop slave; #表示跳过一步错误,后面的数字可变set glob ...
- 安装Hexo遇到npm的问题
目录:1.安装git.nvm.node.js 2.安装Hexo遇到npm的问题-及解决办法 3.初步安装完成Hexo ============================ 安装git.nvm.no ...
- HDU 4578——Transformation——————【线段树区间操作、确定操作顺序】
Transformation Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 65535/65536 K (Java/Others)T ...
- CentOS 搭建Redis4 环境
下载 wget http://download.redis.io/releases/redis-4.0.10.tar.gz 安装步骤 tar xvf redis-4.0.10.tar.gz mak ...
- windows常用命令行总结
cmd下的命令行 1.查看当前目录下的子目录 dir 或 dir /b 类似Linux 下的 ls 或者 ls -l 2.盘符切换 d: 3.进入目录 cd [目录名] 退一个目录 cd .. ...
- 软件测试技术第一次试验之——JUnit的安装与使用
众所周知,在一个大型的软件项目中,测试是必不可少的.传统的测试方法往往要自己编写测试函数再结合测试用例进行验证,这样会显得比较繁琐.所以我们可以使用JUnit框架进行测试. 使用junit的好处就是这 ...
- easyui datagrid 表格中操作栏 按钮图标不显示
jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染 解决办法: 使用解析器 Parser(解析器) $.parser.parse(); // 解析所有页面 $.par ...
- Dynamics CRM 4.0升级Dynamics CRM 2013后全局Ribbon的修改
最近在为一个客户在Dynamics CRM 4.0到Dynamics CRM 2013的升级,升级之后发现原来在Dynamics CRM 4.0中定义的全局Ribbon按钮像牛皮癣一样,在每个实体页面 ...
- 【Angular JS】网站使用社会化评论插件,以及过程中碰到的坑
目前正在开发自己的网站,技术上使用Angular JS + Express JS + Mongo DB.由于网站会有文章发布,因此需要有评论功能.评论功能也可以自己开发,但由于现在社会化评论插件很多, ...