Wannafly挑戰賽5 補題

2022-05-31 10:12:09 字數 770 閱讀 3100

a 珂朵莉與宇宙

思路:

科學暴力:列舉字首和,同時計算字首和裡面可能出現的完全平方數,匹配字首和 與完全平方數的差值是否在之前的字首和出現,出現了幾次就是存在多少個區間,利用的是連續的性質。

**:
#include using namespace std;

typedef long long ll;

const int maxn = 100005;

int n;

ll b[1005],sum[maxn],vis[maxn*10],cnt;

int main()

for(int i=0;i<=sum[n];++i) vis[i]=0;

vis[0]=1;

cnt=0;

for(int i=1;i<=n;++i)

}vis[sum[i]]++;

}printf("%lld\n",cnt);

}return 0;

}

b 可程式設計拖拉機比賽

思路:

控制精度,不亂用ceil與floor函式

**:
#include using namespace std;

int a[2][4];

int main()

for(int i=1;i<=3;++i)

printf("\n");

}return 0;

}

Wannafly挑戰賽5 子串行

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

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,即他們擁有全部鎖的對應鑰匙,他們...