【测试代码】
昨晚的CF略晚~~而且提示说div2的少年们,你们很可能会爆0~~~
于是赤裸裸的去了,然后悲催的爆0了
只看了A、B两题~~A题觉得挺简单的,敲了个2分交上去过了Pass,想了想B觉得没有想法就睡觉了。。。 早上一起洗个澡吃完早餐一看~~WA了~~然后看了下代码,我去,尼玛有一行特判输出没改,直接注释掉没用的特判就过了
说说A题吧,题意大概是一串字符串,求一个长度为k的子串,是的用最少的该子串来构成源串,你可以使用子串的其中任意个字符按照你想要的方式排序拼接,输出需要的最少个数和该k子串。
解法:数据那么弱,统计下源串每个字母的个数,直接暴力匹配从1个到(n+k-1)/k个能否拼成源串就好,写的2分,也过了.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
|
B题一看最长回文子序列,能想到的方法就是2维DP出LCS~~可是源串长度为50000,2维DP肯定挂~~早上起来,顺带看了一眼,发现一个条件,回文最长为100(大于100输出100的就行),这个想了下,就好搞了.一共26字母,说明在2600个字母序列里面肯定会产生回文长度至少是100的。。
这样超过长度2600的就可以直接DP前2600个字母就行了~~~然后就是模板题了~~~真是弱爆了~~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
|
(效果似乎一般)