NOIP2024模拟赛27 | 选手只有 T4 AC

又是高一 rk7。这场大众分太高了。我以为有很多人过 T4 的。

80(95)+80+45(55)+100,sy 机子太慢了。


T1:

场上只想出来 \(A^{1/4}\log^2A\) 的单次做法,只有 80。即枚举小的那个底数。

结论:满足条件的数可以表示成 \(a^2b^3\)

???

这样直接枚举 \(\min (a,b)\le 4000\) 的质因子就做完了啊。

考虑证明。先排除一个质因子次数是 1 的情况,一定不行。设 \(x=\prod a_i^{p_i}(p_i\ge 2)\)

注意到所有 \(p_i\ge 2\) 都可以拆分成若干个 2 和 3 的和。所以就做完了。

T2:

优秀的爆搜可以获得 80 分。我以为正解不是指数复杂度……

数据范围在指数以上,但仅仅略大于指数时,可以考虑推导题目性质,减小指数大小。如将 \(O(2^n)\) 通过性质优化到 \(O(2^{n/k})\)

不要轻易相信大样例。过了极限不要激动。不会轻易得满分。还是多想一下有没有优化的余地。

考虑建图:\((i,p_i)\)。由于此题中 \(p_i\) 是排列,所以不会出现基环树的情况,都是环。显然环内独立。

注意我们最后还要判断是否符合括号序列。

分析性质发现如果选择了 \((i,p_i)\) 的边,那么 \(p_i\) 就是右括号了(度数为 1,已经有 1 了,不可再选边),一定不能选 \((p_i,p_{p_i})\) 的边。这样下去一定是交替选取的。并且为了有解,环长一定是偶数。所以我们枚举每个环可能得两种状态并判断合法,复杂度 \(O(n2^{n/2})\)

还是不行,考虑 \(n=2\) 的环。容易发现此时贪心是正确的。那么剩下的环长痘大于等于 4 了。复杂度 \(O(n2^{n/4})\)

T3:

拼尽全力没能想到莫队的部分分,要不然直接 65。还好左最后把 A 调出来了。becoder 上平方过了 5e4。

中途尝试写 ODT 结果 CE 了。原来是 lower_bound 写错了。。。

正难则反。考虑那些不会出现在答案里面的数。怎么想到的?我想了半小时正方向没有战胜。

把条件拿出来:(假设要看颜色 \(c\)

  • 所有 \(c-1\) 的位置都不在区间 \([l,r]\) 中。

  • 所有颜色 \(c\) 的位置都在区间 \([l, r]\) 中。

有一个 trick 是提前把修改和询问放进 x 维,扫描线的时候一起处理即可。复杂度线对,常数约 6。

T4:

做了半小时不到?但是花了半小时把 long long 变成 int 来省空间。硬是没想到滚动数组。

钦定操作序列按照 \(l\) 排序,最后只需要乘上 \(n!\) 即可。

定义 \(dp(i,j)\) 表示操作完成前 \(i\) 个位置,给后面的操作还有 \(j\) 个时的方案数。转移直接枚举 \(i+1\) 的操作和前面结合了多少个。复杂度 \(O(\sum (preb_i)^2)\) 卡卡常就过了。

组合系数说一下。首先肯定要 \(j\) 个里面选 \(k\) 个。以及当前位置给后面产生的新的操作个数 \(a(i)-k\)。由于我们的排序方式当 \(l\) 相同时重复了,所以要除以 \((a_i-k)!\)其实更多的是直觉

posted @ 2024-11-13 22:18  LCat90  阅读(8)  评论(0编辑  收藏  举报