2021-team02-035

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

[/wiki/2021-team02 返回]

[[Image(RANK.png,1000px)]]

= 流水账 =

day -1: 距离比赛还有两天,由于day0可能要进行热身赛,于是pb精心挑选了一场看起来不是很难又能打得比较久的比赛,结果三个小时出头就AK了

day 0:热身赛因为一些原因咕了,cy负责去确认了一下机位和板子,发现数列版消失了,埋下了一些伏笔

day 1:正式赛

赛前本来想买好午饭的,结果M只有早餐,于是吃了一顿大概午餐的量的早餐。赛前谈笑风生,观察了一下广州的题目,感觉有点毒瘤,看了下榜最多的只有三题,感觉济南是临时出的可能更加毒瘤,不过看的最后一眼发现隔壁幽灵乐团4题登顶了,感觉可能题目还是没太大问题?

接下来是流水账,包含大量剧透,想训练济南的队伍请谨慎阅读

比赛开始之后三个人分别读题,大概10min左右pb看了眼榜,发现没人过题,于是继续读。pb读到G声称自己会了,然后发现K有人通过,但是cxt和cy好像都还没靠谱的做法,于是pb准备上机,结果验了一下样例发现题读错了,于是又坐了下来。

之后pb回去看了下E,感受了一下大概会了,此时cxt正在和cy交流题目,确认了一下暂时还没有做法于是pb直接上了,写完之后提交wa了。cy会了K上机,中间pb改了一发E但是还是没过,K题在之后调整了一下输出的精度之后顺利通过 K2Y48。

cxt上机写J,在这个过程中pb发现自己少算了一个情况,之后cxt稳健得1A了,J1Y66,pb上机改了一下也过了E3Y68。这时候过了三题,排名大概来到了一个能看的位置。

之后榜上有CDL,cy在想C,cxt在推L,交流了一下发现D大概的思路就是三分,但是榜上很惨烈于是没有敢立即上。pb推了一下式子发现三分是对的,和cxt交流了一下发现不用三分套三分,一个三分就行了,猜了一下榜上的人没有用int128于是直接冲了,然后喜提一发wa。

暂时没有新的题于是pb在机上调,发现自己写了2个sb错误,改完之后提交跑了很久,感觉稳了,然后直接过了D2Y104。之后cxt和pb讨论了一下L,cxt突然有了思路于是继续想L,pb和cy交流了一下C,cy表示已经会了博弈的部分,计数还没什么思路,于是pb接过C,cy去帮cxt想L。

pb想了很久之后写了个暴力,验证了一下结论是对的,但是还没什么思路。之后突然发现直接从大往小插入就行了,然后写了一下发现过不了样例,去了趟wc思考了一下发现从小到大才是对的,改了一下过了C1Y143。

这时候cxt和cy有了L的递推式,两个人找到的式子一样,说明很真,可喜可贺。然后三个人交流了一下发现是斯特林数,于是翻了一下HDU板子,找到了卷积形式,pb让cxt上机,结果发现要求的是若干行的和,这时候发现手边没有数列板子,感觉伏笔瞬间出现有点头大。

考虑了一下式子的组合意义发现就是贝尔数,在HDU板子上又找到了,发现可以分治FFT,于是还是把cxt赶到了机上。此时榜上已经没有新的题了,于是pb把G给cy说了一下,自己去读H。cxt的L也一发通过了L1Y167,此时在榜上短暂登顶。

cy很快会了G一个带log的莫队做法,和pb确认了一下感觉没什么问题于是直接上了。pb此时想了一会H有一些思路但是不是很完善,观察了一下榜发现UESTC拿下了A的一血,觉得A比较可做,于是把H的想法和cxt说了说就跑去做A了。

cy在上机的时候pb读完A发现并不是很难,大概会了,cy还在写G于是直接想了一下细节,感觉自己上也没啥问题。cy的G过了样例之后提交TLE了,感觉有点慌,于是pb直接上机写A,cy下机优化做法。

pb写A的时候cy发现题面里面提示要用快读,改了这一点和常数优化之后直接过了,拿下了G的一血G2Y222。pb写完A之后cxt表示会了H,pb要了5min机时调了一下样例,并没有过,于是让cxt上机。在cxt上机的时候改了一些地方通过了样例,提交了一下返回了wa,于是下机看。

