2020.04.08【NOIP提高组】模拟A 组 总结

估分:\(100 + 0 + 30 = 130\)
考场:\(100 + 0 + 10 = 110\)
\(PS\)\(T2\)的样例\(10\)分我竟然没拿。。。)

\(T1\)

线段树搞搞即可。

\(T2\)

不会,打了个神奇(样例都错了)的并查集,\(WA0\)
正解也是个并查集,我是对于当前点,合并其儿子以及儿子的儿子。
我们可以认定当前点的其中一个儿子作为并查集的这些点的根,然后合并,并将它连向每个儿子的儿子,并将其他儿子的边删去。
这样我们可以不停地合并合并再合并。最后扫一遍,对于根没有值的就赋\(++tot\),这样扫一遍就是答案了。

\(T3\)

打了个暴力,将\(n\)拆成若干个环求\(lcm\),结果没有想到\(DP\)。。。
我们可以把题目转化成,把\(n\)分成若干个数,求这些数的\(lcm\)的不同值的和。
我们可以设\(f[i][j]\)表示到了第\(i\)个质数,用了\(j\)个位置的\(K\)的和。
这样:\(f[i][j]=f[i-1][j-pri[i]^k]*pri[i]^k(1<=k\)&&\(pri[i]^k<=j)\)
对于当前质数\(pri[i]\),我们可以加入一个\(pri[i]^k\)长度的环,那\(lcm\)就要乘以\(pri[i]^k\)
这是01背包,就是我们只能选择一种来转,不然lcm就是最大的那个长度的环(对于当前质数\(pri[i]\)),不合法。

总结

对于暴力,可以尝试转化,例如转化成DP,记忆化搜什么的。。。
不会的题可以打暴力。。。或者说,我们可以先打暴力,然后打表找规律
要看准题,不然会浪费大量时间的。

posted @ 2020-04-09 22:28  jz929  阅读(129)  评论(0编辑  收藏  举报