哎,從大一下學期末開始正式打acm,到現在大三了。今年就a了6題拿了二等。c題真的就是差一點功力。沒想到預處理o(1)判組合數奇偶性,套lucas定理又超時。然後就因此錯別金。
現在想起來真的是沒辦法。很無力。確實acm是三個人打的遊戲,我們有個天賦很好的選手可惜不喜歡刷題。。。能夠有非常巧妙的靈感。但是到底刷題量不夠還是不行。沒辦法,乙個人再怎麼努力也是行不通的。
其實也挺無語的,這次叉姐出的題,h,c。一道銀牌題,一道金牌題。可惜全是數學題。我準備了那麼久dp,那麼多資料結構,字串,圖論都沒派上用場。說到底還是被數學題給打爛了。還是缺少一點知識面啊。
昨天剛打完,今天人都比較失落吧。。。準備了這麼久,到頭來還是乙個二等。現在只能不停的安慰自己,人生不是完美的,沒有什麼人的一生是一帆風順的。現在都不知道怎麼去面對接下來的事情了。一下覺得心裡落空很多…
哎,上面講的比較亂,現在來講一下如何預處理o(1)的判組合數奇偶性。
方法一:
關鍵點:乙個數是偶數,則必定存在至少乙個素因子2.
那麼考慮到c(n
,m)=
n!m!
∗(n−
m)
!c(n,m)=\frac
c(n,m)
=m!∗
(n−m
)!n!
現在就是求階乘中因子2的個數,這個就是∑i=
1log
ix⌊x
2i⌋∗
i\sum_^\lfloor\frac\rfloor * i
∑i=1lo
gix
⌊2i
x⌋∗
i 所以可以預處理1到1e6的階乘中因數2的個數。 o(n
logn
)o(nlogn)
o(nlog
n)然後根據組合數的階乘表示方法,我們可以o(1
)o(1)
o(1)
的判斷分子的因子2的個數,以及分母的因子2的個數.判斷大小關係即可.
方法二:
結論:c(n
,k
)c(n,k)
c(n,k)
,當n &k
=k
n \& k = k
n&k=
k時,組合數是奇數,否則是偶數.
2020CCPC秦皇島賽後總結
第一次參加區域賽,出了五道題,第六題出思路到cdx碼 只剩下半個小時,最後卡超時分析出錯誤只剩下五分鐘錯失銀牌,如果時間多爭取點成績應該會更理想。比賽期間大部分時間都是cdx在當鍵盤手,如果在f題讀完題後我立刻上手,k題的出題機會會大大增加。而且乙個人讀完題目後當作其他兩個人的翻譯機,而不能把演算法...
CSP J賽後總結
csp j賽後總結 t1t2 t3t4 100100040 t1看到題目,啊 好水 大概十分鐘就打完了。做法 用字串統計一下就好了。en 沒有出現奇奇怪怪的錯誤。100 get t2 看到題目,嗯?好眼熟?好像做過?其實和原來有很大不同,直接推翻程式3次 刪掉整個程式的感覺真好 花了1到2小時才做完...
CSP J 賽後總結
感想like a sunrise getting better and better.像日出一樣,愈來愈好,所有的一切。題記 原洛古評測 t1t2 t3t4 10050030 悲慘的現實 t1t2 t3t400 00這是乙個血與淚的教訓。哎,竟然手殘到沒有打cstdio標頭檔案。原本可以二等,結果與...