学军信友队趣味网络邀请赛题解

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

不会(暴论)

posted @ 2020-04-06 21:51  gmh77  阅读(655)  评论(0编辑  收藏  举报