![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论-组合数学
Ambrumf
这个作者很懒,什么都没留下…
展开
-
CF 1598 D. Training Session 图论
思路:考虑用总方案数减去不符合要求的方案数,不符合要求的方案为选择的三个数恰好有两个数a[i]a[i]a[i]不同且恰好有两个数b[i]b[i]b[i]不同,先选定两个a[i]a[i]a[i]相同的数再选择b[i]b[i]b[i]相同的数即可得到答案#include <bits/stdc++.h>using namespace std;typedef long long ll;pair<ll,ll> p[200005];ll cnt1[200005],cnt2[200005原创 2022-01-03 21:13:22 · 203 阅读 · 0 评论 -
CF 1622D Shuffle 组合数学 构造
题解:枚举最左和最右发生改变的位置,可看作将j-i+1个位置上的1重新分配。如果末端位置的数为0,直接分配一个1,如果末端位置的数为1,分配一个零,然后将[c1+c0][c0]加给答案;代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;int mod=998244353;int C[5005][5005],pre[5005];int add(int x,int y){return (x+y)%mo原创 2021-12-29 15:18:25 · 1024 阅读 · 0 评论