P3611 【[USACO17JAN]Cow Dance Show奶牛舞蹈】
想了一下还是不发以前做过的水题了,意义也不是很大,现在的话大概只有洛谷黄题以上才会收录了哦~~~
洛谷题解dalao不是P党就是优先队列,看的我作为一个新手蒟蒻好慌啊。。。
这题用二分加冒泡(你没有看错,用sort反而会超时)
先用二分决定k的值,然后判断这个k可不可行,然后继续二分,重复刚才操作
具体解释看代码:
#include<cmath>
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int n,tmax,t,l,r;
int a[],b[];//变量就不过多介绍了,大家自己看
int shu(int k){//函数,判断当前k是否可行
for(int i=;i<=k;i++){
b[i]=a[i];
}//前k个奶牛 sort(b+1,b+1+k);//排序,因为当前数组是无序的,所以用sort for(int i=k+;i<=n;i++){
if(b[k]>tmax)return tmax+;//如果当前已经超过了,就直接退出循环
b[]+=a[i];//定向思维是减去最小的时间,但未必必须这样做
for(int j=;j<=k;j++){//传说中的冒泡粉墨登场~~~此处用sort真的会超时,不信你们自己去试试
if(b[j]>=b[j-]){//如果已经在合适的位置,就退出循环
break;
}
int x=b[j];//否则交换
b[j]=b[j-];
b[j-]=x;
}
}
return b[k];//返回最大的时间
}
int main(){
freopen("cowdance.in","r",stdin);
freopen("cowdance.out","w",stdout);//这两句话当废话处理,是我在USACO主网站上交的时候加上去的
scanf("%d%d",&n,&tmax);
for(int i=;i<=n;i++){
scanf("%d",a+i);
}//读入 l=1,r=n;//二分的准备活动(- 一二三四,二二三四) while(l<r){//二分开始,在left小于(等于)right的时候执行 int mid=(l+r)/;//取中间值
if(shu(mid)>tmax)l=mid+;//如果当前k不满足要求,增大k的值
else r=mid-;//反之缩小
}
printf("%d\n",l);//输出
return ;
}
嘿嘿~~~ 如果你们Ctrl C+Ctrl V的话,会发现一个很神奇的现象:我的程序不能AC!!!
仔细看看注释,我相信你可以改出来的哦~~~
嘻嘻新人开博鼓励一下啦!!!
P3611 【[USACO17JAN]Cow Dance Show奶牛舞蹈】的更多相关文章
- 洛谷P3611 [USACO17JAN]Cow Dance Show奶牛舞蹈
题目描述 After several months of rehearsal, the cows are just about ready to put on their annual dance p ...
- [LUOGU] P3611 [USACO17JAN]Cow Dance Show奶牛舞蹈
https://www.luogu.org/problemnew/show/P3611 二分答案+优先队列 二分O(logn) 判一次正确性O(nlogn) 总体O(nlognlogn) 为了让pri ...
- BZOJ1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏
1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 5 ...
- BZOJ3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队
3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 89 Solve ...
- 3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队
3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 129 Solv ...
- BZOJ 3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队 动态规划
3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=34 ...
- 洛谷【P3612】[USACO17JAN]Secret Cow Code秘密奶牛码
我对分治的理解:https://www.cnblogs.com/AKMer/p/9728574.html 题目传送门:https://www.luogu.org/problemnew/show/P36 ...
- Cow Dance Show
题目大意: 经过几个月的排练,奶牛们基本准备好展出她们的年度舞蹈表演.今年她们要表演的是著名的奶牛芭蕾——“cowpelia”. 表演唯一有待决定的是舞台的尺寸.一个大小为K的舞台可以支持K头牛同时在 ...
- bzoj:1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏
Description 奶牛们又在玩一种无聊的数字游戏.输得很郁闷的贝茜想请你写个程序来帮她在开局时预测结果.在游戏的开始,每头牛都会得到一个数N(1<=N<=1,000,000).此时奶 ...
随机推荐
- springboot+elasticsearch 报错
错误1: .d.e.r.s.AbstractElasticsearchRepository : failed to load elasticsearch nodes : org.elasticsear ...
- feign请求远程接口时报Caused by: java.net.UnknownHostException
报错全文如下 feign.RetryableException: host10.local executing POST http://TIBMAS2-WEBAPI/tibmas2-webapi/ap ...
- linux命令详解之ls命令
ls命令概述 ls命令用于显示文件目录列表,和Windows系统下DOS命令dir类似.当执行ls命令时,默认显示的只有非隐藏文件的文件名.以文件名进行排序及文件名代表的颜色显示.当不加参数时,默认列 ...
- Acwing-100-IncDec序列(差分)
链接: https://www.acwing.com/problem/content/102/ 题意: 给定一个长度为 n 的数列 a1,a2,-,an,每次可以选择一个区间 [l,r],使下标在这个 ...
- 19.tcp_upd
# socket编程 # 01010 ethernet(你在教室的那个位置)mark ip(教室在哪,主机)子网 tcp,udp(端口)应用程序在哪 # 物理层---->数据链路层------- ...
- 【CF521C】Pluses everywhere(贡献)
题意:有一个长为n的数字字符串,要求其中插入k个加号,求所有合法表达式的和之和 0<=k<n<=1e5 思路:参考官方题解,讲的很好很清楚 字符串下标从0开始 考虑第i位d[i]的贡 ...
- AtCoder AGC036D Negative Cycle (图论、DP)
题目链接 https://atcoder.jp/contests/agc036/tasks/agc036_d 题解 这都是怎么想出来的啊..目瞪口呆系列.. 第一步转化至关重要: 一张图中不存在负环意 ...
- 自动化部署脚本--linux执行sh脚本
自动化部署脚本文件目录: 运行主程序:./install.sh #!/bin/bash SCRIPTPATH=$(cd "$(dirname "$0")"; p ...
- C++入门经典-例6.15-通过字符串函数连接两个字符数组
1:代码如下 // 6.15.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...
- gherkin
语法 The primary keywords are: Feature Rule (as of Gherkin 6) Scenario (or Example) Given, When, Then, ...