https://contest.xjoi.net/files/20a/html/FeZGsHA6KYo9.html
T1
一图惊醒梦中人
T2
看错了两遍题
dp求最远距离
T3
设f[i][j]表示活性在区间[i,j]的期望乘上区间长(就是区间内每个数最小步数之和)
把vw做背包,用一次操作代替多次
枚举方案,如果转移过来的区间被分到若干个活性区间里就取和,这样大概是O(n^4)
把f[i][j]变成如果跨过了若干活性区间就取和,这样变成O(n^3)
强行硬点f从跨过了活性区间的状态转移过来,合法的状态只有2a[n]个,转移时用前缀和优化变成头尾+中间即可O(n^2)
T4
首先考虑h(m)等于什么
若m是奇数,则先手取1必胜
若m是2的倍数,相当于m/2的情况,先手取两个
如果对方从头到尾都取两个那么就赢了,如果对方取一个就等于2(m/2-1)的情况,只需要每次取一个即可
类推一下,当m=a*2^k时,先手取2^k个后a变成偶数
此时相当于a个的情况取一个,如果对方跟着取就能赢,如果对方把当前的1拆开就只需要把m不断乘2直到对方所选的数变成整数,此时m是偶数,对方所选的是奇数,所以只需要选当前的单位1即可,不断分割到不可分即可获胜
所以h(m)=lowbit(m)
设
答案等于
考虑枚举hi的取值
时间复杂度:
这里其实等于((1+frac{sqrt{2}}{2}+frac{1}{2}+frac{sqrt{2}}{4}...)sqrt{n})
提一下变成((1+(1+sqrt{2})(frac{1}{2}+frac{1}{4}...))sqrt{n})
等于((2+sqrt{2})sqrt{n})
关于g的计算方法: https://www.cnblogs.com/gmh77/p/12639359.html
T5
不会(暴论)