2019-team321/C007
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
[[Image(board.png,500px)]] [[Image(submissions.png,500px)]]
== 流水账 ==
=== 一些状况 ===
zkx C题复杂度没算清楚,就上来爆了3发。
zkx 和 yay 讨论出 I 的正确做法之后,yay突然理解错题意,然后想出了个「更加简单」的假做法,zkx觉得好像很有道理,然后yay wa了一发,两个人发现爆了,yay上去写了一发原来的做法,wa了,zkx帮忙写了个交互库,测了一下bug,就过了。
A 题卡了个假的做法,然后临时丢下了,后来发现写不下去了,仔细想了个真的做法出来,对于机时大概有30min的影响,对于罚时影响较大。
M 题想出来之后还剩50min,最后ypl和yay轮流上去写了两遍输出字典序,期间旁边的人在边看边讨论,结果来不及了。
== 总结 ==
=== zkx ===
1. 看到签到题不要脑子一热就上去写假做法。
2. 队友在写题的时候如果不是队友要求帮忙check的话少去打扰。宁可队友写错让他有时间调试也不要因为讨论扰乱了队友的思路。
3. 像A这种签到题,如果想法太复杂的话一定要慎重考虑是不是想歪了。
4. 如果交互库好写的话还是写一下测一下比较稳。
=== yay ===
1. 开场看题的时候,首要任务是一次过把题目的意思完整地装进脑中,尽量直观地获得题目的理解,这样建立好后才能更迅速地思考。
2. 还没看完所有负责的题的时候,如果一个题有想法,但需要继续思考或者有细节问题,不能直接上去马上过了的话,就要先放一放它,把负责的题目看了先。
3. 编码准备充分,理清楚思路,这样写的速度也不会太慢。如此一来写的时候更不能感到有压力,而是要精准地把这份手上的代码写好。
4. 还是不要打扰队友写题了。
=== ypl ===
==== 策略 ====
1. 找个风扇。
2. 和单打状态有很大差距,因为人一多我就想躺赢。每开始连续读一些题、每开始想一道题、每开始写一道题、每开始帮队友调试前,记得观察一下自己的状态,保持冷静和负责任的态度。
3. 应该以尽快做完签到题、尽可能多做剩下的题为训练目标。每次的总结要问自己:签到题在哪里卡住了?为什么?难题为什么没想到?下次应该怎么想?
4. 不要看队友写代码,除非队友叫我看。队友卡题的时候可以把他的代码打印出来,帮他看。
==== 题目 ====
A:将 n * n 的矩阵的每行每列,分别染色为 a 到 z 之间的一个字母。给定染完后的情形,含 ?,构造方案。n <= 3000。
L:最初有 n 个 a,开头为 a 则末尾加 bc,为 b 则末尾加 a,为 c 则末尾加 aaa,加完之后删去开头两个,问多少回合剩 1 个 a。
M:10 * 10 的 01 矩阵,合法当且仅当每列有 1 且 1 连续,每行的 1 的个数属于 [a, b],求字典序第 t1, t2, ..., t1000 小的。
[[BR]]
注意 DWT 的写法。
J:滚动数组不能记录方案。一些谜之错误可以在场后翻别人 trac 找找。

流水账
一些状况
zkx C题复杂度没算清楚,就上来爆了3发。
zkx 和 yay 讨论出 I 的正确做法之后,yay突然理解错题意,然后想出了个「更加简单」的假做法,zkx觉得好像很有道理,然后yay wa了一发,两个人发现爆了,yay上去写了一发原来的做法,wa了,zkx帮忙写了个交互库,测了一下bug,就过了。
A 题卡了个假的做法,然后临时丢下了,后来发现写不下去了,仔细想了个真的做法出来,对于机时大概有30min的影响,对于罚时影响较大。
M 题想出来之后还剩50min,最后ypl和yay轮流上去写了两遍输出字典序,期间旁边的人在边看边讨论,结果来不及了。
总结
zkx
1. 看到签到题不要脑子一热就上去写假做法。
2. 队友在写题的时候如果不是队友要求帮忙check的话少去打扰。宁可队友写错让他有时间调试也不要因为讨论扰乱了队友的思路。
3. 像A这种签到题,如果想法太复杂的话一定要慎重考虑是不是想歪了。
4. 如果交互库好写的话还是写一下测一下比较稳。
yay
1. 开场看题的时候,首要任务是一次过把题目的意思完整地装进脑中,尽量直观地获得题目的理解,这样建立好后才能更迅速地思考。
2. 还没看完所有负责的题的时候,如果一个题有想法,但需要继续思考或者有细节问题,不能直接上去马上过了的话,就要先放一放它,把负责的题目看了先。
3. 编码准备充分,理清楚思路,这样写的速度也不会太慢。如此一来写的时候更不能感到有压力,而是要精准地把这份手上的代码写好。
4. 还是不要打扰队友写题了。
ypl
策略
1. 找个风扇。
2. 和单打状态有很大差距,因为人一多我就想躺赢。每开始连续读一些题、每开始想一道题、每开始写一道题、每开始帮队友调试前,记得观察一下自己的状态,保持冷静和负责任的态度。
3. 应该以尽快做完签到题、尽可能多做剩下的题为训练目标。每次的总结要问自己:签到题在哪里卡住了?为什么?难题为什么没想到?下次应该怎么想?
4. 不要看队友写代码,除非队友叫我看。队友卡题的时候可以把他的代码打印出来,帮他看。
题目
A:将 n * n 的矩阵的每行每列,分别染色为 a 到 z 之间的一个字母。给定染完后的情形,含 ?,构造方案。n <= 3000。
L:最初有 n 个 a,开头为 a 则末尾加 bc,为 b 则末尾加 a,为 c 则末尾加 aaa,加完之后删去开头两个,问多少回合剩 1 个 a。
M:10 * 10 的 01 矩阵,合法当且仅当每列有 1 且 1 连续,每行的 1 的个数属于 [a, b],求字典序第 t1, t2, ..., t1000 小的。
注意 DWT 的写法。
J:滚动数组不能记录方案。一些谜之错误可以在场后翻别人 trac 找找。