\(4.4\)省选练习
\(T1\)
很能递推的样子,模数一眼\(NTT,\)那么大概就是乘上一个转移多项式了
我们要求多少个被染色的块权值
考虑每一维分开处理,假设我们现在得到了前\(i-1\)维度的状态,我们现在增加一个维度
然后分成两种情况
\(a_i\neq 1,f[i]=f[i-1]\times 2,f[i]=f[i]\times(a_i-2)\)
\(a_i=1,f[i]=f[i-2]\)
直接分治\(NTT\)即可
\(T2\)
来自\(HH\)的\(nb\)乱搞能过算法和正解
乱搞\(:\)对于序列建立\(KD-Tree...\)然后暴力递归即可,维护最大的\(k,\)最大的\(b\)暴力递归即可(超好写)
正解\(:\)分块加李超树(超难写)
\(T3\)
直接\(dp\)吧
\(dp[i][j]\)表示操作了\(i\)次,还有\(j\)个盒子没有糖果的期望数量
必然倒推
预处理出两个的概率,然后分别转移,然后从每个状态转移累加一下就好了
\(dp[i][j]=\max(dp[i-1][j],\sum_k(f[i-1][k]+c)\times a[k],\sum_k(f[i-1][k]+c)\times b[k])\)