mcfx's blog - 2019年11月 /2019/11/ 个人博客,(曾经)基本只放题解,现在随便写点啥了吧( CSP-S 2019 参赛记 /archives/273/ 2019-11-17T16:03:00+08:00 这次 ~~NOIP~~ CSP,借着教育部打压竞赛的~~良机~~,我得以有幸在退役后作为社会人士参加。 ### 初赛 系统崩了半小时,比较毒瘤。 ### Day 0 人工智能入土的 midterm survey 的 ddl 在临近截止时终于水完了。 ### Day 1 傻逼监考,不让带水、食物、卫生纸。开始时低估了难度(高估了自己的水平),不慌不忙的打板子。然后瞬间过 T1。然后很快过 T2。T3 一开始想偏了若干方向。最后到离结束 2 min 时才过大样例,于是三道题都没对拍。 后来发现 T3 没判 $$n=1$$。 预计得分 200~300。 ### Day 2 ~~这里隐藏了一句话,请 F12 查看~~ T1 花了半小时才打完。然后 T2 花了 1h 搞到了大概是正解,但是过不了大样例。又花了若干时间查错,还是没过大样例。还有约 1.3 h 时开始写 T3。想了个傻逼点分做法,最后勉强写完,调了十多分钟,没调出来,就直接交了。 预计得分 100~200。 ### 总结 退役选手降智严重。成功成为我 ~~NOIP 提高组~~ 分数最低的一次。不过划水也挺有意思的。 ### UPD 最终得分 488。 把 0~2^n-1 划分为若干组使得每组异或和为 0 /archives/271/ 2019-11-06T22:11:00+08:00 把 $$0$$~$$2^n-1$$ $$(n\ge 2)$$ 划分为若干组使得每组异或和为 0,最多分出多少组? 显然组数的上界是 $$\lceil\frac{n}{3}\rceil$$。 可以递归构造: ```python def gen(n): if n==2: return [(0,),(1,2,3)] if n==3: return [(0,),(1,2,3),(4,5,6,7)] s=gen(n-2) res=[(0,),(1,2,3)] for i in s: if len(i)==3: key=[0,2,3,1] for j in range(4): res.append((i[0]