做题记录整理贪心1 P1031 [NOIP2002 提高组] 均分纸牌(2022/9/9)
这题有一种状态压缩的思想
它考虑的是每次都直接从i+1个牌那里借牌过来,从而不需要去考虑多的往少的放这种问题
感觉和铺设道路这种题有异曲同工之妙
不过这个自己找一下规律也能看出来,铺设道路几乎无法从找规律这个角度找到贪心方法
启示:看到题先花个10分钟找找规律
#include <bits/stdc++.h>
#define for1(i,n,b) for(int i = n;i<=b;i++)
using namespace std;
int n,p,ji,a[100005];
int main()
{
cin>>n;
for1(i,0,n-1) cin>>a[i],p+=a[i];
p/=n;
for1(i,0,n-1) a[i]-=p;
for1(i,0,n-1)
{
if(a[i]==0)continue;
else a[i+1]+=a[i];
ji++;
}
cout <<ji;
return 0;
}

浙公网安备 33010602011771号