拆贡献算总和(抓住双射)+竞赛图与连通分量相关计数:arc163_d

news/2024/4/25 14:58:56

https://atcoder.jp/contests/arc163/tasks/arc163_d

首先竞赛图有个性质:

在这里插入图片描述
然后有了这个性质,我们就可以考虑计数题的经典套路,拆贡献算总和。

考虑假如我们成功划分成两个集合 A , B A,B A,B,其中一个可以为空(我们可以令 A A A 可以为空,防止算重),我们就记为算到一个新的连通块。

为什么是对的?

考虑对于 k k k 个连通块的竞赛图,必然会有 k k k 种划分方法。而对应每种划分方法,恰好也对应着其某些竞赛图的一种划分方式中相对应的连通分量。这个过程形成一个双射关系。

最关键的地方抓住了,然后剩下直接上dp就行了。

d p i , j , k dp_{i,j,k} dpi,j,k i i i 个点, j j j 个在 A A A 里,有 k k k 个为小连大。转移枚举在哪个连通块,有多少条边为小连大,转移系数乘个组合数就行了。

	f[1][0][0]=f[1][1][0]=1; for(i=1; i<n; ++i) {for(j=0; j<=i; ++j) for(k=0; k<=m; ++k) {for(c=0; c<=j && k+c<=m; ++c) {Add(f[i+1][j+1][k+c], f[i][j][k]*C(j, c)%mo); }for(c=0; c<=i-j && k+j+c<=m; ++c) {Add(f[i+1][j][k+j+c], f[i][j][k]*C(i-j, c)%mo); }}}for(i=0; i<n; ++i) Add(ans, f[n][i][m]); 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.tangninghui.cn.cn/item-222.htm

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

2023最新AI创作商用ChatGPT源码分享+支持AI绘画

一、SparkAI智能创作系统 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文…

uniapp cli创建 vue3 + typeScript项目 配置eslint prettier husky

1 命令创建项目 npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project2 下载依赖 npm install3 填写appid 4 运行项目并且微信开发工具打开 npm run dev:mp-weixin5 安装 vscode 插件 安装 **Vue Language Features (Volar)** &#xff1a;Vue3 语法提示插件 安装 *…

Learn Prompt-为什么用 ChatGPT API?

引用人工智能先驱吴恩达先生说过的话&#xff1a;“一个系统需要的远不止一个提示&#xff08;prompt&#xff09;或者一个对LLM&#xff08;大性语言模型&#xff09;的调用。” API的优点&#xff1a; 集成更深: 通过 API&#xff0c;您可以将 ChatGPT 集成到自己的系统和工…

机器学习第七课--情感分析系统

分词 分词是最基本的第一步。无论对于英文文本&#xff0c;还是中文文本都离不开分词。英文的分词相对比较简单&#xff0c;因为一般的英文写法里通过空格来隔开不同单词的。但对于中文&#xff0c;我们不得不采用一些算法去做分词。 常用的分词工具 # encodingutf-8 import …

RocketMQ快速实战以及集群架构详解

⼀、 MQ 简介 MQ &#xff1a; MessageQueue &#xff0c;消息队列。是在互联⽹中使⽤⾮常⼴泛的⼀系列服务中间件。 这个词可以分两个部分来看&#xff0c;⼀是Message &#xff1a;消息。消息是在不同进程之间传递的数据。这些进程可以部署在同⼀台机器上&#xff0c;也可以…

grafana结合Skywalking追踪Trace(一)

SW应用中对Trace的跟踪一直占有重要的地位&#xff0c;即可以用户指定的tag值&#xff0c;可以筛选出感兴趣的trace(跟踪链)&#xff0c;用户可以通过跟踪链追踪各个Span的详细情况。 但是在使用SW OAP原生页面中会存在两个问题&#xff1a; 1&#xff09; Trace数量太多了&…