20231006NOIP训练赛
20231006NOIP训练赛
时间安排
7:40-8:40 写T1
8:40-9:35 写T2暴力
9:35-11:40 写T3暴力
10:40-11:30 写T4暴力
总结
T3忘取模了
题解
T1
线段树二分 其实正解是双指针之类的
T2
区间DP,设\(f_{l,r}\)表示使用l到r这段区间的数字和符号的所有情况的答案和
加号
\[f_{l,r} = C_{r-l}^{k-l} * \sum_{k=1}^{r-1} f_{l,k} * (r-k)! + f_{k+1,r} * (k-l)!
\]
减号
\[f_{l,r} = C_{r-l}^{k-l} * \sum_{k=1}^{r-1} f_{l,k} * (r-k)! - f_{k+1,r} * (k-l)!
\]
乘号
\[f_{l,r} = C_{r-l}^{k-l} * \sum_{k=1}^{r-1} f_{l,k} * f_{k+1,r}
\]
T3
打表题,通过打标发现合法方案要么是每一列黑白或白黑交替,要么是每一行黑白或白黑交题。
我们翻转\((i+j) \% 2==0\)的,发现合法方案变成每一列颜色相同或每一行颜色相同
T4
根号分治
当\(k \leq sqrt(n)\) 是,直接暴力dp
当\(k > sqrt(n)\)时,使用一遍树上背包统计出答案