游记 CCPC2023 深圳站

广东实验中学 省实信奥2队

https://vjudge.net/contest/594105

11.11

早上坐车打狼人杀。

下午是开幕式,孙教授的口才真的不错,很好笑。

然后是热身赛。

15:30 热身赛

只有三个题。

看到题目背景和格式还以为是什么省选模拟赛。。。

A

昨晚 pht 讲过这个题,直接不配 .vimrc 在赛前写好代码,但是 0:00:36 没有一血(草)

强化条件为没有奇环,考虑一个分治,左右两边连满二分图,内部的递归下去,分治大概十层左右,同一层用同一种颜色。

更加强大的,__buildin_ctz(u xor v)

B

C 看上去很难,所以我写 B,但是写着写着乱了,直接不会的,本来说秒了的。最后是黄队写的。

不等式左右两边同乘 2×10L 即可避免浮点运算。因为 pi=1,特判 p=1 之后因为 K=106 必定是一个合法答案,所以直接枚举答案。然后有一些上下界,加起来看看 K 在不在范围内。

C

看了很久,大概是什么前缀最小值右移一位,沈队想暴力数据结构维护,但是他不会。黄队没啥想法,一直假。然后我很慌。我们看到有一队 7 分钟过了 C,想是不是诈骗的。

发现我们很会询问全局:维护所有数字到 priority_queue 中,每次放一个 x 进去之后,把最小值干掉。更多的操作时,也可以这样操作,或者将所有操作的 x 全部放进 priority_queue,然后弹出同等数量的最小值,是等价的。因为后面不影响前面,所以可以将询问拆成两个前缀之差,然后离线询问,把询问的 x 插到数列最前面。

问题变成了查询区间的前 k 小值之和。任意数据结构即可(如以下标为版本,以值域为线段树信息建立可持久化线段树,查询时二分)。O(nlogn)

黄队说这个题很妙,确实很厉害!!!

热身赛结束

AK

晚上

吃饭,狼人杀,回酒店,没看无人机表演(看了拍摄图片很厉害,遗憾了),狼人杀,黄队演唱会,睡大觉。

11.12

行李神秘寄存,不能带电子产品和水。

0:00:00(9:00)

比赛开始,.vimrc 调试好了,然后三个人随机看题。

我看了一下 I,一开始以为 b 的值域很小可以直接枚举 b,特判 k=2(实际上两个都不是),声称要写,然后就在写。写的时候发现越来越假了,发现一个 (ab)|n,需要 Pollard-Rho,我们带了板子,可能会很久。

黄队说他会 A,于是马上把电脑给他写了。

赛后题解:按照值域分治,分治到 [L,R],取 mid=(L+R)/2。假设现在的 a 全是 L,将 >mid 的数字二操作加,然后统一用一操作抬到 mid+1 上,[L,mid][mid+1,R] 分治下去。

0:30:06 通过 A 题 (-1)

沈队发现榜上过了很多 F,声称是签到题,于是电脑给他写。根本没有看题。

赛后题解:直接分讨一下?

0:47:39 通过 F 题 (+)

我想清楚了 I 题,就是因为 (ab)|n,然后考虑 c=ab(b+c)kbk,展开之后有一项 bk1,因为这玩意 1018 所以 b1018k1,开 __int128。Pollard-Rho 枚举 c,二分找到 b

赛后反思:太麻烦了吧。。。

然后他们在看其他题,口胡出很多能写的题,然后喊我写快点。

1:26:58 通过 I 题 (+) 差点就一血了

L 题是一个期望 DP,一开始看了没啥思路,开了 IJKLM 然后只会 I 题(???),看了 BCD 又不会(???),非常伤心了。

沈队说了一遍他的 DP。我觉得很对,然后他就过掉了。期间写错一个模数和若干 m,k 互换。

fi 表示第 i 次操作后有多少个叶子,dpi 表示第 i 次操作后一个叶子的期望深度。每一次操作,直接考虑新的叶子们的期望深度和。

dp[i] = (dp[i - 1] * (f[i - 1] - 1 + m) + m) / f[i];

