题目大意:

经过几个月的排练,奶牛们基本准备好展出她们的年度舞蹈表演。今年她们要表演的是著名的奶牛芭蕾——“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的最小值。

————————————————我是分割线————————————————

这道题。。裸的二分啊,,,

每次把时间最少的一个舞台从优先队列中拿出来,然后加上当前数组塞进去就好了,然后check一下。。

但是注意!本题在塞得时候一定要判断一下当前值加上数组值有没有超过t_max,否则会WA。。

虽然我不知道这是为什么,可是自己出数据后就是会挂。。

下面贴代码

#include<cstdio>
#include<queue>
#define max(a,b) ((a)>(b)?(a):(b))
#include<vector>
using namespace std;
int n,t;
int a[];
int ans;
struct cmp1{
bool operator ()(int &a,int &b){
return a>b;
}
};
priority_queue<int,vector<int>,cmp1>q;
bool check(int num){
int tmp;
for(int i=;i<=num;i++)q.push(a[i]);
for(int i=num+;i<=n;i++){
tmp=q.top();
q.pop();
tmp+=a[i];
if(tmp>t)return false;
q.push(tmp);
}
tmp=;
for(int i=;i<=num;i++)
{
int tt=q.top();
q.pop();
}
return tmp<=t;
}
int main(){
freopen("dance.in","r",stdin);
freopen("dance.out","w",stdout);
scanf("%d%d",&n,&t);
for(int i=;i<=n;i++)scanf("%d",&a[i]);
int l=,r=n;
ans=n;
while(l<=r){
int mid=(l+r)>>;
if(check(mid))r=mid-,ans=mid;
else l=mid+;
}
printf("%d\n",ans);
fclose(stdin);
fclose(stdout);
}

Cow Dance Show的更多相关文章

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

    题目描述 After several months of rehearsal, the cows are just about ready to put on their annual dance p ...

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

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

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

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

  4. 【BZOJ1654】[Usaco2006 Jan]The Cow Prom 奶牛舞会 赤果果的tarjan

    Description The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in ...

  5. poj 3180 The Cow Prom(强联通分量)

    http://poj.org/problem?id=3180 The Cow Prom Time Limit: 1000MS   Memory Limit: 65536K Total Submissi ...

  6. poj 3180 The Cow Prom(tarjan+缩点 easy)

    Description The N ( <= N <= ,) cows are so excited: it's prom night! They are dressed in their ...

  7. bzoj1654 [Usaco2006 Jan]The Cow Prom 奶牛舞会

    Description The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in ...

  8. bzoj:1654 [Usaco2006 Jan]The Cow Prom 奶牛舞会

    Description The N (2 <= N <= 10,000) cows are so excited: it's prom night! They are dressed in ...

  9. bzoj 1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会 -- Tarjan

    1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会 Time Limit: 5 Sec  Memory Limit: 64 MB Description The N (2 & ...

随机推荐

  1. POJ:3126-Prime Path

    题目链接:http://poj.org/problem?id=3126 Prime Path Time Limit: 1000MS Memory Limit: 65536K Total Submiss ...

  2. TP-常见错误1

    1.无法加载模块 FILE: D:\wamp64\www\www.test_shop.com\ThinkPHP\Library\Think\Dispatcher.class.php LINE: 178 ...

  3. python os模块练习题

    # 1.获取某个文件所在目录的上一级目录. # 例如'D:\python\projects\test19.py'目录的结果 :D:\python\projects # 方法1 # path = os. ...

  4. Codeforces 771E Bear and Rectangle Strips DP

    题意: 一个由大写字母组成的长度为\(n(n \leq 75)\)的字符串,每次操作可以交换相邻位置的两个字母,求最少操作多少次使字符串中不出现子串VK 分析: VK之外的字母具体是什么,我们并不关心 ...

  5. web在线调试

    xx <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta h ...

  6. MyEclipse - 问题集

    1. !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench". ...

  7. 《Cracking the Coding Interview》——第9章:递归和动态规划——题目9

    2014-03-20 04:08 题目:八皇后问题. 解法:DFS解决. 代码: // 9.9 Eight-Queen Problem, need I say more? #include <c ...

  8. Flash文件在asp页面无法播放,网页上面的Flash文件在火狐浏览器不播放

    第一个问题:Flash文件放到asp页面以后无法播放. 解决方法:用浏览器打开页面->F12,选择Network,如下图: 然后刷新页面,如下图: 点击左侧状态是404的文件,如图: 可以发现F ...

  9. window.parent 、window.top及window.self 详解

    在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口. 1. window.self ...

  10. 移动APP自动化测试框架对比

    转自微信公众号:腾讯移动品质中心TMQ 移动APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化用例的大量维护.从分层测试的角度,自动化测试应该逐层进行.最大量实现自动 ...