cojs 二分图计数问题1-3 题解报告
OwO 良心的FFT练手题,包含了所有的多项式基本运算呢
其中一部分解法参考了myy的uoj的blog
二分图计数 1:
实际是求所有图的二分图染色方案和
我们不妨枚举这个图中有多少个黑点
在n个点中选出k个黑点的方案为C(n,k)
白点和黑点之间任意连边,方案为2^(k*(n-k))
所以得到f(n)=sigma(C(n,k)*2^(k*(n-k))
由于本题只需要求解一个f(n),枚举并计算就可以了
更高端一点的做法是这样的:
我们可以利用在<DAG计数问题 题解报告>中提到的技巧将n*k拆开
即n*k=n^2/2+k^2/2-(n-k)^2/2
这样我们会得到一个可以FFT的形式,之后做一遍FFT就可以求出1-n的所有f值了
二分图计数 2:
实际是求所有图中二分图的个数
设一个二分图有k个联通块,那么对于染色方案数的贡献就是2^k
设n个点的二分图的生成函数为多项式g,上一个问题的生成函数为多项式f
由于k个联通块的子集有2^k个,所以不难发现存在g^2=f
因为任意一个二分图都会在卷积的过程中被重复计算2^k次
这样我们就得到g=sqrt(f) 多项式开根即可
二分图计数 3:
实际是求所有图中联通二分图的个数
设n个点的联通二分图的生成函数为h
由于二分图是由若干个联通二分图组成的
所以得到e^h=g,变形得h=ln(g),多项式求ln即可
考虑一种更好的做法
我们定义n个点的联通二分图的染色方案总数为多项式t
显然h=t/2,问题转化成如何求t
同理我们可以得到e^t=f,变形得t=ln(f),那么我们对f做多项式求ln之后把系数除以2即可
所以进而我们也可以得到<二分图计数 2>的另一种做法
就是利用上面的方法求出h之后做多项式求exp就可以求解出g了
cojs 二分图计数问题1-3 题解报告的更多相关文章
- cojs QAQ的图论题 题解报告
话说这个题目应该叫做 斯特林数的逆袭 QAQ 先说一说部分分的算法 1.n<=5 直接暴力搜索就可以了 2.k=0的时候不难发现任意一张图的价值都是n,问题转化为计算有多少种图,显然是2^C(n ...
- cojs 简单的01串 题解报告
题意显然是求n位二进制串中不大于其逆序串,取反串,逆序取反串的所有串按字典序排序后的第k个 由于n很小,k很大所以我们可以考虑逐位确定 问题转化为了求方案数,这显然是可以用数位DP做的 设f[len] ...
- cojs 简单的数位DP 题解报告
首先这道题真的是个数位DP 我们考虑所有的限制: 首先第六个限制和第二个限制是重复的,保留第二个限制即可 第五个限制在转移中可以判断,不用放在状态里 对于第一个限制,我们可以增加一维表示余数即可 对于 ...
- cojs 强连通图计数1-2 题解报告
OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一 ...
- 2015浙江财经大学ACM有奖周赛(一) 题解报告
2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...
- 题解报告:hdu 1398 Square Coins(母函数或dp)
Problem Description People in Silverland use square coins. Not only they have square shapes but also ...
- 题解报告:hdu 2069 Coin Change(暴力orDP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069 Problem Description Suppose there are 5 types of ...
- 题解报告:hdu 1028 Ignatius and the Princess III(母函数or计数DP)
Problem Description "Well, it seems the first problem is too easy. I will let you know how fool ...
- CF Educational Round 78 (Div2)题解报告A~E
CF Educational Round 78 (Div2)题解报告A~E A:Two Rival Students 依题意模拟即可 #include<bits/stdc++.h> us ...
随机推荐
- Java 多线程 ---- 线程中this与 Thread.currentThread()线程的区别
总结起来一句话:在Thread中调用this其实就是调用Thread私有Runnable类型的target,target是Thread类的一个属性,而Thread.currentThread()是指新 ...
- git 提示:fatal: remote origin already exists. 错误解决
今天git连接远程库的时候出现fatal: remote origin already exists. 这个错误 大概是之前连接过别的库吧 然后我们的解决办法就是删除之前的连接 1.删除git远程仓库 ...
- CentOS 6U7分区大于2TB的磁盘以及挂载大于16TB分区磁盘的解决方案
一.内容介绍1.问题描述1).问题一 CentOS 6.x 在格式化大于16TB的ext4分区时,会提示如下错误: mke2fs 1.41.12 (17-May-2010)mkfs.ext4: Siz ...
- JavaScript 包管理工具npm 和yarn 对比
- vueawesomeswiper自定义 导航点
1,pagination的配置 pagination: { el: '.swiper-paginationfull', // type:'bullets', // bulletElement : 's ...
- CentOS网卡配置大全
持续更新中... 1.配置机器名 2.配置网卡属性 3.问题解决 3.1解决网卡经常需要手动重连问题 vi /etc/sysconfig/network-scripts/ifcfg-ens33 把ON ...
- windows dos命令大全
windows dos命令大全 一.windows DOS命令概述 Windows的dos命令又是Windows的CMD命令.而cmd命令又是原来MS-DOS系统保留下来. DOS来源路径与配置对应的 ...
- vuex使用
1.装包:npm install vuex -S 2.引入:import Vuex from 'vuex' //这些都是写在man.js中 3.加载到Vue中:Vue.use(Vuex) 4 ...
- mysql数据库的初始化及相关配置
接着上篇文章我们继续探讨在安装完mysq数据库之后的一些相关配置: 一.mysql数据库的初始化 我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通 ...
- (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
根据es官网的文档执行 GET /megacorp/employee/_search { "aggs": { "all_interests": { " ...