答案分为最终叶子(dpk)和被扩展的叶子(每次操作后被选出的叶子进行结算)

2:06:35 通过 L 题 (+)

这时候的排名有点不好看,需要加快进度。很急,很多题要写。

黄队写 J 题。然后我和沈队看别的题目。没什么思路。

2:27:36 通过 J 题 (+) 总榜一血

黄队继续写题,M 是哈希题。

然后一直 Wrong Answer。黄队打印了代码调题,然后我记得是沈队声称会 G,是分块,然后黄队看其他题目,他冷静一下。因为已经是四哈希了。

我看了几眼发现他高精度写挂了。

2:44:03 通过 M 题 (-6)

沈队写 G,沈队的 G 又是哈希题(怎么全是哈希。),然后又要调。和黄队讨论了一下 E 题,发现好像是诈骗的,想到应该枚举颜色之后,黄队口胡了构造方案,然后抢了机器写 E。

大概就是,考虑出现次数最多的两种颜色分别出现 c,d 次。如果 highbit(c)=highbit(d)highbit(x)=min{2k|2kx}),那么可以直接缩减区间,最终会出现其中一种颜色有 highbit 而另外一个颜色刚好减爆。所以答案是 2highbit(c)1

否则从高到低考虑 c,d 的每一位。如果 c,d 两位加起来 1 说明目前来说最终答案必定是这个数。否则当他们两位是 1 时,从全局开始缩减区间,直到某种颜色的这一位被减爆,取得最大值。

官方题解:c | d | highbit(c & d)。本质相同。

3:09:06 通过 E 题 (+)

黄队调沈队的 G,我在看 CDK(B 一开始讨论过感觉是科技),然后不会做,D 有一点点想法。准备他们过了就开 D。

3:54:13 通过 G 题 (-4)

D 题果然是简单的。黄队指出先手不可能胜利,然后举了几个例子之后,发现只要先手走到一个神秘子树使得后手不知如何决策就能平局。搞到的神秘结论是:平局当且仅当存在 u 使得它子树中有超过一个叶子且

dep[LCA({v+1|vsubtree(u)leaves})]<dep[u]

直接 dsu on tree 好了。

现在才发现不需要 dsu on tree,因为子树答案可以直接合并。

K 题的结论是两个序列的后缀最大值相同就平局,直接 P4198 楼房重建 就好。问了三个人都说没有写过楼房重建。我提出我写 D,黄队想 K 的细节。

D 一开始还傻了写了 2log,突然发现直接维护当前最大的 LCA。黄队好强,黄队好强。

4:05:15 通过 D 题 (+)

(不知道为什么场外直播看到我们过 D 题了?不是封榜了吗,不理解。)

然后黄队写 K 题。又是哈希。然后又要调哈希,发现他的底数次方那个数组全是 0

4:45:04 通过 K 题 (-4)

剩下 BCH,B 一上来就搞过了没啥,C 一上来就有 76nT 的过不去的,H 因为我们不知道怎么使每一位独立然后寄了。吃饭。

5:00:00

10 题 1856 min。

闭幕式

继续开幕式的幽默风格,开场的机器狗表演,左边两个寄了。然后有领导,杜老师(dyh)讲话。听了一遍讲题,现在还不会 CJ。

滚榜。具体榜单可以看 vjudge,最终结果是总榜第五打星第二(如果没有 Jiangly Fan Club 就是打星第一了草)。排名下面是广铁一中和广大附,很遗憾广大附没有过 M。发现是全场罚时最多。

回程继续狼人杀。


这一次打星队真没有牌了,但还是玩的很开心,拜谢黄队,拜谢深技大,拜谢组委会。于是这就是结束了。

posted @   caijianhong  阅读(1398)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2022-11-13 题解 HYOI2022 Round 5
2022-11-13 题解 AGC036D【Negative Cycle】
2022-11-13 题解 CF1051F【The Shortest Statement】
2022-11-13 题解 AtCoder-s8pc_5_h【Percepts of Atcoder】/ SS221112D【W】 / ZROI1410【超简单题】
点击右上角即可分享
微信分享提示