2023年多校聯合第一場

2021-06-16 23:57:09 字數 1097 閱讀 8101

c題:數論題目,討論n和k的大小關係,很明顯n==k時輸出1,n-k==1時是2,nk時推出公式2^(n-k)+(n-k-1)*2^(n-k-2),然後通過整數快速冪就可以了

對於1 <= k < n,我們可以等效為n個點排成一列,並取出其中的連續k個點。下面分兩種

情況考慮: 

第一種情況,被選出的不包含端點,那麼有(n – k − 1)種情況完成上述操作,剩下未被圈的點

之間還有(n – k − 2)個位置,可以在每個位置斷開,所以共2^(n−k−2) ∗ (n−k−1)種方法。 

第二種情況,即被選出的包含端點,那麼有2種情況,並且剩餘共(n – k − 1)個位置,所以共

2 ∗ 2^(n – k − 1)種方法。 

總計2 ∗ 2^(n – k − 1) + 2^(n – k − 2) ∗ (n – k − 1)  =2^(n-k)+(n-k-1)*2^(n-k-2)

#include#include#include#include#include#define mod 1000000007

using namespace std;

long long a,b;

long long power(long long a,long long b)

else

}return ans;

}int main()

e[n*2];

inline void add(int u,int v)

void addedge(int u,int v)

void dfs(int f,int u,int d)

for(i=head[u];i!=-1;i=e[i].next)

}void init()

int main()

sum+=ans[i];

}return sum;

}int main()

if(ans[0]) printf("%d",ans[0]);

for(int j=1; j<=len; j++)

printf("%d",ans[j]);

printf("\n");

}return 0;

}

2013多校第一場

c 找規律的題。主要是把題目裡的加法與去火柴的模型聯絡起來,然後利用排列組合的原理找公式。小結 我一開始一直在研究每個數和每個數出現的次數,以及題目給的f n 2 n 1 有啥關係,最後也沒研究個啥結論,看題解才知道的。include include include include include ...

2013第一場多校

多校第一場 1011 1 將每個數對應的4種情況求出來,並儲存每個數對應的狀態。2 問題轉化為 共有16種卡牌,每種卡牌可以選ai個,選了某種卡牌將得到bi的權值。將所有選定的bi進行 運算,若4位中的某一位為0,則需要額外的花費。3 直接進行2 16的列舉,表示某種物品選還是不選,每個物品至少選乙...

2020多校第一場1005

利用斐波拉契數列的通項公式。先利用二次剩餘和逆元得出三個常數。將式子多項式展開,發現等比數列的規律。遍歷k,等比求和,用逆元求組合數。include include include using namespace std typedef long long ll const int n 100005...