zoukankan      html  css  js  c++  java
  • 省选模拟101

    A. 石子游戏

      容易发现答案大约是log级别的,然后可以考虑一个暴力dp,记录当前一共选择了几个。

      发现dp的转移顺序并不是必要的,而重复的转移也一定不优,所以可以考虑将所有状态放到一起转移,然后就可以fwt来优化了。

      fwt的过程中不用每次都转化回去,直接用点值展开一项就可以判断有没有解。

    B. 函数

      是一种叫做powerful number的奇怪东西的模板题。

      定义就是所有质因子的幂次不小于2。然后令$f=g*h$,其中$g(x)=x^k$,那么由于$h=f/g$,所以h也是积性函数,展开f在质数处的取值可以的得到h在非power number处的取值一定为0。

      然后问题就是求出来h在所有powerful number处的取值,归纳可以得到$h(x)=x^k-x^{2k}$。

      由于符合条件的数的个数很少,所以暴力搜索出来然后对于每个都计算贡献就行了。

    C. 画

      假如不存在限制,那么找到所有数最高的二进制位,将所有数根据这一位为0或1分成两组。然后分情况讨论:

      1.若为1的一组这一位全部填1,那么向下递归。

      2.若为1的一组有任意一个数这一位不是1,那么其他数只要满足了最高位的限制,低位不管怎么填都可以由这个数调整。

      所以第一部分向下递归,第二部分暴力dp统计答案。

      考虑限制,就整个容斥,钦定不满足的边集统计贡献。由于边集很大,所以考虑钦定整个点集相同,然后计算边集的方案数进行容斥。边集的方案数可以通过减去不合法的得到。

      然后用dp将这些点集的连通块拼到一起即可。

      考虑这个dp,发现我们要计算贡献只需要知道大小为奇数的连通块的$limit$最小的点,所以将所有这样的点压到状态里。

      为了计数方便,我们钦定转移必须包含剩余集合中$limit$最小的点。然后暴力进行转移。复杂度看似很迷,实际上还是正确的。

  • 相关阅读:
    yum -y install python-devel
    安装xampp之后报错XAMPP: Starting Apache...fail.
    mysql 监控及优化——转载自http://www.cnblogs.com/suansuan/
    jmeter做http请求时报错
    soapui打开即报错------连接不上Internet
    jmeter遇到的问题:java.net.ConnectException: Connection refused: connect
    idea常用设置汇总
    intellij idea参数提示param hints
    intellij高亮字体背景颜色
    idea去除mybatis的xml那个恶心的绿色背景
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12926623.html
Copyright © 2011-2022 走看看