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