没有什么前言?直接进入正题qwq

俩俩异或 求最值:

建trie树

O(n)枚举每个数找这个数的最值,每次反走就成,还可以剪枝一波(如果在某位已经小于ans显然可以直接return?

void Insert(int val)
{
    ;
    <<;i>=;i>>=)
    {
        :;
        if(!ch[x][to]) ch[x][to]=++node;
        x=ch[x][to];
    }
}
//建树,懒得说

int Que(int val)
{
    ,bs=;
    <<;i>=;i>>=)
    {
        :;
        ]) x=ch[x][to^],bs+=i;
        else x=ch[x][to];
    }
    return bs;
}
//查询,懒得说

;
;i<=k;i++)
{
    Ans=max(Ans,Que(A[i]));
    Insert(A[i]);//就想说下因为a^b b^a结果一样所以我们可以边查询边加点,over
}
cout<<Ans<<endl;

//对了这个并不是自己的代码鸭...有时间自己坐下典型题然后把自己代码放上来qwq

代码在这儿!

俩俩或 求最值:

还没懂,在网上也没找到什么学习笔记?只能硬啃今天考试的代码尝试理解QAQ等我理解了再回来写QAQ

ummm先推翻我的一错误想法,是这样的:

我选一个最大的,肯定不会更劣,所以我就选最大的然后再O(n)算一遍它和每个数的或起来的值就可以了

然后成功hack掉了:110010 100001 011110 此时显然选后俩更优不应该选max

所以还是乖乖学正解去趴qwq

;i<=k;i++) f[A[i]]=;//A[i]:原来的所有数
;p<=(<<);p<<=)
    <<)-;i>=;i--);//如果能构出i 并且 i和p有交集 那么i^p就也能构造出来?ummm还是没懂x
;
;i<=k;i++)
{
    ;
    <<;p>=;p>>=)
        if(!(A[i]&p))if(f[bs|p]) bs|=p;
    Ans=max(Ans,bs|A[i]);
}
cout<<Ans<<endl;

先放个保证正解的代码qwq

然而事实是这个代码我还是没懂啊...没办法先放上来然后有空想想在NOIp前回来填坑趴QAQ

俩俩并 求最值:

从高位到低走,若这位有>=2个1则可以是1然后暴力把所有这位不是1的数全删了,直接暴力走一遍

; i<=k; ++i)a[].push_back(atk[i]);
; p; --p)
{
    ;
    ; i<tot; ++i)) ++cnt;
    ); i<tot; ++i)) a[p-].push_back(a[p][i]);
            ; i<tot; ++i)a[p-].push_back(a[p][i]);
}
].size(), cnt=;
; i<tot; ++i)][i]&)++cnt;
)
{
    cnt=;
    ; i<tot; ++i)
        ) break;
        else
            ][i]&)
            {
                ]=a[][i];
                ]&=a[][i];
                ++cnt;
            }
}
]=a[][]&a[][];
printf(]);

还是比较好理解的趴我觉得?就懒得放注释了qwq

多个异或 求最值(还没学会qwq待补充):

线性基经典问题了,但是我线性基还没学会?等学会了把主要思想放线性基学习笔记里这里就放个模板代码趴qwq

