標籤:dp
輸出0可以騙到5分
出題人說這是最簡單的一題,果然題目順序和難度無關qwq
當n>m時不存在合法的序列,所以答案為0
我們可以將區間[l,r)看成括號匹配
位置i最終的值就是左邊的左括號數量減去左邊的右括號數量
設f[i][l][r]表示i位置左邊有l個左括號,r個右括號的方案數,ans[i][l][r]表示這些方案數的貢獻和。 每次
令ans
[i][
l][r
]+=f
[i][
l][r
]∗(l
−r)k
f轉移的時候只需要討論i+1上是否放左括號或者右括號就可以了
#include
#include
#include
#include
#include
#include
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define dep(i,a,b) for(int i=a;i>=b;i--)
#define ll long long
#define mem(x,num) memset(x,num,sizeof x)
#define reg(x) for(int i=last[x];i;i=e[i].next)
using namespace std;
inline ll read()
while(ch>='0'&&ch<='9')
return
x*f;
}const int maxn=356,mod=998244353;
int t=0,m,n,k,f[2][maxn][maxn],ans[2][maxn][maxn];
ll g[maxn];
ll qpow(ll x,ll y)return re;}
int main()
rep(i,1,m)g[i]=qpow(i,k);
f[0][0][0]=1;
rep(i,1,n)
val=s=0;
}t^=1;
}cout
0;}
雅禮集訓 小C飲水記
標籤 鍊錶,貪心 暴力做法 貪心,對於每個區間,從大到小排序,顯然,wi大的對答案貢獻越大 時間複雜度o n 3 log n 正解 因為題目輸出實數,所以當交換次數到一定時候,對答案的影響可以忽略不計 這個t大約是30次 對每個wi的貢獻單獨計算 每個wi只對相鄰的t個產生貢獻,所以取前後各t個 計...
2018雅禮集訓1 18 日記 線段樹
真tm線段樹神題。設 l,r 複雜值為tl r首先對於詢問 l r 把問題轉化為 n i 1 nj i ti,j l 1i 1 l 1 j it i,j ni r 1 nj i ti,j 我們先考慮字首的,字尾的反過來再做一遍就是了。我們設f i 為 i j 1t j,i 那麼fi 的字首和就是所求...
雅禮培訓 Problem A 線段樹
維護一段區間,支援求區間最大值,區間且,區間或 n,q 2 10 5 我們用線段樹維護區間最大值 對於and和or運算,and實質就是強行把一些位改為0 or實質就是強行把一些位改為1 那麼由線段樹區間標記的思想,如果某個操作對整個區間的影響是相同的,並且能很快維護出當前節點資訊,我們就可以通過打標...