如何评价2023“钉耙编程”中国大学生算法设计超级联赛第四场
这场是hxd的场,作为每题都看过的验题人来评价一下(虽然有点寄)。
据说本来有若干到金牌题,但是因为出假了2道,被替换为了两个easy题,因此难度偏低。三位出题人似乎配合的并不是很好,各自的题目单独看还可以,组合起来就有种奇怪的感觉,验题的时候我直呼怎么全是计数,连续复制了3遍阶快速幂+阶乘逆元+组合数代码。验题是周日,当时还有一题假了、一题因为某些原因出不了了,紧急修题后成为了现在的1001和1010,赛前一天晚上我把这两题也验了。
1001 Typhoon
一个计算几何签到题。据说有不少人TLE了,我们验题的时候都是2s,没有考虑哪里可能更慢,结果就卡常了。我说为啥不是多测的n=3000,出题人可能希望数据强一点,然后造完数据检验了一下覆盖了点线距所有情况,就不改了。感觉这题有点寄,毕竟赛前一天刚修完的题,可能来不及造数据了。
1002 GCD Magic
一个中难的数论大综合题,这是一个看一眼就知道大概要干啥的题。gcd的规律我确实没见过,但是估计很多高手见过。验题时打表找了一会儿,感觉快找到了,出题人直接告诉了我结论。然后每一步都非常地自然,属于是懂得都懂,不懂的说了也不懂的题,如果不会的话建议先做几个莫反+整除分块+杜教筛/min25筛的题,再看这题应该就感觉比较简单。
1003 String Magic (Easy Version)
一个不错的字符串中难题,据说验题时出现了比std更简单的写法。虽然是easy version,但我也不会,还是太菜了,就直接下班了没有做。
1004 String Magic (Hard Version)
一个字符串难题,反正我easy version都不会,这题更是不会,据说是什么我不会的科技题。
1005 Snake
一个不错的计数中档题,我的做法是广义容斥,应该也可以指数型生成函数。
1006 Touhou Red Red Blue
一个简单DP练习题,稍微看一下就知道怎么DP了,但是作为简单题也没关系,好像也可以贪心,复杂度可以比DP低。
1007 Expectation (Easy Version)
一个非常简单的期望题,这里只想说希望大家能用一次快速幂解决的问题就不要用n次。
1008 Expectation (Hard Version)
一个多项式难题,和easy version相差极大,我完全不知道咋做。原定为最难的题,实际上好像很多人都会,反倒是后面看似不难的题过的最少。
1009 Tree
一个非常简单的题,验题时读完题目后,我都在怀疑是真有这么简单还是我读错了,仔细读了两遍发现没有读错,然后交一发就T了,当时时限还是3s,我一测试发现光读入就T了。加了fread,重构成无递归小常数写法变成1580ms成功AC。我感觉数据缩小10倍可能比较合理,但出题人定下就这样了。出题人应该也是fread,好像没有建树dfs,据说std只有1s。他本想开5s的,在我强烈要求下变成了10s,但还是有人TLE,甚至有很多人在评论区公开质疑std会不会T,我想说虽然题目时限紧,但是质疑std不可取。只能帮大家到这里了,希望大家减小常数,希望大家都能掌握fread读入优化。
1010 Cut The Tree
一个数据结构medium-hard+套路题。题意比较明确,是要求子树内max xor、子树外max xor。子树内很容易想到Trie树+启发式合并O(nlognlogC),子树外我感觉还是非常难的,如果想到出题人的做法那就非常简单,属于是想到了就简单,想不到就非常难。我们总怀疑子树内max xor可以nlogn或者nlogC,但是没有人想到怎么做。
1011 Cactus Circuit
一个不错的图论中档题,考到了对仙人掌、环的理解。 我感觉稍微想一会儿应该可以出,可能很多人被这题吓到了,实际上仔细一想就会发现这题非常简单。
1012 Counting Stars
一个不错的图论计数签到题,主要考了组合数,以及复杂度分析。