[CSP17 2019]第十七次CSP认证 回忆与反思

关于此次认证做一个简单回忆和反思:

总体感觉,CSP17的五道题整体都比往届简单许多。

  1. 第一题:
    签到题

  2. 第二题:
    简单题,只需要考虑好整数溢出的问题,以及处理好果树总数在3棵以下的特殊情况。(题面需要输出果数、出现果子掉落的树木颗数、果子掉落的树木组,在题目已经很简单的情况下这次居然还破天荒的允许仅输出果数也给分……)

  3. 第三题:
    常规模拟题,做好十六进制的计算以及转义输出,并且考虑清楚题目关于#abc(#aabbcc)这种简写的问题,还有题面中说到的颜色若是默认颜色的情况。这题我没有做,因为大模拟题性价比极低,每次我都做不好。这次花了半个小时看题目,本来根本不应该浪费这个时间看第三题题面,因为我事先已经准备好不做这题了。这半个小时也直接导致第四题没有调试,未及时提交。

  4. 第四题:
    意料之外的是一道简单模拟,只需要按照题意进行增删查,再维护一个vector<商品> S[52]即可。查询时需要注意好关于三个关键字的排序输出,score -> type -> id的先后次序进行大小排序。题目给了5s的时间,我按照简单的模拟思路写,不清楚会不会超时,但是按照题目给的时间,感觉应该不会需要特别好的复杂度优化。虽然最后半个小时尽全力写代码,但还是没有赶上提交时间。
    这里提供一个考试后回忆的解题代码,仅通过部分自写样例,能否AC未知
    20190915-4

  5. 第五题:
    图论题,题目给出一棵树,树中某些节点是重要节点,需要考生写出程序求解将树中K个重要节点连接起来的最小总权值,时间3s。看不出来具体是那种类型的图论题,索性用回溯法直接枚举所有边的可能组合(每条边分为取或不取,这样就有了一个二叉树的解空间),按边权排序进行贪心选择,并按照当前权值大小以及总权值大小之间的比较进行剪枝。另维护一个并查集,用于判断最后选出来的K个节点是否在一个集合当中(保证他们连通)。

反思:
考试途中不知道是怎么了,看了第四五题都挺简单的,居然莫名其妙的去先做第五题。导致最后第四题没有做完,即使第四题思路当时一下就出来,且特别清晰。考试结束后真是追悔莫及,估计这次只能有200+的分数,错失一次拿300+分数的好机会,想想还是应该脚踏实地。不过好在之前的CCSP分区赛拿到了今年10月份的CCSP资格,希望能有一个不错的成绩。

你可能感兴趣的:(竞赛与认证)