cxt很快写完了H,很快过了样例,提交直接返回了AC,H1Y272,看了下榜感受了下大概率又是个一血,题数来到了8题,有争夺冠军的机会。于是三个人一起看A。看了一会pb发现一个else后面没加括号,加上之后感觉非常真,提交之后跑了一会,但是还是返回了wa。

三个人对着看了很久在之后都没找出实质性的错误,改了一堆可能没什么用的东西,改了一下long double和去掉卡常的部分还是没有通过,比赛结束前绝望得交了几发,在结束前都返回了wa。

比赛结束后得知如果过了A就有冠军了,没过A亚军是比较稳的,非常遗憾,但是捧杯了还是非常开心,于是大火快乐得去吃饭了。


= 总结 =

=== pb: ===
第一次捧杯了,非常感谢队友。其实比赛前压力还是很大的,毕竟去年一整年队伍留下了不少的遗憾,数次都很接近奖杯了但确实差了一点,自己的发挥的也不是很好所以也不能完全说是运气不好。

这次开场并不是很顺利还是有点慌的,但是队友率先过题后面的节奏就没有出现什么问题,而且交流也比较充分,在面对题目有一定挑战性的时候做到了充分的合作。

在这点上感觉还是相比平时做的更好的,其实让我有点意外,因为队伍平时的风格就是各开各的题,感觉这次策略的转变可能也是最后打的不错的关键。

比较可惜的是牛逼队友把GH过了还都是全场唯一通过的一血,创造了夺冠的机会,但是没有把握住,因为是自己在上机,感觉还是非常遗憾。

如果平时是这种情况可能cy上机确实比较稳,但是比赛的时候情况比较复杂所以可能也没有想那么多。其实这次比赛自己没有很关注排名而是更关注做题的进度,感觉确实有一定缓解紧张气氛的作用。

虽然留下了遗憾但也不完全是坏事,可能就是上个赛季留下的诸多遗憾才让我有了前进到现在的动力,也希望这次留下的遗憾可以继续激励自己吧。

--- upd ---

A的代码已经没有任何问题了在最后,但是思路上是有问题的,旋转某一部分并不等于将补集旋转逆方向,因为整个图形的方向是不对的。

其实是很明显的错误,但是完全想不到。

如果最后冷静一点,详细的把代码给队友再讲一遍,哪怕队友没时间的时候自己给自己讲一遍都不会这样。

退一步说,最后时间比较紧迫,但是其实罚时不是很重要,选择稳健的写法而不是卡常、省时间的等价写法其实更好。

可以不叫multiset叫rotate了

=== Creatix: ===
楼上写了好多。

第一次捧杯了,非常感谢队友。

我来记录一下我的视角的比赛。

感觉因为有一些自己给自己加的包袱,开赛前期还是非常紧张的。

开场读了几道题后就开始推 L 了。但是当时脑子一团糟,根本回忆不起来上学期学的级数的知识,推了几次答案都是错的。

(确切的说这块知识离散里也会讲,我们离散老师讲太慢了也算是埋下伏笔,赛后第二天在课堂上听到 L 题的前半部分确实让人震惊)

然后无奈地去看全场过的最多的 K 题,结果又是一道数学题。

很快有了一个基本的想法,但又感觉不是很对劲,此时已经慌起来了,感觉要被橄榄了。

突然 pb 说会了一个全场没人做的 E,顿时感觉安心了很多。于是去找 cy 问 K 题。

cy 有了和我相悖的结论(事后发现其实是一样的),简单讨论了一下后 cy 又给出了另外一个转化,于是我和之前在想 D 的 cy 换题,此时 pb 在机上码码码。

没多久 cy 会了 K,打算在 pb 提交 E 后上机。我也在同时想到了 D 的三分斜率的做法,但看到榜上恐怖的通过率后选择告诉队友自己的想法然后润到别的题。

此时开赛 40 min,我什么都不会……

---

回头去想 J 题,发现其实是一个随机化 + 复杂度刚好1e8的高消。想了想觉得没什么问题就在 K 之后上机过了。

