tg 59

说明:这一场由于出题人是懒的,数据比随的还像随的,所以乱搞是能过的
改题人是懒的,所以直接乱搞过的,乱搞写上去就是个乐呵

T1

签到题?
显然是否毕业和\(a_1\)\(rank\&\)刷的人数\(b_i\)有关
如果上一轮\(rank_{i-1}<b_i\)那不就毕业了?
存在性问题考虑维护最小值
于是直接维护\(rank_{i-1}-b_i\)的最小值
如果小于\(0\)那就$Away\space From\space $ 吖李芭芭\((O)\)
单点修改就是对于\(x\)以后的年份直接加减\(1\)分讨
如果新来一个比\(a_0\)差但是原来比\(a_0\)号就加
否则就是减

T2

预设型\(DP\)
考场上猜出来是对的但是理解不深没推出来

对于这种预设型\(DP,\)
传统的做法是直接枚举空位/间隙
然后考虑通过间隙维护的信息转移

考虑设\(f_{i,j}\)表示在手开\(i\)台电脑以后有\(j\)个连续段的方案数
注意这里不要求每段长度

\(1.\)新开一个段,
\(f_{i-1,j-1}\)转移过来,总共\(j\)个位置

\(2.\)延续一个段
\(2.1\)\(f_{i-1,j}\)转移过来,总共\(2\cdot j\)个位置
\(2.2\)考虑自开,从\(f_{i-2,}\)转移过来,这个时候还有\(2\cdot j\)个位置

\(3.\)合并一个段
\(3.1\)合并一个区间跨度为\(2\)的段
\(f_{i-2,j+1}\)转移过来
每个空区间有两种方案,总共\(j\)个空区间,方案数\(2\cdot j\)
\(3.2\)合并一个区间跨度为\(3\)的段
\(f_{i-3,j+1}\)转移过来
每个空区间有\(1\)种方案,总共\(j\)个空区间,方案数\(j\)

T3

由于出题人是懒的,数据比随的还像随的,所以乱搞是能过的
直接搜就好了

正解:考虑用类似后缀数组求法的倍增思想
发现每次排序第一关键字是原排名,第二关键字是原排名 \(xor\space w\)

T4

Subtask 2构造方式不一样直接送命

乱搞手段很多
比方说面向样例编程
竖着看表即可
加个关于Subtask 2的特判就可以过

正解粘个图
image

posted @ 2022-10-06 21:34  2K22  阅读(15)  评论(0)    收藏  举报