Wannafly挑戰賽5 子串行

2021-08-13 06:58:13 字數 441 閱讀 6236

解題思路:若t字串第一次出現在1-i中,那麼i-n的字元就可以隨便取了,1-i沒有被t字串中字母佔據的每個字母只能有25種取法,即在t中字母出現之前不能出現這個字母。那麼求排列組合我們在求乙個逆元就可以了。

#include#include#include#includeusing namespace std;

typedef long long ll;

const int mx = 1e5+10,mod = 1e9+7;

char str[mx];

ll x,y;

int n;

ll sum[mx],ret[mx];

void ex_euclid(ll a,ll b)

else

} int main()

{ ret[0] = sum[0] = 1;

for(int i=1;i

Wannafly挑戰賽5 補題

a 珂朵莉與宇宙 思路 科學暴力 列舉字首和,同時計算字首和裡面可能出現的完全平方數,匹配字首和 與完全平方數的差值是否在之前的字首和出現,出現了幾次就是存在多少個區間,利用的是連續的性質。include using namespace std typedef long long ll const ...

Wannafly挑戰賽A 概率DP

給你乙個長 n 的序列,m 次查詢 每次查詢給乙個 x,然後 從序列的最左端 1 開始,每次隨機的選擇乙個右端點 r,如果兩個端點間的區間和不超過 x 就進行一次分割,然後把左端點變成 r 1,否則一直隨機下去。問這樣分割出來的期望段數 第一行兩個數 n,m 之後一行 n 個數表示這個序列 之後m行...

Wannafly挑戰賽6 鎖

106號房間共有n名居民,他們每人有乙個重要度。房間的門上可以裝若干把鎖。假設共有k把鎖,命名為1到k。每把鎖有一種對應的鑰匙,也用1到k表示。鑰匙可以複製並發給任意多個居民。每個106房間的居民持有若干鑰匙,也就是1到k的乙個子集。如果幾名居民的鑰匙的並集是1到k,即他們擁有全部鎖的對應鑰匙,他們...