wannafly day4 G 置置置換

2021-09-10 22:06:34 字數 1000 閱讀 9431

題目大意:求合法的1-n的排列數滿足奇數為峰,偶數為谷(n>=2)

法1 dp

狀態表示有點不太好理解,解法參考 **jayye

#include #include #include #include #define ll long long

using namespace std;

const int maxn=1005;

const int mod=1e9+7;

ll dp[maxn][maxn];

int main()

for(int i=2;i<=n;i++)//前i個數

}else}}

ll ans=0;

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

cout《法2:組合數學法

參考當晚上台講題的同學 (流弊!)

題解思想:ans[i]表示前i個數合法排列的結果

ans[x+1]就是將x+1固定,在其左邊和右邊各插入x個數

1.要滿足左右獨自合法,這裡代入ans[i],數字大小改變了,但是相對大小關係不變,選i個數的合法排列答案就是ans[i]

2.要滿足x+1這個數所在的位置合法,這個數一定最大,所以必為峰,只能在偶數字,*inv[2]就可以了

#include #include #include #include #define ll long long

using namespace std;

const int n =1005;

const int mod =(int)1e9+7;

int comb[n][n];

ll ans[n];

ll f[n],finv[n],inv[n];//f中存的是階乘,finv中存的是逆元的階乘(分母)

void init()

int main()

ans[i+1]=(ans[i+1]*inv[2])%mod;

}cout

}

pgAdmin4 重置布局

pgadmin4 是網頁版客戶端,而且在其網頁上可以通過拖拽改變布局。當布局混亂時可以通過 選單file reset layout功能來重置。如果這篇隨筆只是為了說以上這句話就沒必要了,而且你根據搜尋引擎照過來肯定也不是為了這麼簡單的功能。我遇到的情況是file選單消失了,我的右手不受控制的一頓亂拽...

10 17T4 位置前字尾 map查詢

給出1 n的乙個排列,統計該排列有多少個長度為奇數的連續子串行的中位數是b。中位數是指把所有元素從小到大排列後,位於中間的數。第一行為兩個正整數n和b 第二行為1 n 的排列。輸出乙個整數,即中位數為b的連續子串行個數。輸入1 5 41 2 3 4 5 輸入2 6 31 2 4 5 6 3 輸入3 ...

第4周 專案3 1 單鏈表應用 逆置

檔案及 檔名稱 test.cpp 作 者 焦夢真 完成日期 2015年10月5日 版 本 號 v1.0 問題描述 設計乙個演算法,將乙個帶頭結點的資料域依次為a1,a2,an n 3 的單鏈表的所有結點逆置,即第乙個結點的資料域變為an,最後乙個結點的資料域為a1。輸入描述 無 程式輸出 逆置後的資...