zoukankan      html  css  js  c++  java
  • 雅礼集训Day4

    今天炸的1p。。。。。
    T1,给你100次询问,每次L,R,选[L,R]中的若干数进行异或,求有多少种结果,1< L <=R<=1e18.
    做法:暴力很显然是将L,R这些数加入线性基,然后算一下线性基里有多少个数。我们可以考虑线性基的每一位最早在多久被加入。这个就可以看l了,它二进制的最高位很显然是一开始就加入线性基了。然后其他位
    如果为1,很显然当他最早第二次出现时就加入了。为0的话,最早第一次出现时就加入了。
    我们先证明为0的第一次出现就加入的情况,如果第一次出现时就加入的话,很显然是最早的,所以我们只需要证明第一次出现就会加入,因为是第一次,所以之前加进来的所有数高位都是相同的,也就是说,这个数是不会因为之前的位为1而在之前就被加入的,得证。
    然后我们尝试来证明1的话最早第二次出现就加入的情况。首先当他为第一次出现时,很显然所有加入线性基中的元素中他以及比他更高的位都是一样的,然后当他这一位为0时,线性基中加入的比他高的元素只可能是比他高恰好一位的那个,并且此时这一位为0,所以加入线性基时这一位不会存在。

    T2,很显然答案为二分图最大匹配,有一个显然的结论便是:对于一个最大匹配,我们一定能找到合法方案。
    我们就可以让圆外每个点对和他合法的园内点进行极角排序,这样跑出来的方案一定是合法的!

  • 相关阅读:
    grunt 记录
    angularjs 剪贴板
    translate
    鼠标事件
    Typora书写macdown语法教程
    idea常用插件安装
    JDBC使用8.0驱动包连接mysql设置时区serverTimezone
    多服务器部署脚本
    jar包重启脚本-restart.sh
    spring-boot分环境打包为tar包
  • 原文地址:https://www.cnblogs.com/dcoi-king/p/7491416.html
Copyright © 2011-2022 走看看