CSPS模拟 49

  连续退步2333

  我怎么这么不稳啊2333

  看看人家大敛,天天AK

  

  考后改了改sb错误就变40+80+100了...

  但愿我的实力还在?

  T1 养fa

    拿到题心想,这次一定把T1切了

    开始研究这个见了花会喜悦的小C

    这..模意义下的最大值?

    开始想数据结构..

    这这这最值不具有可减性啊

    这这这也没法处理所有k的答案啊

    (去世)

    分块也成正解了?QWQ

    虽然没法使每个询问都O(1)出结果

    但是可以平衡一下预处理和询问的复杂度

    比如根号复杂度还是可以接受的

    比如分块,处理每个块对于每个k的答案还是比较简单的

    查询的复杂度也是根号可以接受

    

    所以当遇到非常吃屎的信息处理的时候

    利用好分块这个工具...

  T2 折射

  

    按y排序不是不可以,但是会被卡空间

    不过可以通过特殊的压空间技巧水过这个题..

    吃屎的一套题.......

    如果不压空间,就得按x排序,那么设f[x][0]为向左下拐的方案数,1为右下

    从左往右插点

    由于当前枚举的i是最靠右的点,那么他

    1.顶端,向左下折一下然后从拐点向右下折一下

    2.一个拐点,从左边更高的某处折过来然后向左下折一下

    从左向右枚举i,从i-1向左枚举j

    如果i比j高一些,那么j可以作为i向左下拐的一个选择,$f[i][0]+=f[j][1]$

    否则i可以作为j向右下拐的一个选择,由于此时也保证i向左下拐的位置仍在j右边(ij之间),$f[j][1]+=f[i][0]$

    初始化$f[i][0]=f[i][1]=1$,因为如果此点合法,同样可以停在这里而不必向左(右)下拐到其他点

    最后$ans-=n$,由于上边的初始化导致只选一个点的方案被统计了2次

  T3 画作

    如果想到 对着一个点猛操作一定包括最优解 ,那么n^4的算法很好写了

    不会证明,纯属瞎猜:

      如果有若干个分散的黑块,把它们一个个逐一涂上不如先涂白块把他们沟通起来,然后一并消灭

      如果上一轮消灭了一些黑块,下一轮也一定是从那里开始,因为那里显然更加地“开阔”,能沟通更多的黑块

      或者,第一轮消灭了一个“触角”十分繁多的黑块,也可以使场地更加地“开阔”,为最优解铺路

      可以枚举初始状态的每一个联通块,暴找最优解

    对了,bfs请把起点的标记设成1,不然真的可能掉你100分

猜你喜欢

转载自www.cnblogs.com/yxsplayxs/p/11565895.html