CSP2019鞭尸记

zhoutb2333

2019-11-14 18:51:58

Personal

(备注:空余时间全在打电动,打电动太爽了) $\tt Day \ -1$ 翘掉晚自习准备一下CSP,看了一下昨天的CFedu-round,觉得 $\tt FG$ 挺有意思的,可能退役久了看什么题都眉清目秀... $\tt Day \ 0$ 虚的一笔,回旅馆打游戏,晚上有人过生日可以嫖蛋糕,也可以打牛客练习赛,待更 更了:打了牛客,写了 $\tt ABC$ 口胡了 $\tt E$ 跑了,忘带键盘写不动.. $\tt D$ 看上去不会 $\tt F$ 没看 嫖了蛋糕,一会去跟高二神仙们谈人生,待更 $\tt Day \ 1$ 今天是彩笔的一天,,,也是rp爆表的一天,,,(控啥分,还控分,题都不会..) 大家都知道 $\tt D1T1$ 的题目,我是这么写的: ``` cpp int nl ull k; int main() { cin >> n >> k; for (int i = n - 1; ~i; i--) { if (k >> i & 1) cout << "1", k = (1ULL << i) - k - 1; else cout << "0"; } return 0; } ``` 咦,那个 `i` 为啥不是 `i + 1` ? 大家按照 $\tt ull$ 的溢出规律试一下,他刚好是对的...为啥说是我rp爆表的一天呢?因为我考场上对此不知情...为啥说是我rp爆表的一天呢?因为这样写又恰好避免了 $\tt 1ULL << 64 = 0$ 而 $\tt 1ULL << i = 1(i=64)$ 的内个错误...我当时看它过了大样例直接扔了... 彩笔的一天是因为考场 $3$ 个小时做 $\tt T3$ 只写了个俩假东西,第一个是能过链的不知道啥的假东西,另一个是跟std思路一样的对边排序维护不出现环的东西,然而我是sb,把一条路径上终边也当成终点连出的第一条边了...导致死活过不了样例,于是交了前者 彩笔的一天是因为 $\tt T2$ 直接写的线段树二分+区间数颜色,不过也没怎么耗时间 下午吃披萨(必胜客半价可太爽了),打电动 $\tt Day \ 2$ 开考,先看 $\tt T1$ ,意识到这是个送分题,$15$ 分钟想完敲完,编译直接过,大样例直接过,就扔了。 然后看 $\tt T2$ ,暂时只会 $O(n^2)$ 的,并且不认为能够优化... 然后看 $\tt T3$ ,发现以前见过这题,记得是什么树剖(emmmm因为以前的版本是对于每个点都输出,并且没意识到这俩题不一样...),觉得老年选手切不来,就 $75$ 扔了。 然后调完大概是 $9:30$ ,回去做 $\tt T2$ ,搞了半天没效果...然后证了个结论(不过证法赛后来看貌似有点纰漏),打表一看是对的,就能 $O(n)$ 了。敲完发现要写高精度...就用两个 $\tt ll$ 拼了一下,感觉卡不过去,不过也扔了。 然后现在才 $11:00$ ,玩了半小时游戏提前摸了。 $\tt Day \ n$ 把 $\tt D1T3$ 的终边问题修了一下...发现会做了(刚补完)... 推了一下 $\tt D2T3$ ,发现是个sb题(还没补)...~~暴力分再少点我就考场上推了~~