2023.9.21 考试总结

cxqghzj·2023-09-21 20:14·10 次阅读

2023.9.21 考试总结

CSP-S & NOIP#

8:23 T1大水题,大样例有一个死活过不去。

8:34 终于过了,看T2。

似乎可以直接用 x+yxy 解出 xy。但是在模意义下似乎是没法解的?

考虑极限情况,xy 都远远大于 1e18

考虑用别的方式解,但是终究没法绕开 x2y 等类似情况。

不难想到 (x2+y2)×(x+y)=x3+y3+x2y+yx2

x2y+yx2=xy×(x+y)

那我们现在就得到了一个 O(n) 的算法,可以获得 60pts.

得出: fn=fn1×(x+y)fn2×(xy)

使用矩阵快速幂,获得100pts.

9:22 过了。

看T3。

考虑该问题的子问题,对于一颗 n 个点的树,如何求其中 m 个点的最短路径。

首先求得所有点的 lca 复杂度 O(nlogn),然后求得最长的两条路径,使用树形dp,O(n)

然后对于路径上所有的点跑一遍bfs,O(n)

注意到 m2000 ,可以考虑固定这两个点,然后暴力求出答案,期望得分:75pts

考虑看 T4。

注意到 a1<a2<...<am 似乎有很好的性质。

如果把每一段新增的序列设为 1,2,3,4...m

那就会变成:

  • 1
  • 2 1
  • 3 1 2
  • 4 2 1 3
  • 5 3 1 2 4
  • 6 4 2 1 3 5

规律很显然了。

10:01 过了。

目前得分:100+100+0+100=300pts

最后2h rush一波T3。

争取拿到 75 100pts

换个思路,考虑枚举 lca, 那么我们当前的方案一定是 lca 子树内的点。

11:14 怒打157行代码。

11:59 结束了,喜提0pts.

Upd: 16:48

喜报,正解和考场思路一模一样。

CSP-J#

本来题很简单就没有在赛时写。

但是挂麻了,就补一下。

T1 随便整个 bfs 跑完即可。

T2 逆序对板子题。

T3 考虑枚举值域,对于当前点产生贡献的情况有且只有当前覆盖的区间 >k,所以拿两个 set 动态维护 k 即可。

T2 挂了10pts,T3 prl.end()>prl.begin 挂成40pts。

蚌。

posted @   cxqghzj  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示
目录