bzoj 3310: [Usaco2013 Nov]Empty Stalls

xiaoxiao2021-02-27  239

→题目链接←

看那个著名的“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; }

转载请注明原文地址: https://www.6miu.com/read-10320.html

最新回复(0)