CF競(jìng)賽題目講解_CF1738E(排列組合 + 整數(shù)乘法逆元)
2022-10-27 08:49 作者:Clayton_Zhou | 我要投稿
AC代碼
https://codeforces.com/contest/1738/submission/178038696
題意:
給定一個(gè)長(zhǎng)度為n的整數(shù)序列a1,a2,…,an,您的任務(wù)是計(jì)算將其劃分為幾個(gè)非空連續(xù)子序列的方法的數(shù)目,
從而使子序列中的元素之和形成一個(gè)平衡序列。
如果s_i=s_{k-i+1},長(zhǎng)度為k的序列s1,s2,…,sk稱為平衡序列,1≤i≤k、?
例如,[1,2,3,2,1]和[1,3,3,1]是平衡的,但[1,5,15]不是平衡的。
題解:
排列組合 + 整數(shù)乘法逆元
?計(jì)算前綴和pre[i],如果mp[pre[n]-pre[i]] 非零,說(shuō)明存在序列的后綴之和為pre[i]。
?整數(shù)序列沒(méi)有0元素的話,使用簡(jiǎn)單的排列組合即可。
?如果整數(shù)序列 有0元素的話,使用下面題目給出的公式:
給定一個(gè)長(zhǎng)度為n的整數(shù)序列a1,a2,…,an,總共有2^{n?1}個(gè)不同的劃分方法。
標(biāo)簽: