小清新计数题,但我为什么不会呢???
对满足以下条件的 n 点 m 边无向简单图计数,对 109+7 取模。
n≤105,∑n≤3×107,m≤n(n−1)2
首先 m 没啥用,因为 m>n 一定无解,然后 m=0 答案为 1,m=n 答案为 (n−1)!2(注意一个环会被正反算两遍)。原题转化为将图分成 k=n−m 条链的方案数。
考虑先用 n! 种方案把点赋上编号,然后用插板法将所有点分成 k 份,首先每种分法会被算 k! 次,其次每个二元以上链会被正反算两次,再除以 2cnt,其中 cnt 表示长度 ≥2 的链的数量。考虑枚举孤点的数量 i,首先选孤点的方案数为 (ni),然后 cnt 被固定成 k−i,再套用上述做法即可。注意此时插板要求板间元素数 ≥2,可以强制钦定每个块内自带一个元素,然后转化为非空插板问题。
最终式子:∑i=0kn!(ni)(n−k−1k−i−1)2k−i(k−i)!
时间复杂度线性。
作者:dcytrl
出处:https://www.cnblogs.com/dcytrl/p/18601714
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
膜拜
题意是不是反了,要求 xi≤xi−1。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现