bzoj3668: [Noi2014]起床困难综合症

Posted AKCqhzdy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj3668: [Noi2014]起床困难综合症相关的知识,希望对你有一定的参考价值。

今天状态真的是不一般的差。

LCT动态维护最大生成树没调出来,费用流又没写出来。

结果这道煞笔贪心都要重构一次代码才能A

--------------

然后做法其实很简单,逆向枚举每一个位,判断当前位经过一连串的运算后能否为1。当前位的值分0和1两种情况。

 

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
char ss[10];
int main()
{
    int n,m,x;
    scanf("%d%d",&n,&m);
    
    int A=0,B=(1<<30)-1;
    for(int i=1;i<=n;i++)
    {
        scanf("%s%d",ss+1,&x);
        if(ss[1]==A) A&=x, B&=x;
        if(ss[1]==O) A|=x, B|=x;
        if(ss[1]==X) A^=x, B^=x;
    }
    int now=0,ans=0;
    for(int i=30;i>=0;i--)
    {
        int k=(1<<i);
        bool a=(A&k),b=(B&k);
        if(a==false&&b==false)continue;
        else if(a==true)ans+=k;
        else if(now+k<=m)now+=k,ans+=k;
    }
    printf("%d\n",ans);
    return 0;
}

 

以上是关于bzoj3668: [Noi2014]起床困难综合症的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ_3668_[Noi2014]起床困难综合症_贪心

BZOJ3668:[NOI2014]起床困难综合症——题解

BZOJ3668: [Noi2014]起床困难综合症

[BZOJ3668] [Noi2014] 起床困难综合症 (贪心)

刷题BZOJ 3668 [Noi2014]起床困难综合症

bzoj3668: [Noi2014]起床困难综合症