之后 pb 略改一下过了 E,于是在榜上到了一个能看的位置,我也就稍稍安心。稍微分析了一下局势,又和pb交流了一下,我决定接着推 L。

其间队友在写写写我在推推推,总之不知道过了多久终于在帮助下发现了这就是一个分治 fft 求贝尔数,于是趁队友写完 C 上机写了个 L。

感觉队友在我上机的时间里会了好多东西(我明明才写了20min)。cy 在我提交后立刻开始写 G,pb在我下机后立刻把 H 题的题意和一些结论递了过来。

我在机下一边设计 H 的状态转移方程一边听听队友的别的题的算法一边分心了解一下别的题目的情况,慢慢也就大致会了 H,这个时候大概是比赛还剩 1 小时 30 min

还剩 1 小时 20 min 的时候 cy 过题,我们和榜一同题数,输一点罚时,但我们手里有两道完全成型的题目(A和H),以及说不定有机会再来一道 M,当时感觉优势在我们。

和下机的 cy 讨论了一会 M,可惜没讨论出来。之后趁着 pb 调 A 的时候偷偷写了个 H,果然没什么问题,1A 了。

看了一下剩下的时间以后决定一起帮 pb 看 A,因为一些原因最后也是没有过,等事后补题的时候再看是为什么吧。

---

创造了历史最好成绩,还是挺开心的。

最后差了一点点就冠军了,有点可惜,但也借此勉励之后的自己吧。

而且我们和第三名拉开了 2 题的巨大差距,挺棒的。

而且我们拿到了两个唯一过题奖呢!

---

说实话写完 trac 才发现这次发挥还有很多很多提升空间吧。

开场节奏拉跨,不够冷静(也是最后输罚时的理由)。

后期两道完全可以控制住的 A 和 M 也没有通过,因此也没有人时去想出题人声称很 easy 的 F 题。

---

不管怎么说,感谢队友,感谢集训队,感谢 ZJU ~

[[Image(owo.png,300px)]]


=== Eden_CY: ===
~~这里是总结~~

= 题解 =

 * A:

 * B:

 * C:

 * D:

 * E:

 * F:

 * G:

 * H:

 * I:

 * J:

 * K:

 * L:

 * M:

[/wiki/2021-team02 返回]

流水账

day -1: 距离比赛还有两天,由于day0可能要进行热身赛,于是pb精心挑选了一场看起来不是很难又能打得比较久的比赛,结果三个小时出头就AK了

day 0:热身赛因为一些原因咕了,cy负责去确认了一下机位和板子,发现数列版消失了,埋下了一些伏笔

day 1:正式赛

赛前本来想买好午饭的,结果M只有早餐,于是吃了一顿大概午餐的量的早餐。赛前谈笑风生,观察了一下广州的题目,感觉有点毒瘤,看了下榜最多的只有三题,感觉济南是临时出的可能更加毒瘤,不过看的最后一眼发现隔壁幽灵乐团4题登顶了,感觉可能题目还是没太大问题?

接下来是流水账,包含大量剧透,想训练济南的队伍请谨慎阅读

比赛开始之后三个人分别读题,大概10min左右pb看了眼榜,发现没人过题,于是继续读。pb读到G声称自己会了,然后发现K有人通过,但是cxt和cy好像都还没靠谱的做法,于是pb准备上机,结果验了一下样例发现题读错了,于是又坐了下来。

之后pb回去看了下E,感受了一下大概会了,此时cxt正在和cy交流题目,确认了一下暂时还没有做法于是pb直接上了,写完之后提交wa了。cy会了K上机,中间pb改了一发E但是还是没过,K题在之后调整了一下输出的精度之后顺利通过 K2Y48。

cxt上机写J,在这个过程中pb发现自己少算了一个情况,之后cxt稳健得1A了,J1Y66,pb上机改了一下也过了E3Y68。这时候过了三题,排名大概来到了一个能看的位置。

之后榜上有CDL,cy在想C,cxt在推L,交流了一下发现D大概的思路就是三分,但是榜上很惨烈于是没有敢立即上。pb推了一下式子发现三分是对的,和cxt交流了一下发现不用三分套三分,一个三分就行了,猜了一下榜上的人没有用int128于是直接冲了,然后喜提一发wa。

