华东师范大学第十届ECNU Coder程序设计竞赛
浮点数模运算
solution
转成整数然后取模。
时间复杂度:\(O(1)\)
数螃蟹
solution
找出公差出现次数最多的作为公差,然后找出最长的符号公差的连续序列,其它数以该序列为基准进行修改。
时间复杂度:\(O(n)\)
面向对象程序设计
solution
做一次\(dfs\),在\(dfs\)的过程中每个函数维护一个栈即可。
时间复杂度:\(O(n)\)
无聊的数学题
solution
答案是\(2^{2^n-n}-(k==0) mod p\), 因为其实只要\(n\)个数的异或组合就能表示所有的值,所以其它数可选可不选,但因为集合不能为空,所以\(k==0\)时要减去一个空集。
校园卡清零
solution
先做一次背包求出一种可行的方案,因为每一个需要的东西在每一天都有\(\frac{1}{2}\)的概率出现,所以这个方案还是很可能可以完成的,因此每天如果有需要的东西就吃,否则不吃。
时间复杂度:\(O(n^2)\)
我绝不会 WA
solution
将原图拆分成十个子图,构造一个容易让程序出错的图,然后复制十遍,这样程序出错的概率就会大大增加。
时间复杂度:\(O(n)\)
忽冷忽热
solution
\(37^\circ\)并没有什么用,只是将图平移了一下而已。将折线映射到\(y\)轴上,某条折线对应的映射区间的值加折线的\(cot\)值,与\(x\)轴平行的线要特殊处理,然后将连续\(h\)个点的和的最大值。
时间复杂度:\(O(n)\)
周期字符串
solution
不失一般性,假设\(n>m\),设\(s'=ss\),预处理出以\(s'_i\)开头的\(m\)字母与\(t\)相同的个数,这个可以用\(FFT\)解决。剩下的事情就很好办了。
时间复杂度:\(O(4nlogn)\)