2019牛客網多校第八場J Just Jump題解

2021-09-26 04:57:27 字數 796 閱讀 5887

題目鏈結

思路:

補充:1.由於資料範圍達到1e7,只能通過lucas定理計算組合數。

23.gu[u][i] :受到含第i次攻擊在內,一共收到奇/偶次攻擊的情況數,再根據容斥原理,奇加偶減。

(這種題真是太難debug了,基本上就是照著ac**一步一步調)

#includeusing namespace std;

typedef long long ll ;

const int mod=998244353;

const int maxn=1e7+5;

ll inv[maxn],fac[maxn],fac_p[maxn];

ll num[2][maxn],sum[maxn],f[maxn];

int l,d,m;

struct node

int main()

nodes[0].p=nodes[0].t=0;

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

sort(nodes+1,nodes+m+1);

ll ans=f[l];

num[0][0]=1;

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

}ans=(ans+(num[0][i]-num[1][i]+mod)%mod*f[l-nodes[i].p]%mod)%mod;

}printf("%lld\n",ans);

}

2019牛客多校第八場

求所有極大全一矩陣的個數。created by keane on 2019 8 10.include using namespace std typedef long long ll const int n 3050 int a n n int n,m char s n 每個1向下延伸 int dw...

2019 牛客 多校賽 第八場

乙個區間的貢獻為這個區間的不同數字的個數,求所有子區間的貢獻和 反向思考,計算乙個數字在子區間 現的次數,當區間的左端點在這個數字上一次出現位置和當前位置之間,並且右端點在當前位置之後,這個數字都產生了貢獻,所以當前位置的數字的貢獻就是左端點數量 右端點數量,然後遍歷一遍。include defin...

2019牛客多校第八場題解 A

a 給你乙個n m的01矩陣,求出所有最大全1矩陣的數量,保證任意兩個矩陣不相互包含。考慮單調棧求最大矩形面積的做法。對於矩陣 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 0 0 我們先預處理h i j 為以該行為底的最大高度。那麼我們只要知道這個矩形最左邊的能夠到達的位...