○
代表赛后补题√+
代表赛内我通过的√-
代表赛内不是我做的√-○
代表赛内不是我做的,补了
小结
- 做F意识到了学python的快乐(然而不会
- 中间读错题有点伤
- python的Fraction不好用
L. Integer Prefix
输出最长的纯数字前缀。
1 | #include <bits/stdc++.h> |
B. Boring Non-Palindrome
bnc稍微读错了,意思是在串的末尾添加最少的元素,使得串变成回文串。
我们的做法是,做一下Manacher,找到最长的后缀回文串。
1 | #include <bits/stdc++.h> |
K. Kernel Of Love
求一个前n个斐波那契数,有多少对满足四个条件的。可以大胆想一些众所周知的结论。
1 | #include <bits/stdc++.h> |
G. Graduation
给n门课的先后关系,以及一个学期能上的课k,求最少需要几个学期才能上完课。
一个课只有一个前驱,并且必须是要上过以后才能选。
思路:
其实是贪心题,把先后关系连成一棵树,优先上掉“深度较大”的课即可。
可以这样理解,如果关系链越长,如果不早点上,就可能把一个学期的k个次数用完,就会更可能把很多课延后,这就不优了。
1 | #include <bits/stdc++.h> |
D. Do Not Try This Problem
这题比较有东西。
给两个串,提问两个串之间的最大公共子序列是否大于等于$0.99N$。
字符集只有4。
似乎是利用字符集和0.99优化一个$O(N^2)$的做法,我不太会···
可以先想象最长公共子序列的dp,然后去优化它。
1 | #include <bits/stdc++.h> |