位运算求最值 学习笔记 (待补充QAQ)的更多相关文章

  1. [note]一类位运算求最值问题

    [note]一类位运算求最值问题 给定一些数,让你从中选出两个数a,b,每次询问下列中的一个 1.a and b的最大值 2.a xor b的最大值 3.a or b的最大值 神仙们都是FWT,小蒟蒻 ...

  2. STL库学习笔记(待补充QAQ

    几百年前就说要学STL了然后现在还没动呢QAQ总算还是克服了懒癌决定学下QAQ 首先港下有哪几个vector listset map stack queue,大概就这些? 然后因为有几个基本操作每个都 ...

  3. C语言学习笔记之位运算求余

    我们都知道,求一个数被另一个数整除的余数,可以用求余运算符”%“,但是,如果不允许使用求余运算符,又该怎么办呢?下面介绍一种方法,是通过位运算来求余,但是注意:该方法只对除数是2的N次方幂时才有效. ...

  4. c语言小技巧:C语言学习笔记之位运算求余

    我们都知道,求一个数被另一个数整除的余数,可以用求余运算符”%“,但是,如果不 允许使用求余运算符,又该怎么办呢?下面介绍一种方法,是通过位运算来求余,但是注 意:该方法只对除数是2的N次方幂时才有效 ...

  5. 通过位运算求两个数的和(求解leetcode:371. Sum of Two Integers)

    昨天在leetcode做题的时候做到了371,原题是这样的: 371. Sum of Two Integers Calculate the sum of two integers a and b, b ...

  6. 用位运算实现四则运算之加减乘除(用位运算求一个数的1/3) via Hackbuteer1

    转自:http://blog.csdn.net/hackbuteer1/article/details/7390093 ^: 按位异或:&:按位与: | :按位或 计算机系统中,数值一律用补码 ...

  7. 莫队学习笔记(未完成QAQ

    似乎之前讲评vjudge上的这题的时候提到过?但是并没有落实(...我发现我还有好多好多没落实?vjudge上的题目还没搞,然后之前考试的题目也都还没总结?天哪我哭了QAQ 然后这三道题我都是通过一道 ...

  8. Python运算和和表达式 学习笔记

    光荣之路Python公开课第二讲 Python运算符和表达式. 一 Python运算符 Python运算符包括 算术运算符,赋值运算符,位运算符,逻辑运算符,身份运算符,成员运算符. 1. 算术运算符 ...

  9. hdu 4336 Card Collector (概率dp+位运算 求期望)

    题目链接 Card Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

随机推荐

  1. Nginx SSL配置

    一.SSL 原理 ① 客户端( 浏览器 )发送一个 https 请求给服务器② 服务器要有一套证书,其实就是公钥和私钥,这套证书可以自己生成,也可以向组织申请,服务器会把公钥传输给客户端③ 客户端收到 ...

  2. Ajax 分析方法

    我们如何查看到 Ajax 请求: 以 https://m.weibo.cn/u/2830678474 这个网页为例,按 F12,加载网页,然后选择资源类型为 XHR 的就可以看到 Ajax 请求了 我 ...

  3. Android--Led_Demo_APK控制LED灯

    下面代码主要实现接口定义,实现从.so库文件接口函数在JAVA里面的声明:package com.friendlyarm.AndroidSDK; import android.util.Log; pu ...

  4. Elastic Search 5.4.3 java api 入门

    首先介绍一点,es的版本从之前的2.x跳跃到5.x,很多插件要保持一致,不然会产生很多版本不兼容的问题. 首先看一个demo先熟悉一下, 具体代码在git服务器上: https://github.co ...

  5. 给TextView加上多彩效果:改变部分字体的大小和颜色

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18363899 前言 在实际使用中,有时候会遇到特殊需求,比如pm突发奇想,想 ...

  6. AngularJS的表达式、指令的学习(2)

    最近没有那么忙,就来系统学习一下AngularJS吧,昨天简单的认识了一下,今天就从表达式入手吧,嘿嘿. 一.AngularJS 表达式 AngularJS表达式写在双大括号内:{{expressio ...

  7. DataGridview的自动排序设置

    如图,自动排序是每一列的属性,而不是整个datagridview的属性,之前一直在datagridview的属性中找不到,原来是在列的属性中

  8. thinkphp5.0 输入变量

    可以通过Request对象完成全局输入变量的检测.获取和安全过滤,支持包括$_GET.$_POST.$_REQUEST.$_SERVER.$_SESSION.$_COOKIE.$_ENV等系统变量,以 ...

  9. WP8.1学习系列(第十二章)——全景控件Panorama开发指南

    2014/6/18 适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1 全景体验是本机 Windows ...

  10. 【MySQL】 Cannot load from mysql.proc. The table is probably corrupted

    解决办法 在 mysql 这张表里边.执行sql ALTER TABLE `proc` MODIFY COLUMN `comment` text CHARACTER SET utf8 COLLATE ...