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

    A. 老夫

      考虑按照$c$递增的顺序查找答案,那么发现需要进行的操作是区间加下标,全局最值。

      直接上分块凸包就行了。

    B. 打算

      考虑将坐标(x,y)转化成(x+y,x-y),这样就将两维独立了出来。

      对于每一维分别考虑,那么每一个限制都可以被表达成$a*L+b=x_i$的形式,$x_i$表示$i$时刻的坐标,$L$表示一个周期的位移。

      那么考虑按照时间排序,那么由两个时间相邻的限制可以解出$L$的范围,将所有取交就能得到一个合法的$L$,然后就能递推出每一个时刻的坐标。

      注意在解的区间中不一定全部合法,长度还和总时间的奇偶性有关。

    C. 报复社会

      假如字符集大小为$2$,设$f_i=cnt_{i,a}-cnt(i,b)$。

      那么一个字符串合法的条件是,所有的$f_i$属于$[-k,0],[-k+1,1],[0,k]$等区间中。

      那么枚举这个区间的左端点就可以直接dp出来,并且可以显然的用矩阵优化。

      然而这样会使一些方案算重,也就是$[-k+1,0]$等区间被算了两次,所以要减掉。

      对于更小的区间可以发现刚好容斥掉了,所以不用考虑。

      对于字符集大小为$3$的情况,可以类似的考虑,用8种情况来容斥。

      然后发现转移系数只和三个区间左端点的和或差有关,所以可以预处理转移系数。

  • 相关阅读:
    Sectong日志分析
    风暴中心
    安全趋势:
    Mysql table ful
    linux service命令常见使用方法
    client denied by server configuration
    Ubuntu配置apache
    O2O助汪峰成功逆袭,汪峰最终上头条了
    Android切图注意事项
    2014/08/23——OJ及相关站点打开速度非常慢,训练计划login直接error!
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12513463.html
Copyright © 2011-2022 走看看