時間限制:c/c++ 1秒,其他語言2秒
空間限制:c/c++ 131072k,其他語言262144k
64bit io format: %lld
求所有長度為n的01串中滿足如下條件的二元組個數:
設第i位和第j位分別位a
i和aj(ii=1,a
j=0。
答案對1e9+7取模。
輸入乙個n。
輸出答案對1e9+7取模示例1
3
6
n <= 1018
每一種串,在最前面加乙個1,對答案的貢獻就是這個串的0數,加乙個0,對答案沒有貢獻。
所以會有乙個推出來的式子
#include #include #include #include #include #include #include #include using namespace std;
#define ll long long
const int maxn = 46000+555;
const ll mod = 1e9+7;
ll qkm(ll base,ll mi)
return ans;
}int main()
else if(n==2)else
}
Wannafly挑戰賽6 鎖
106號房間共有n名居民,他們每人有乙個重要度。房間的門上可以裝若干把鎖。假設共有k把鎖,命名為1到k。每把鎖有一種對應的鑰匙,也用1到k表示。鑰匙可以複製並發給任意多個居民。每個106房間的居民持有若干鑰匙,也就是1到k的乙個子集。如果幾名居民的鑰匙的並集是1到k,即他們擁有全部鎖的對應鑰匙,他們...
Wannafly挑戰賽6 D 鎖
時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 題目描述 106號房間共有n名居民,他們每人有乙個重要度。房間的門上可以裝若干把鎖。假設共有k把鎖,命名為1到k。每把鎖有一種對應的鑰匙,也用1到k表示。鑰匙可以複...
Wannafly挑戰賽A 概率DP
給你乙個長 n 的序列,m 次查詢 每次查詢給乙個 x,然後 從序列的最左端 1 開始,每次隨機的選擇乙個右端點 r,如果兩個端點間的區間和不超過 x 就進行一次分割,然後把左端點變成 r 1,否則一直隨機下去。問這樣分割出來的期望段數 第一行兩個數 n,m 之後一行 n 個數表示這個序列 之後m行...