zoukankan      html  css  js  c++  java
  • 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
    ",ans);
        return 0;
    }
  • 相关阅读:
    python bif 如何自学
    python萌新应知应会
    Animation
    响应式布局
    浏览器兼容
    HTML基础
    SublimeText 3 Emmet Hot Keys
    Web大前端环境搭建
    Sublime Text 运行js
    bash脚本编程基础
  • 原文地址:https://www.cnblogs.com/AKCqhzdy/p/8516460.html
Copyright © 2011-2022 走看看