CSPS模拟 49
Posted yxsplayxs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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分
以上是关于CSPS模拟 49的主要内容,如果未能解决你的问题,请参考以下文章