傳送門
思路:考慮怎麼才不會算重。
顯然你的序列可以變化成:121
2....xx
+1xx
+1...ma
x1\ 2\ 1\ 2....x\ x+1\ x\ x+1...max
1212..
..xx
+1xx
+1..
.max和12
12....xx
+1xx
+1...ma
xmax
−1
1\ 2\ 1\ 2....x\ x+1\ x\ x+1...max\ max-1
1212..
..xx
+1xx
+1..
.max
max−
1中的任意一種。
證明顯然。
於是我們列舉max
maxma
x是多少就成了簡單組合計數問題。
**:
#include
#define ri register int
using
namespace std;
const
int n=
2e6+5;
typedef
long
long ll;
const
int mod=
1e9+7;
inline
intadd
(const
int&a,
const
int&b)
inline
intdec
(const
int&a,
const
int&b)
inline
intmul
(const
int&a,
const
int&b)
inline
void
add(
int&a,
const
int&b)
inline
void
dec(
int&a,
const
int&b)
inline
void
mul(
int&a,
const
int&b)
inline
intksm
(int a,
int p)
int fac[n<<1]
,ifac[n<<1]
,n,m;
inline
void
init()
inline
intc
(int n,
int m)
intmain()
cout
}
BZOJ 4402 Claris的劍 組合數學
由於存在集合等價的情況,我們就只考慮字典學最小的方案 假設最大值是ma x 那麼構造出的序列有兩種情況 1,2,1,2,1,2.3,2 3,2 3.ma x 2,max 1,ma x 2,max 1.ma x 1,2,1,2,1,2.3,2 3,2 3.ma x 2,max 1,ma x 2,max...
BZOJ4402 Claris的劍(組合數學)
這裡放傳送門 這題比較關鍵的一點就是注意到題目裡說兩把劍本質不同當且僅當存在一種數字的出現次數不同。也就是說這個東西跟數字的出現順序是無關的。那麼我們可以考慮確定一種排序方式讓每一種本質不同的解都唯一對應一種看起來比較好做的序列。因為每兩個元素相差必須是1,通過多畫幾個試試觀察可以發現每一種合法解都...
bzoj 4402 Claris的劍 組合數學
time limit 10 sec memory limit 256 mb submit 375 solved 213 submit status discuss claris想要鑄一把劍,這把劍必須符合他的審美,具體來說,我們可以把這把劍的不同地方的寬度看成乙個序列,這個序列要滿足以下條件 1.每...