zoukankan      html  css  js  c++  java
  • csp-s模拟106

    T1:
      区间dp即可
     
    T2:
      考虑枚举最后一步是用哪颗药爬的,然后其他的药贪心的按(a-b)选择即可
      有两条思路:

      一条是考虑优化贪心选择的复杂度,
      发现删去一个药之后后面的药都会向前一位,推推式子,预处理一个错位的信息就可以二分找到最多可以活到第几天
      复杂度(O(nlogn))

      另一条是考虑减少每次重算的冗余:
      发现指针是单调的,考虑线段树分治,每次加入一些药,单调移动指针即可
      回退时只需要删除一些药,指针(O(1))的跳回分治中上一层记录的位置,即可保证复杂度
      用线段树维护当前的药,复杂度(O(nlog^2n))
     
    T3:
      首先显然的是行列为点,交点为边建图(这不网络流吗?)
      然后考虑对图上的点黑白染色,表示选择或不选择,若有冲突,则无解(注意多测无解不要直接return!!!)
      否则考虑每个连通块,设其中染黑色的点有a个,染白色的点有b个,我们把这样的连通块叫做(a,b)连通块
      考虑黑白点其实是可以交换的,但一旦选择之后就不能再改变该连通块策略
      那么考虑两人的博弈,用SG函数解决
      对于(奇,奇)连通块,它一定会转移到必败状态(偶0),所以SG值为1
      对于(奇,偶)/(偶,奇)连通块,它既可以转移到必胜(奇1),又可以转移到必败(偶0),所以SG值为2
      对于(偶,偶)连通块,它只能转移到必胜状态(奇1),所以SG值为0
      把所有SG值异或起来看是否是0就行了

  • 相关阅读:
    14-快速排序
    linux上挂在windows的共享文件系统,大小写不敏感
    【mount】linux挂共享盘
    监控windows服务或者进程
    自定义时间间隔
    示例
    filebeat
    kafka
    文档碎片
    简单DOM操作
  • 原文地址:https://www.cnblogs.com/Gkeng/p/11843653.html
Copyright © 2011-2022 走看看