暂时没有新的题于是pb在机上调,发现自己写了2个sb错误,改完之后提交跑了很久,感觉稳了,然后直接过了D2Y104。之后cxt和pb讨论了一下L,cxt突然有了思路于是继续想L,pb和cy交流了一下C,cy表示已经会了博弈的部分,计数还没什么思路,于是pb接过C,cy去帮cxt想L。

pb想了很久之后写了个暴力,验证了一下结论是对的,但是还没什么思路。之后突然发现直接从大往小插入就行了,然后写了一下发现过不了样例,去了趟wc思考了一下发现从小到大才是对的,改了一下过了C1Y143。

这时候cxt和cy有了L的递推式,两个人找到的式子一样,说明很真,可喜可贺。然后三个人交流了一下发现是斯特林数,于是翻了一下HDU板子,找到了卷积形式,pb让cxt上机,结果发现要求的是若干行的和,这时候发现手边没有数列板子,感觉伏笔瞬间出现有点头大。

考虑了一下式子的组合意义发现就是贝尔数,在HDU板子上又找到了,发现可以分治FFT,于是还是把cxt赶到了机上。此时榜上已经没有新的题了,于是pb把G给cy说了一下,自己去读H。cxt的L也一发通过了L1Y167,此时在榜上短暂登顶。

cy很快会了G一个带log的莫队做法,和pb确认了一下感觉没什么问题于是直接上了。pb此时想了一会H有一些思路但是不是很完善,观察了一下榜发现UESTC拿下了A的一血,觉得A比较可做,于是把H的想法和cxt说了说就跑去做A了。

cy在上机的时候pb读完A发现并不是很难,大概会了,cy还在写G于是直接想了一下细节,感觉自己上也没啥问题。cy的G过了样例之后提交TLE了,感觉有点慌,于是pb直接上机写A,cy下机优化做法。

pb写A的时候cy发现题面里面提示要用快读,改了这一点和常数优化之后直接过了,拿下了G的一血G2Y222。pb写完A之后cxt表示会了H,pb要了5min机时调了一下样例,并没有过,于是让cxt上机。在cxt上机的时候改了一些地方通过了样例,提交了一下返回了wa,于是下机看。

cxt很快写完了H,很快过了样例,提交直接返回了AC,H1Y272,看了下榜感受了下大概率又是个一血,题数来到了8题,有争夺冠军的机会。于是三个人一起看A。看了一会pb发现一个else后面没加括号,加上之后感觉非常真,提交之后跑了一会,但是还是返回了wa。

三个人对着看了很久在之后都没找出实质性的错误,改了一堆可能没什么用的东西,改了一下long double和去掉卡常的部分还是没有通过,比赛结束前绝望得交了几发,在结束前都返回了wa。

比赛结束后得知如果过了A就有冠军了,没过A亚军是比较稳的,非常遗憾,但是捧杯了还是非常开心,于是大火快乐得去吃饭了。

总结

pb:

第一次捧杯了,非常感谢队友。其实比赛前压力还是很大的,毕竟去年一整年队伍留下了不少的遗憾,数次都很接近奖杯了但确实差了一点,自己的发挥的也不是很好所以也不能完全说是运气不好。

这次开场并不是很顺利还是有点慌的,但是队友率先过题后面的节奏就没有出现什么问题,而且交流也比较充分,在面对题目有一定挑战性的时候做到了充分的合作。

在这点上感觉还是相比平时做的更好的,其实让我有点意外,因为队伍平时的风格就是各开各的题,感觉这次策略的转变可能也是最后打的不错的关键。

比较可惜的是牛逼队友把GH过了还都是全场唯一通过的一血,创造了夺冠的机会,但是没有把握住,因为是自己在上机,感觉还是非常遗憾。

如果平时是这种情况可能cy上机确实比较稳,但是比赛的时候情况比较复杂所以可能也没有想那么多。其实这次比赛自己没有很关注排名而是更关注做题的进度,感觉确实有一定缓解紧张气氛的作用。

虽然留下了遗憾但也不完全是坏事,可能就是上个赛季留下的诸多遗憾才让我有了前进到现在的动力,也希望这次留下的遗憾可以继续激励自己吧。

