题目描述

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的最小可能值。

输入输出样例

输入样例#1: 复制

5 8
4
7
8
6
4
输出样例#1: 复制

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奶牛舞蹈的更多相关文章

  1. [LUOGU] P3611 [USACO17JAN]Cow Dance Show奶牛舞蹈

    https://www.luogu.org/problemnew/show/P3611 二分答案+优先队列 二分O(logn) 判一次正确性O(nlogn) 总体O(nlognlogn) 为了让pri ...

  2. P3611 【[USACO17JAN]Cow Dance Show奶牛舞蹈】

    想了一下还是不发以前做过的水题了,意义也不是很大,现在的话大概只有洛谷黄题以上才会收录了哦~~~ 喵了个咪的题面~~ 洛谷题解dalao不是P党就是优先队列,看的我作为一个新手蒟蒻好慌啊... 这题用 ...

  3. [洛谷P4183][USACO18JAN]Cow at Large P

    题目链接 Bzoj崩了之后在洛谷偶然找到的点分好题! 在暴力的角度来说,如果我们$O(n)$枚举根节点,有没有办法在$O(n)$的时间内找到答案呢? 此时如果用树形$dp$的想法,发现是可做的,因为可 ...

  4. 洛谷 P4183 - [USACO18JAN]Cow at Large P(点分治)

    洛谷题面传送门 点分治 hot tea. 首先考虑什么样的点能够对以 \(u\) 为根的答案产生 \(1\) 的贡献.我们考虑以 \(u\) 为根对整棵树进行一遍 DFS.那么对于一个点 \(v\), ...

  5. 洛谷P3608 [USACO17JAN]Balanced Photo平衡的照片

    P3608 [USACO17JAN]Balanced Photo平衡的照片 题目描述 Farmer John is arranging his NN cows in a line to take a ...

  6. 洛谷P3605 [USACO17JAN] Promotion Counting 晋升者计数 [线段树合并]

    题目传送门 Promotion Counting 题目描述 The cows have once again tried to form a startup company, failing to r ...

  7. 洛谷P3052 [USACO12MAR]摩天大楼里的奶牛 [迭代加深搜索]

    题目传送门 摩天大楼里的奶牛 题目描述 A little known fact about Bessie and friends is that they love stair climbing ra ...

  8. 洛谷P3120 [USACO15FEB]Cow Hopscotch

    题目描述 Just like humans enjoy playing the game of Hopscotch, Farmer John&apos;s cows have invented ...

  9. 洛谷P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper

    P3052 [USACO12MAR]摩天大楼里的奶牛Cows in a Skyscraper 题目描述 A little known fact about Bessie and friends is ...

随机推荐

  1. JavaScript比较运算符——"== != === !=="区别

    JavaScript的比较和逻辑运算符用于测试 true 或 false. 比较运算符在逻辑语句中使用,以测定变量或值是否相等. 例如给定 x=5,下面的表格解释了比较运算符: 1. == 和===的 ...

  2. HDU 5360——Hiking——————【贪心+优先队列】

    Hiking Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Su ...

  3. python的字符串操作

    1.修改大小写 (1)title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写.这很有用, 因为你经常需要将名字视为信息.例如,你可能希望程序将值Ada.ADA和ada视为同一个名 ...

  4. vue 修饰符 整理

    事件修饰符 .stop <!-- 阻止单击事件继续传播 --> <a v-on:click.stop="doThis"></a> .preven ...

  5. HTML的行内元素与块级元素的区别?

    块级元素:独占一行,其宽度自动填满父元素的宽度,可以容纳行内元素和其他块级元素,可以设置margin和padding值. 行内元素:不会独占一行,与其他行内元素排成一行,直到其父元素拍不下,才会从新一 ...

  6. 洛谷 P1195 口袋的天空(最小生成树)

    嗯... 题目链接:https://www.luogu.org/problemnew/show/P1195 思路: 首先可以判断这道题是用最小生成树来做的,然后在将其合并时用ans记录一下它的总消耗, ...

  7. Android监听安装卸载

    需要通过receiver来监听: 在AndroidManifest.xml文件中注册的receiver中必须加上<data android:scheme="package"/ ...

  8. 解决 MVC4 Code First 数据迁移 数据库发生更改导致调试失败解决方法(二)

    文章转载自:http://www.cnblogs.com/amoniyibeizi/p/4486617.html 前几天学MVC过程中,遇到更改Model类以后,运行程序就会出现数据已更改的问题导致调 ...

  9. 概念:详细讲解url和路由概念

    例如:一个网址为 http://www.abc.com/aa 定义:/aa = bb/cc/dd 那么:http://www.abc.com/aa就是一个url,那么我们可以得出:网址=url 而当我 ...

  10. My First Blog in Cnblogs

    终于打算从csdn搬到博客园了 虽然在csdn只写过三篇文章,不过打算写第四篇的时候发现原先的三篇都消失了.联系客服最终还是找回了,不过对于csdn神奇的管理方式还是不放心,也没在csdn上再写过文章 ...