原題是thupc2018蛋糕,然後這裡擴充套件到了n維,沒什麼區別。
核心思想就是乙個塊在其他維度上隨便亂跑,在這個維度上也能隨便亂跑。
所以我們實際上要考慮的就是在每一維上出現0,1,2個面的方案數。每一維可以任意選擇,所以直接分治ntt把每一維的生成函式乘起來就行了。
**:
#include
#define ll long long
#define re register
#define gc get_char
#define cs const
namespace io
template
<
typename t>
inline t get()
inline
intgi()
}using
namespace io;
using std::cerr;
using std::cout;
cs int mod=
998244353
;inline
intadd
(int a,
int b)
inline
intdec
(int a,
int b)
inline
intmul
(int a,
int b)
inline
intpower
(int a,
int b,
int res=1)
inline
void
inc(
int&a,
int b)
inline
void
dec(
int&a,
int b)
inline
void
mul(
int&a,
int b)
typedef std::vector<
int> poly;
cs int bit=
19,size=
1
,*w[bit+1]
;inline
void
init_ntt()
inline
void
ntt(
int*a,
int l,
int typ)
if(typ==-1
)}inline
void
init_rev
(int l)
inline poly operator
*(cs poly &a,cs poly &b)
cs int n=
1e5+7;
int n;
poly f[n]
;inline poly solve
(int l,
int r)
inline
void
solve()
else
} poly g=
solve(1
,n);
for(
int re i=
0,li=g.
size()
;i++i)cout<<<
" ";
for(
int re i=g.
size()
;i<=
2*n;
++i)cout<<
"0 "
;cout<<
"\n";}
signed
main()
17 10 20題目泛做
終於停課了 於是來補一發題解 hzwers模擬t1 逗比三角形 題意 給若干個三角形的三邊長然後問如何把這些三角形放在乙個寬度l ll高度無限的矩形框裡面使得這些三角形有一條邊緊貼矩形底邊的同時在矩形框裡面覆蓋的面積最大,並算出這個面積 分析 這非常結論題 顯然我們把三角形裡面最短的那條邊放在下面是...
17 10 24題目泛做
題意 求二維和與rmq,保證每次查詢的區間長寬不超過整個矩陣長寬的一半 分析 二維和沒難度,二維rmq這裡因為資料有問題 只好開short水過,同時順便加上了連續訪問的黑科技然後卡了過去 不過正解是經典的思想,就是一種簡單的變形 但好難寫啊qaq 我們考慮f i,j,k 表示以 i j 為左上角,邊...
CS Academy 題目泛做
乙個神犇同學向我推薦了這個oj。這個oj上的題目都是挺經典的。資料 標程 題解都有,已經是很方便了。出於強迫症,下面的題目按照字典序排列。太簡單的題大家應該都能一看就會,就直接略了。這個網經常崩,做起來好麻煩,所以這個坑先停了吧 addition 略。a game 顯然如果當前還有b就不會去選a。也...