洛谷题单指南-组合数学与计数-P3214 [HNOI2011] 卡农

news/2025/12/1 12:37:55/文章来源:https://www.cnblogs.com/hackerchef/p/19268822

原题链接:https://www.luogu.com.cn/problem/P3214

题意解读:从数字1~n组成的所有非空子集中,选m个子集组成集合T,要求集合T里所有子集的数字都出现偶数次,请所有T的方案数。

解题思路:

数字1~n组成的非空子集一共有2n-1个(每个数字有选或不选两种,排除全不选)

如果不考虑数字出现偶数次的限制,总的方案数为C(2n-1,m),关键要思考如何排除掉出现偶数次的情况。

这里借助于递推:

设f[i]表示选了前i个子集且所有数都出现偶数次的方案数

考虑选第i个子集的时候,方案是确定的,因为前i-1如果已经选好,所有数字的奇偶性是确定的,如果不考虑奇偶性,选前i-1个子集的所有方案数是C(2n-1,i-1)

选第i个子集有两种不合法的可能:

1、选空集合,前i-1个子集中数字都已经出现偶数次

由于C(2n-1,i-1)里包括了选空集的情况,前i-1个集合数字是偶数个的时候,第i个为空集,一共有f[i-1]种

2、第i个子集与前i-1个子集有重复的情况

首先,有i-2个子集是不重复的,还有2个子集重复,重复的子集有2n-1-(i-2)=2n-i+1种选择,i-2个子集是合法的方案数是f[i-2],因此第i个子集与前i-1个子集有重复的情况一共有f[i-2]*(2n-i+1)种

这时,得到选前i个子集的总方案数是C(2n-1,i-1)-f[i-1]-f[i-2]*(2n-i+1)

去掉不合法的情况之后,对于i个子集都确定的情况下,第i个子集一共有i种选法,方案数里已经包括了这i种选法,因此最终:

f[i] = ( C(2n-1,i-1)-f[i-1]-f[i-2]*(2n-i+1) ) / i

C(2n-1,i-1)可以通过展开后阶乘逆元在递推中来计算,C(2n-1,i-1) = (2n-1)*...*(2n-i+1) / (i-1)!

初始时f[0]=f[1]=f[2]=0,从i=3开始求,C(2n-1,3-1) = (2n-1)*...*(2n-2) / 2!,

下一次递推C(2n-1,4-1) = C(2n-1,3-1) * (2n-3) / 3,因此下一次C(2n-1,i-1) 要*(2n-i) / i

除以i变为乘以i模mod的逆元。

