2019河北省大學生程式設計競賽

2021-09-23 17:00:14 字數 596 閱讀 5665

theme:給定q,n,p,1≤n,q,p≤10^9,求s=(∑(i=1,n)q^i)mod p

solution:求q^i很簡單,用快速冪就行,關鍵是n到10^9,切丁超時。開始是想求出等比數列的和,但要除以q-1,而q-1與p又不一定互質,所以也沒法用乘法逆元。可以看出完全沒必要乙個乙個地用快速冪算,對於1~n次冪的和,我們可以先算出1~n/2次冪的和,而n/2~n的每一項對應1~n/2每一項的q^(n/2)倍,所以可以o(1)算出右半部分的和。(當然這裡還要注意長度的奇偶性)。而1~n/2的和也可以遞迴算出,這樣加上快速冪時間複雜度為o(logn*longn).

#includeusing namespace std;

#define far(i,t,n) for(int i=t;i>=1ll;

a=a*a%p;

}return ans;

}ll dfs(ll q,ll p,ll l,ll r)

else

return ans;

}int main()

ll ans=dfs(q,p,1,n);

printf("%lld\n",ans);

}}

2019ccpc河北省大學生程式設計競賽總結

大學以來第一次來參加省賽。這次的時間正好趕上了國際馬拉松比賽,賓館的 貴了不少,和大一的學弟湊合湊合擠了個四人間,還算划算。熱身賽第一天就被隔壁的真 大佬給驚到了,人生中第一次離 大佬這麼近0.0 我們隊是在打的比賽,環境什麼的都還不錯,評測機也不卡,本想著攢攢人品,奈何按不住隊友想試試的心情並且題...

2018湖南省大學生程式設計競賽總結

先說戰績,3題銅牌滾粗。比賽開始前五分鐘就發了紙質檔題面,hsx一看發現a題是個水題,立馬就想到了思路 然後比賽開始五分鐘後1發ac,然後hsx去攻雅禮已經a了的d題 看榜發現湖大有個隊第22秒就a了 手速真他媽快 還發現有人a了b題和c題,我看b題,陽哥看c題,hsx攻d題,我讀懂了題意但是沒有什...

2019內蒙古大學生程式設計競賽E

題目描述 rabbit 得到了一張秘密紙條,上面是由密密麻麻的小寫字母組成的字串。已知,字元 c 與字元 z c a 是相反的。即 a 與 z b 與 y 現在規定對稱相反子串的定義為該子串從中間到兩邊對應位置的字元都是相反的。例如給定字串 azza 其對稱相反子串有 a z az azz zza ...