--- upd ---

A的代码已经没有任何问题了在最后,但是思路上是有问题的,旋转某一部分并不等于将补集旋转逆方向,因为整个图形的方向是不对的。

其实是很明显的错误,但是完全想不到。

如果最后冷静一点,详细的把代码给队友再讲一遍,哪怕队友没时间的时候自己给自己讲一遍都不会这样。

退一步说,最后时间比较紧迫,但是其实罚时不是很重要,选择稳健的写法而不是卡常、省时间的等价写法其实更好。

可以不叫multiset叫rotate了

Creatix:

楼上写了好多。

第一次捧杯了,非常感谢队友。

我来记录一下我的视角的比赛。

感觉因为有一些自己给自己加的包袱,开赛前期还是非常紧张的。

开场读了几道题后就开始推 L 了。但是当时脑子一团糟,根本回忆不起来上学期学的级数的知识,推了几次答案都是错的。

(确切的说这块知识离散里也会讲,我们离散老师讲太慢了也算是埋下伏笔,赛后第二天在课堂上听到 L 题的前半部分确实让人震惊)

然后无奈地去看全场过的最多的 K 题,结果又是一道数学题。

很快有了一个基本的想法,但又感觉不是很对劲,此时已经慌起来了,感觉要被橄榄了。

突然 pb 说会了一个全场没人做的 E,顿时感觉安心了很多。于是去找 cy 问 K 题。

cy 有了和我相悖的结论(事后发现其实是一样的),简单讨论了一下后 cy 又给出了另外一个转化,于是我和之前在想 D 的 cy 换题,此时 pb 在机上码码码。

没多久 cy 会了 K,打算在 pb 提交 E 后上机。我也在同时想到了 D 的三分斜率的做法,但看到榜上恐怖的通过率后选择告诉队友自己的想法然后润到别的题。

此时开赛 40 min,我什么都不会……

---

回头去想 J 题,发现其实是一个随机化 + 复杂度刚好1e8的高消。想了想觉得没什么问题就在 K 之后上机过了。

之后 pb 略改一下过了 E,于是在榜上到了一个能看的位置,我也就稍稍安心。稍微分析了一下局势,又和pb交流了一下,我决定接着推 L。

其间队友在写写写我在推推推,总之不知道过了多久终于在帮助下发现了这就是一个分治 fft 求贝尔数,于是趁队友写完 C 上机写了个 L。

感觉队友在我上机的时间里会了好多东西(我明明才写了20min)。cy 在我提交后立刻开始写 G,pb在我下机后立刻把 H 题的题意和一些结论递了过来。

我在机下一边设计 H 的状态转移方程一边听听队友的别的题的算法一边分心了解一下别的题目的情况,慢慢也就大致会了 H,这个时候大概是比赛还剩 1 小时 30 min

还剩 1 小时 20 min 的时候 cy 过题,我们和榜一同题数,输一点罚时,但我们手里有两道完全成型的题目(A和H),以及说不定有机会再来一道 M,当时感觉优势在我们。

和下机的 cy 讨论了一会 M,可惜没讨论出来。之后趁着 pb 调 A 的时候偷偷写了个 H,果然没什么问题,1A 了。

看了一下剩下的时间以后决定一起帮 pb 看 A,因为一些原因最后也是没有过,等事后补题的时候再看是为什么吧。

---

创造了历史最好成绩,还是挺开心的。

最后差了一点点就冠军了,有点可惜,但也借此勉励之后的自己吧。

而且我们和第三名拉开了 2 题的巨大差距,挺棒的。

而且我们拿到了两个唯一过题奖呢!

---

说实话写完 trac 才发现这次发挥还有很多很多提升空间吧。

开场节奏拉跨,不够冷静(也是最后输罚时的理由)。

后期两道完全可以控制住的 A 和 M 也没有通过,因此也没有人时去想出题人声称很 easy 的 F 题。

---

不管怎么说,感谢队友,感谢集训队,感谢 ZJU ~

Eden_CY:

这里是总结

题解

  • A:
  • B:
  • C:
  • D:
  • E:
  • F:
  • G:
  • H:
  • I:
  • J:
  • K:
  • L:
  • M:
附加文件