day1 test1
t2 irrev
【題目大意】求有多少 1~n 的排列滿足:這個排列是波動的。
用 a[i]表示排列中的第 i 個數,波動的意思是,對任意 1<=i<=n-2,
若 a[i]a[i+2]
若 a[i]>a[i+1],則 a[i+1]n<=1000, m<=10^
【思路】 dp思想,令f[i]表示i的全排列中滿足a1>a2的排列。(由於對稱性,只記先減後增或先增後減都可,最後不要忘了*2)考慮i(最大的數)的位置,列舉k=1~i。(因為規定先減後增,所以只列舉k是奇數的位置即可)
因此,i的左邊和右邊都成了小於i的若干個數的排列,結合離散化思想,左右數的分布是任意的,所以乘c(i-1,k-1)即可。
(個人理解)選取最大值的意義:在考慮其左右值時,不存在不合理解。
100分**
#include#include#include#includeusing namespace std;
#define maxn 1005
#define ll long long
int c[maxn][maxn];
int n,mod,dp[maxn];
void init()
}int ch(int a,int b,int c)
int main()
} dp[n]=dp[n]*2%mod;
cout《今天刷洛谷試煉場突然發現,這道題原來是【地精部落】哇啊啊啊
(資料範圍不一樣哦)
2018QBXT刷題遊記(15)
day3 test5 t3 chess 題目大意 兩個人在 n m 的黑白棋盤上下棋,輪流操作。每一次可選擇乙個黑色的格仔,以這個格仔和左上角的格仔為對角線,將這個矩陣的所有格仔的顏色改變。找不到乙個黑色的格仔的人輸。小 h 想讓小 c 取勝,小 c 想讓自己取勝。小 h 先手,誰能贏呢。冷靜分析 ...
2018QBXT刷題遊記(6)
day1 test2 t3 network 在電腦科學中,經常要通過分析變數之間的相關性來簡化計算過程。變數 間的相關性可以用有向圖 g v,e g v e 來表示,圖中的點表示變數,邊表示變數間 的關係。這裡 g g 滿足 g g 中的所有邊都從編號小的點指向編號大的點。從圖中選出乙個點集 t v...
2018QBXT刷題遊記(18)
day4 test6 t3 game 吐槽 這幾天寫了多少道game了!題目大意 長度為n的數列,第i次交換任意相鄰元素需要付出i的代價。操作完的序列的醜陋度是b 逆序對個數,其中b是給定的常數。求醜陋度和操作所付出的代價之和最小值。冷靜分析 繼續在紙上寫寫畫畫,突然想起逆序對個數就是相鄰交換恢復成...