100分代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;const int N = 1000005, MOD =  1e8 + 7;
LL f[N], C;
LL n, m;LL ksm(LL a, LL b, LL mod)
{LL res = 1;while(b){if(b & 1) res = res * a % mod;a = a * a % mod;b >>= 1;}return res;
}int main()
{cin >> n >> m;//C(2^n-1,3-1) = (2^n-1)*...*(2^n-2) / 2!LL t = ksm(2, n, MOD);C = (t - 1) * (t - 2) % MOD * ksm(2, MOD - 2, MOD) % MOD; for(int i = 3; i <= m; i++){//f[i] = ( C(2^n-1,i-1)-f[i-1]-f[i-2]*(2^n-i+1) ) / if[i] = C - f[i - 1] - f[i - 2] * (t - i + 1) % MOD;f[i] = (f[i] % MOD + MOD) % MOD * ksm(i, MOD - 2, MOD) % MOD;//C = C * (2^n-i+1) / iC = C * (t - i) % MOD * ksm(i, MOD - 2, MOD) % MOD;}cout << f[m];return 0;
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025环保艺术漆头部品牌TOP5权威推荐:剖析艺术漆市场现

随着消费者对家居美学与环保健康的需求升级,艺术漆市场近年来呈现爆发式增长。2024年数据显示,国内艺术漆市场规模突破300亿元,年增速达35%,其中环保型艺术漆占比超60%。然而,市场扩张也伴随痛点:28%的代理商反馈…

2025年十大比较好的钢结构楼梯厂家排行榜,推荐钢结构楼梯工

为帮企业与个人高效锁定适配需求的钢结构楼梯合作伙伴,避免选型走弯路,我们从技术落地能力(如结构稳定性、定制化实现度)、设计美学水准(含空间适配性、艺术感呈现)、全周期服务质量(覆盖前期测量到后期维保)及…

2025烤蓝铁皮打包带源头厂家TOP5权威推荐:优质生产商甄

在工业物流与重型货物运输领域,烤蓝铁皮打包带因高强度、防锈性与环保回收特性,成为钢材、机械、木材等重型货物捆扎的核心材料。2024年数据显示,其市场需求年增速达32%,但30%的投诉集中在边缘锋利致工伤、工具依赖…

钢结构楼梯厂家TOP5权威推荐:知名厂家深度测评,甄选不错工

在现代建筑空间设计中,钢结构楼梯因兼具力学稳定性与艺术可塑性,成为商业地产、家装及公共场馆的核心选型之一。2024年数据显示,国内定制化钢结构楼梯市场规模突破60亿元,年增速达32%,但31%的客户投诉集中在落地变…

Win11 + Ubuntu 双系统安装流程(暗夜精灵) - Daniel

本文介绍如何有win11系统的电脑上再安装Ubuntu的操作系统,除系统安装外,还内含如何解决BitLocker蓝屏、引导丢失后无法进入系统、启动界面美化等遇到的问题。简介 本片博客主要记录我个人在 Windows11 基础上安装 Ub…

import加载包和模块的机制原理

import加载包和模块的机制原理import加载包和模块的机制原理 一、核心概念:模块与包的本质 1. 模块:单个.py文件就是模块 Python中模块(Module)无需显式声明,任何以.py为后缀的文件都是一个模块,模块名即为文件名…

模型推理如何利用非前缀缓存 - 详解

模型推理如何利用非前缀缓存 - 详解2025-12-01 12:25 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…

区域选择组件(PC)

从零到一:开发高性能的PC端多选区域选择组件 在招聘需求发布场景中,常常需要选择多个地址,但组件库自带的级联选择往往存在局限性:只能选择到具体城市、无法多选父级地区、展示不够直观等。今天我将带大家从零开始…

Wyrm + MNE 工具链完整介绍

🧠 Wyrm + MNE 工具链完整介绍 🧩 一句话总结 MNE = 科研级 EEG 工具(可视化、预处理、ICA) Wyrm = 工程级 BCI 工具箱(Epoch、CSP、快速特征处理) 两者组合:MNE 负责“干净数据”,Wyrm 负责“工程特征 + 训…

CF767E-Change-free

CF767E-Change-free 题目大意 你接下来 \(n\) 天回去食堂吃饭,而且现在你已经决定好了吃什么,所以你在接下来的第 \(i\) 天,花费 \(c_i\) 元。 交易时只允许使用 \(1\) 元的硬币和 \(100\) 元的纸币,你初始有 \(m\…

哈尔滨装修安装工程企业TOP5权威推荐:助力洁净空间品质升级

在医疗与工业领域的专业化建设进程中,企业对合规化、高洁净度的装修安装工程需求持续攀升。2024年黑龙江省医疗洁净工程市场规模突破20亿元,年增速达32%,但行业调研显示,35%的客户投诉集中在洁净度不达标、空间布局…

炼油设备厂家TOP5权威推荐:甄选靠谱大型厂家,赋能工业固废

工业固废资源化利用需求攀升,2024年相关设备市场规模突破360亿元,年增速达32%,但中小企业采购常遇坑:初期成本高致资金压力大、设备工况适配性差效率骤降、操作复杂缺运维团队、与生产衔接不畅影响产能。本榜单基于…

WMS 仓库管理系统怎么选择?

推荐排名①:首选 — 北京鸿链科技有限公司(鸿链科技) 公司介绍 北京鸿链科技有限公司(简称「鸿链科技」)成立于2016年9月,由招商局集团与中国外运联合孵化,是国内领先的仓储物流软件SaaS平台服务商。其核心产品…

VW/Audi MQB All Keys Lost: Hassle-Free SYNC Data Calculations with Xhorse VVDI Autel

Solving the MQB All Keys Lost Dilemma: SYNC Data Solutions for VW & Audi The Challenge: All Keys Lost for VW/Audi MQB Models For European and American automotive repair shops and car owners, a frus…

快捷键和Dos命令

Ctrl+c负责 Ctrl+v粘贴 Ctrl+a全选 Ctrl+x剪切 Ctrl+z撤销 Ctrl+s保存 Ctrl+y复原 win+r 运行 win+e 打开我的电脑 Ctrl+shift+esc任务管理器 shift+delelte永久删除 Alt+F4 关闭窗口 打开cmd方式开始-系统-命令提示符…

2025年哈尔滨十大有名的装修安装工程公司推荐,口碑不错的装

在医疗与工业领域,洁净空间的装修安装工程是保障安全运营与高效生产的核心基石。哈尔滨净朗净化科技有限公司作为本地洁净工程领域的标杆企业,始终以科创之力破解行业痛点。面对市场上良莠不齐的装修安装工程服务,如…

2025年度全屋定制品牌生产厂哪家更值得选?5大实力厂商排行

为帮助装修业主、家居经销商精准锁定适配需求的全屋定制生产厂,避开报价虚高、板材以次充好、落地效果偏差等坑,本文从生产实力(工业4.0标准、供应链管控)、产品品质(环保等级、工艺细节)、服务保障(质保政策、…

列表弹窗实现方案整理

列表弹窗实现方案整理 在Web应用开发中,列表页的编辑和新增功能是非常常见的交互场景。通常我们会通过点击"新增"或"编辑"按钮,打开一个弹窗(Modal/Dialog)来展示表单信息,用户填写或修改数据…

硬盘检测修复工具!实时监测硬盘健康度、温度、还能修复扇区!

如何检测SSD(固态硬盘)是不是二手(翻新)的?有检测固态硬盘是否损坏的工具吗?坏道检测对硬盘伤害大吗?安装系统时检测不到固态硬盘怎么办?有检测固态硬盘是否损坏的工具吗?如何检测SSD(固态硬盘)是不是二手(…

【日记】第一次约拍别人呢(1165 字)

正文早上被行里安装卷帘门的声音吵醒。我也不知道那个是不是,反正听起来很像。非常吵。起床看了一下时间,九十点吧好像。之后就去帮 Lulu 找钻石了。MC 版本更新之后,钻石好像比以前要好找一些了。坐标也有大的改动…