【NOI2014】起床困難綜合癥 位運算+貪心
阿新 • • 發佈:2017-06-13
困難 hide 答案 none har class gif pre 位運算
這道題先求出0和-1經過處理後的答案 具體看代碼吧
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int v0=0,v1=-1,ans,av,n,m,x; int main() { char ch[15]; scanf("%d %d",&n,&m); for(int i=1;i<=n;i++){ scanf("%s %d",ch,&x); if(ch[0]==‘A‘) v0&=x,v1&=x;View Codeelse if(ch[0]==‘O‘) v0|=x,v1|=x; else v0^=x,v1^=x; } for(int i=(1<<30);i;i>>=1){ if((v0&i)<(v1&i)&&ans+i<=m) ans+=i,av+=i; else av+=i&v0; } printf("%d\n",av); return 0; }
【NOI2014】起床困難綜合癥 位運算+貪心