Wannafly挑戰賽6 C 逆序對 思維

2021-08-13 23:59:39 字數 704 閱讀 7137

時間限制: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行...