T1:spa
断环成链并复制一倍,而后区间DP。排序
设状态为合并区间$[l,r]$的最大得分。查询
时间复杂度$O(n^3)$。时间
T2:
最后一次向上爬不会滑下来,因而能够枚举最后一次吃的药丸。枚举
将全部药丸按照$A-B$排序,每次贪心地选择最大的几个值,二分出到达的天数。
还须要判断中间高度是否严格大于$C$,若是不是,那么不能成功登顶。
若是枚举的药丸不在前几个最大值中,直接用ST表查询$A-B-C$的最小值是否小于0;
其余状况下,后面的数值会错位,再维护一个错位的ST表便可。
时间复杂度$O(nlogn)$。
T3:
由于两我的都要使本身的得分最大,因而若是有一种翻转方式能使棋子全都正面向上,对手必定会无条件地帮忙。
因此先判断可否让全部棋子都正面向上。
将全部行列看作点,棋子看做边,正面棋子所在行列合并,反面棋子所在行列连边。
这样每条边两侧的状态都不一样。
二分图染色就能够判断,而后根据$(n+m)$奇偶性判断$0/1$。
而后根据奇偶分层,算出一个连通块的两个$si$。
若是一个块为偶偶,那么这个块没有任何做用,由于不管如何都会抵消掉。
若是一个块为奇奇,那么前后手交换。
若是一个块为奇偶,先手能够控制本身下一次做为先手仍是后手 。
若是奇奇块的个数奇数,先手必定能够变为后手,先手必胜。
其他状况下若是奇偶块的个数为奇数,先手控场,必胜,反之先手必败