44424742 发表于 2013-1-26 13:37:55

poj2978——Colored stones

dp的解法总是那么给力,而我却仍不给力!!!为什么?
......
不多说,继续dp!
#include<iostream>#include<cstdio>using namespace std;const int pow={1,2,4,8,16,32};int m,k,x;int dp;int main(){int s,i,c;while(cin>>m>>k&&m!=0&&k!=0){for(i=1;i<=m;i++){cin>>x;x--;}for(s=0;s<pow;s++){for(c=0;c<k;c++)dp=0;//初始化}for(i=1;i<=m;i++){int t=x;for(s=pow-1;s>=0;s--){for(c=0;c<k;c++)dp=dp;if((s&pow)!=0)//不属于s集合,此处的&用得很巧妙!!!dp=dp+1;else {int ss=s+pow;for(c=0;c<k;c++){if(dp<dp+1)dp=dp+1;}}}}int max=0;for(s=0;s<pow;s++){for(c=0;c<k;c++)if(max<dp)max=dp;}cout<<(m-max)<<endl;}return 0;}
页: [1]
查看完整版本: poj2978——Colored stones