bzoj 3310: [Usaco2013 Nov]Empty Stalls
2017-08-04 22:15
387 查看
→题目链接←
看那个著名的“USACO被虐记”说的是按照题意搞一搞就好了
但是无比之弱的我还是T了两发
按照题意暴力搞什么的都是骗人的qwq
不能每次都暴力处理每个牛
先把所有的牛都安放在他喜欢的位置上
然后从头到尾最多扫两边就好了
因为保证牛的数量至多为n-1
每次把多的牛往♂后♂搞
一个很弱的代码:
看那个著名的“USACO被虐记”说的是按照题意搞一搞就好了
但是无比之弱的我还是T了两发
按照题意暴力搞什么的都是骗人的qwq
不能每次都暴力处理每个牛
先把所有的牛都安放在他喜欢的位置上
然后从头到尾最多扫两边就好了
因为保证牛的数量至多为n-1
每次把多的牛往♂后♂搞
一个很弱的代码:
#include<iostream> #include<cstdio> using namespace std; int n,k; int f[3000030]; void cal(int x,int y,int a,int b){ int num=b; for(int i=1; i<=y; i++){ num+=a; num%=n; f[num]+=x; } } int main(){ scanf("%d%d",&n,&k); for(int i=0; i<k; i++){ int x,y,a,b; scanf("%d%d%d%d",&x,&y,&a,&b); cal(x,y,a,b); } for(int i=0; i<n-1; i++)if(f[i]>1)f[i+1]+=f[i]-1,f[i]=1; if(f[n-1]>1){ f[0]+=f[n-1]-1,f[n-1]=1; for(int i=0; i<n-1; i++)if(f[i]>1)f[i+1]+=f[i]-1,f[i]=1; } for(int i=0; i<n; i++){ if(!f[i]){ printf("%d\n",i); return 0; } } return 0; }
相关文章推荐
- [bzoj3312][Usaco2013 Nov][DP]No Change不找零
- bzoj 3312: [Usaco2013 Nov]No Change
- BZOJ3314: [Usaco2013 Nov]Crowded Cows
- BZOJ3312: [Usaco2013 Nov]No Change
- BZOJ3312: [Usaco2013 Nov]No Change
- 【BZOJ】3314: [Usaco2013 Nov]Crowded Cows(单调队列)
- 【BZOJ】3314 [Usaco2013 Nov]Crowded Cows (多种解法)
- BZOJ 3314: [Usaco2013 Nov]Crowded Cows( 单调队列 )
- 【BZOJ】3315: [Usaco2013 Nov]Pogo-Cow(dp)
- bzoj3312 [Usaco2013 Nov]No Change
- bzoj3312[Usaco2013 Nov]No Change 状压DP
- 【bzoj3312】[Usaco2013 Nov]No Change 状态压缩dp+二分
- BZOJ 3315: [Usaco2013 Nov]Pogo-Cow( dp )
- 【BZOJ3312】[Usaco2013 Nov]No Change 状压DP+二分
- BZOJ3315: [Usaco2013 Nov]Pogo-Cow
- 【bzoj3315】[Usaco2013 Nov]Pogo-Cow
- Bzoj3315 [Usaco2013 Nov]Pogo-Cow(luogu3089)
- bzoj1619[Usaco2008 Nov]Guarding the Farm 保卫牧场
- [BZOJ3050][Usaco2013 Jan]Seating(线段树)
- BZOJ 4094 [Usaco2013 Dec]Optimal Milking 线段树