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]