1. 程式人生 > >華東師範大學第十屆ECNU Coder程序設計競賽

華東師範大學第十屆ECNU Coder程序設計競賽

折線 line ID 平移 strong 行修改 個數 連續 -c

華東師範大學第十屆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)\)

華東師範大學第十屆ECNU Coder程序設計競賽