蒟蒻迟来的ccc2018总结
第一题
题意
给出n组数据,每组数据有两个单词,比较两个单词的字母序(所有大写字母换成小写字母,若一个单词为另一个单词前缀或从首字母开始比较相同位置的字母,若一个字母比另一个字母的字典序靠前,那么该单词的字母序大)
题解
先把所有大写字母换成小写字母,然后暴力比较就好了。(唯一一道测试ac的。。)
第二题
题意
给出一个算式 p @ q = m,其中@为+-或*,p q m为三个正整数,但每个数字中可能用大写字母代替了一些数字,相同大写字母代表相同数字,不同字母不同数字,如A03+BC9=9AC,注意,每个数字的最高位保证不为0。求所有满足等式的大写字母组数。
题解
一开始看到题时感觉暴力10!的复杂度太高了,又没想出太好的优化方法就跳过了(事实证明是很错误的决定。。),做完第三题并把第四第五题读完后觉得还是这个好做,最后用暴力过了样例,但没有测试,估计分不会太高。(后来想了想感觉剪枝做好点就可以)
第三题
题意
给出n个点,每个点有一个值,每两个点间的路径个数用一个与两点权值有关的公式表示,求1->n的总路径数量。
题解
本来打算用位运算来算公式的但没推倒出来,暴力算的估计会慢很多。题意读了非常久才读懂,不算难的dp。最后结果让用一个九位数取余,结果看成了3个三位数。。做的时候总感觉不对但最后还是没改过来。测试是wa,应该是取余的问题。
第四题
题意
没读懂。大概是道二分图(读懂了也没学过)。
第五题
题意
如何排座使结果最大。
应该是道dp,但排座时会出现暂时空位更好的情况,没有想出来怎么做。(应该去看第二题的。。)
总结
感觉最近一直在做动态树的题,遇到没见过的题有点慌,代码错误率太高,很多不该错的地方找了半天才找出来,浪费了好多时间。dp应该做的更好些。
估分
100+吧(好菜(捂脸))