2022.10.16 ZRnoip10连day5
1.时间安排
8:30~9:30
先看了一下4题,T1是简单题,T2计数DP,T3数位DP,T4数据结构。
直接开T1,先打了暴力 \(n^2\)。
感觉这东西没法优化,应该是性质。一开始以为只要左右两边有相同质因子就有解,后来到9点开T2的时候突然发现假了,构了组数据果然错了。
思考另一种方式,枚举所有质因子,把含有这个质因子的数拿出来,相邻的连一条边,跑dfs,搜到n个点就是有解。
大样例没问题,随机数据对拍也没问题。
(但其实是假的,虽然过了原题数据)。
9:30~10:30
推T2DP,一开始没考虑同一行或一列有限制时会影响其他的,DP假了。
然后就先从最暴力的DP开始想,设置 \(dp[i][j]\) 表示前i个左括号已经匹配的j个的方案,方案是能DP出来,但是不会计算答案。
设计了好久计算答案的方程,都不对,已经1h左右了,先挑了。
10:30~11:00
把T3的20分暴力写了。
11:00~11:30
把T4的20分暴力写了。
11:30~11:50
把T3n=1的数位DP写了,加上前面一共30分。
11:50~13:00
回头来发现是自己智障错误循环变量打错导致T2答案不对,\(n^5\) 暴力没问题。
优化的时候想可以左括号右括号独立计算贡献,最后再拼起来,就可以 \(n^3\) DP。
很遗憾,到最后都没调出来大样例,系数配的有问题。
result:
T1:100(97) T2:30 T3:30 T4:30
2.简要题解
T1:
实际上直接用个栈或者并查集维护就好,当前的能和栈顶合并就合并,合并后暴力检查栈顶能不能和栈里下一个元素合并,因为总合并不超过n-1次,复杂度正确。
T2:
思路正确,因为系数问题没调出来,赛后调出来过了。
T3:
组合数转成多项式再数位DP,还不会。
T4:
根号分治+树套树,还不会。
3.反思
1 .犯了致命的循环变量打错的低级错误,导致有30min时间浪费在查正确代码的错上,来不及调试正解。
2 .T1想太多了,这种简单题往往不需要特别复杂的算法,就像之前的某场T1只需要加起来再排序。

浙公网安备 33010602011771号