JZOJ5351. 【NOIP2017提高A组模拟9.7】简单无向图 DP+组合数学
来源:互联网 发布:登录名无法访问数据库 编辑:程序博客网 时间:2024/06/11 05:24
题意:给出n个点和每个点的度数,问能有多少种组合方式形成一个简单无向图(多个联通块允许)。n<=2e3.
这题充分暴露出我的组合数学有多差。。
首先你需要手玩一段时间发现构造的图要不然是链要不然是环。
然后我们就可以按照情况DP了。
首先对于所有di=1的点,我肯定只能连成一条链。
那很好办了,设
然后就是分类讨论&组合数学大法好。
情况1:新建一个环。
情况2:插入环中。
情况3:插入链中。
情况4:新建一条链
不存在的,链的条数在一开始就确定了(tot1/2),所以tot1为奇数方案数是0,这以后的操作只不过是在看是否能链条之间的互相插入而已。
注意把di=1之间的方案数算起来和f乘起来才是总方案数。
#include<cstdio>#include<algorithm>#include<cstring>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;const int N=2e5+5;typedef long long ll;int a[N],n;const int mo=998244353;ll sum,ans,fac[N],tot1,tot2,f[2005][2005],g[N];int main(){ freopen("graph.in","r",stdin); freopen("graph.out","w",stdout); scanf("%d",&n); fo(i,1,n)scanf("%d",&a[i]); fo(i,1,n) { if (a[i]==1)tot1++; else tot2++; } g[0]=1; fo(i,2,tot1)g[i]=(g[i-2]+1ll*g[i-4]*(i-2)*(i-3)%mo)%mo; ans=g[tot1]%mo; tot1/=2; f[0][0]=1; fo(i,1,tot2) { fo(j,0,i) { if (tot1)f[i][j]=1ll*f[i-1][j]*(i-j-1+tot1)%mo;//line add if (j>2)f[i][j]=(f[i][j]+1ll*f[i-3][j-3]*(i-2)*(i-1)/2%mo)%mo;//new loop; if (j)f[i][j]=(f[i][j]+1ll*f[i-1][j-1]*(j-1)%mo)%mo; } } fo(i,0,tot2)sum=(sum+f[tot2][i])%mo; printf("%lld\n",ans*sum%mo);}
阅读全文
0 0
- JZOJ5351. 【NOIP2017提高A组模拟9.7】简单无向图 DP+组合数学
- 【NOIP2017提高A组模拟9.7】简单无向图
- 【NOIP2017提高A组模拟9.7】简单无向图 dp
- JZOJ5384. 【NOIP2017提高A组模拟9.23】四维世界 组合数学
- 【NOIP2017提高A组模拟7.7】图
- JZOJ5377. 【NOIP2017提高A组模拟9.19】开拓 DP
- JZOJ5350. 【NOIP2017提高A组模拟9.7】陶陶摘苹果
- [JZOJ5352]【NOIP2017提高A组模拟9.7】计数题
- 【NOIP2017提高A组模拟9.7】计数题
- jzoj5336 【NOIP2017提高A组模拟8.24】提米树 (dfs序dp,奇异姿势dp)
- JZOJ 100026. 【NOIP2017提高A组模拟7.7】图
- A【NOIP2017提高组模拟12.18】
- 【JZOJ4928】【NOIP2017提高组模拟12.18】A
- 【NOIP2017提高组模拟12.18】A
- 【JZOJ4928】【NOIP2017提高组模拟12.18】A
- 【NOIP2017提高A组模拟7.13】abcd
- 区间【NOIP2017提高A组模拟7.10】
- 【NOIP2017提高A组模拟8.22】密码
- 跨越千年海丝梦,合作共赢十洲人
- 代码片段----cv::FileStorage
- Java几种常用算法汇总
- 队列
- Vue—九天磨一剑之es6模块规范,webpack,vue-cli脚手架的使用
- JZOJ5351. 【NOIP2017提高A组模拟9.7】简单无向图 DP+组合数学
- 日期时间工具类
- P1116 车厢重组
- virtio,vhost 和vhost-user
- 机器学习第七周(三)--using SVM
- [SDOI2012]Longge的问题 phi运用
- Tomcat 7 的新JDBC连接池的使用说明
- P2192 HXY玩卡片
- 摄像机标定