枚举连通块拆贡献+容斥:ABC312G

https://atcoder.jp/contests/abc321/tasks/abc321_g

这种题都没看出来我要去退役了

看完题目,可以获得:

  1. 期望、连通块:显然拆贡献啊!
  2. n ≤ 17 n\le 17 n17:这不明显状压?结合前面连通块,就是枚举连通块啊!
  3. 继续分析第2点,17这么小,显然枚举子集。为啥枚举?计数题只有容斥这个套路啊!

然后就很裸了。

为啥容斥?因为拆完贡献后要使得恰好为一个连通块。

这里还有个小套路。容斥是为了不重不漏,我们可以枚举最编号小点所在的单个连通块。剩下随便连。

	n=read(); m=read(); init(m); for(i=1; i<=m; ++i) k=read(), R[1<<k-1]++; for(i=1; i<=m; ++i) k=read(), B[1<<k-1]++; for(s=1; s<(1<<n); ++s) {for(i=1; i<=n; ++i) if(s&(1<<i-1)) break; R[s]=R[s-(1<<i-1)]+R[1<<i-1]; B[s]=B[s-(1<<i-1)]+B[1<<i-1]; if(R[s]==B[s]) {f[s]=g[s]=fac[R[s]]; for(t=(s-1)&s; t; t=(t-1)&s) if(t&(1<<i-1)) Add(g[s], -g[t]*f[s-t]); Add(ans, g[s]*fac[m-R[s]]); }}ans=(ans*ifac[m]%mo+mo)%mo; printf("%lld", ans); 

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

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

相关文章

润和软件HopeStage与华宇信息TAS应用中间件完成产品兼容性互认证

近日&#xff0c;江苏润和软件股份有限公司&#xff08;以下简称“润和软件”&#xff09;HopeStage 操作系统与北京华宇信息技术有限公司&#xff08;以下简称“华宇信息”&#xff09;TAS应用中间件软件完成产品兼容性测试。 测试结果表明&#xff0c;企业级通用操作系统Hope…

成都优优聚美团代运营具备专业团队!

美团代运营是美团旗下的一项服务&#xff0c;旨在帮助商家解决运营难题&#xff0c;提升业务效率和销售额。美团代运营的优势在于多方面&#xff0c;以下将详细介绍。 首先&#xff0c;美团代运营拥有庞大的流量入口。作为中国领先的消费服务平台&#xff0c;美团拥有海量的用户…

字符函数和字符串函数(C语言进阶)

字符函数和字符串函数 一.求字符串长度1.strlen 二.长度不受限制的字符串函数介绍1.strcpy2.strcat3.strcmp 前言 C语言中对字符和字符串的处理很是频繁&#xff0c;但是C语言本身是没有字符串类型的&#xff0c;字符串通常放在常量字符串中或者字符数组中。 字符串常量适用于那…

逆向学习路径

逆向学习路径 PC端手机端(Android) PC端 计算机操作系统C、C编程语言基础STL等库知识数据结构与算法汇编知识&#xff08;放在这里是因为前面学C、C的时候会有所涉及&#xff0c;学起来简单些&#xff09;windows apiwindows 驱动调试技术&#xff08;6、7有涉及&#xff09;软…

百度SEO优化技巧大揭秘(提高网站排名的必备SEO技术)

SEO优化技术介绍&#xff1a; SEO优化技术是指通过对网站的结构、内容、链接等方面进行优化&#xff0c;提高网站在搜索引擎中的排名&#xff0c;从而增加流量、提升品牌知名度和销售额。目前&#xff0c;在众多搜索引擎中&#xff0c;百度占据了国内搜索引擎市场的主导地位&a…

React(react18)中组件通信04——redux入门

React&#xff08;react18&#xff09;中组件通信04——redux入门 1. 前言1.1 React中组件通信的其他方式1.2 介绍redux1.2.1 参考官网1.2.2 redux原理图1.2.3 redux基础介绍1.2.3.1 action1.2.3.2 store1.2.3.3 reducer 1.3 安装redux 2. redux入门例子3. redux入门例子——优…

电子电子架构——AUTOSAR信息安全机制有哪些(下)

电子电子架构——AUTOSAR信息安全机制有哪些&#xff08;下&#xff09; 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 人们会在生活中不断攻击你。他们的主要…

Jenkins自动化部署前后端分离项目 (svn + Springboot + Vue + maven)有图详解

1. 准备工作 本文的前后端分离项目&#xff0c;技术框架是&#xff1a; Springboot Vue Maven SVN Redis Mysql Nginx JDK 所以首先需要安装以下&#xff1a; 在腾讯云服务器OpenCLoudOS系统中安装jdk&#xff08;有图详解&#xff09; 在腾讯云服务器OpenCLoudOS系统…

如何在Qt Creator 中开启OpenMP

如果是用Visual studio 编译器在.pro文件中加入如下两行&#xff1a; QMAKE_CXXFLAGS -openmp QMAKE_LFLAGS -openmp 如果是用GCC 编译器加入如下两行&#xff1a; QMAKE_CXXFLAGS -fopenmp QMAKE_LFLAGS -fopenmp

SVN的基本使用

一、SVN介绍 SVN&#xff08;Subversion&#xff09;是一个开源的版本控制系统&#xff0c;它专门用于管理文件和目录的变更。SVN 提供了一种集中式的版本控制方案&#xff0c;其中有一个中央仓库存储所有文件的历史记录和变更。 SVN使用方式相对简单&#xff0c;可以通过命令…

Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化...

原文链接&#xff1a;http://tecdat.cn/?p23689 本文探索Python中的长短期记忆&#xff08;LSTM&#xff09;网络&#xff0c;以及如何使用它们来进行股市预测&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 在本文中&#xff0c;你将看到如何使用…

DAZ To UMA⭐二.设置DAZ导出的形态键 和 Daz贴图位置

文章目录 🟧 形态键介绍及在Unity3D中的用途1️⃣ Daz中的形态键2️⃣ Blender 中的形态键3️⃣ 形态键在Unity中的作用🟩 设置DAZ导出的形态键1️⃣ 找到要导出的形态键名称2️⃣ 打开导出面板3️⃣ 设置导出规则举例 : 导出身体Morphs举例:导出嘴部Morphs🟦 获取模型纹…

浅析工具dirpro v1.2源码

文章目录 前言源码分析dirpro.pystart.pybackup.pyrely.pyresults.pyend.py 前言 工具简介 dirpro 是一款由 python 编写的目录扫描器专业版&#xff0c;操作简单&#xff0c;功能强大&#xff0c;高度自动化 自动根据返回状态码和返回长度&#xff0c;对扫描结果进行二次整理…

VLAN聚合简介

定义 VLAN聚合&#xff08;VLAN Aggregation&#xff0c;也称Super VLAN&#xff09;指在一个物理网络内&#xff0c;用多个VLAN&#xff08;称为Sub-VLAN&#xff09;隔离广播域&#xff0c;并将这些Sub-VLAN聚合成一个逻辑的VLAN&#xff08;称为Super-VLAN&#xff09;&…

【linux进程(一)】深入理解进程概念--什么是进程?PCB的底层是什么?

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Linux从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多操作系统知识   &#x1f51d;&#x1f51d; Linux进程 1. 前言2. PCB初认…

一文读懂Llama 2(从原理到实战)

简介 Llama 2&#xff0c;是Meta AI正式发布的最新一代开源大模型。 Llama 2训练所用的token翻了一倍至2万亿&#xff0c;同时对于使用大模型最重要的上下文长度限制&#xff0c;Llama 2也翻了一倍。Llama 2包含了70亿、130亿和700亿参数的模型。Meta宣布将与微软Azure进行合…

iOS16新特性:实时活动-在锁屏界面实时更新APP消息 | 京东云技术团队

简介 之前在 《iOS16新特性:灵动岛适配开发与到家业务场景结合的探索实践》 里介绍了iOS16新的特性&#xff1a;实时更新&#xff08;Live Activity&#xff09;中灵动岛的适配流程&#xff0c;但其实除了灵动岛的展示样式&#xff0c;Live Activity还有一种非常实用的应用场景…

【Vue2.0源码学习】生命周期篇-模板编译阶段(template)

文章目录 1. 前言2. 模板编译阶段分析2.1 两种$mount方法对比2.2 完整版的vm.$mount方法分析 3. 总结 1. 前言 前几篇文章中我们介绍了生命周期的初始化阶段&#xff0c;我们知道&#xff0c;在初始化阶段各项工作做完之后调用了vm.$mount方法&#xff0c;该方法的调用标志着初…

LeetCode322. 零钱兑换

322. 零钱兑换 文章目录 [322. 零钱兑换](https://leetcode.cn/problems/coin-change/)一、题目二、题解方法一&#xff1a;完全背包二维数组方法二&#xff1a;一维数组 三、注意 一、题目 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 a…

【跟小嘉学习区块链】二、Hyperledger Fabric 架构详解

系列文章目录 【跟小嘉学习区块链】一、区块链基础知识与关键技术解析 【跟小嘉学习区块链】一、区块链基础知识与关键技术解析 文章目录 系列文章目录[TOC](文章目录) 前言一、Hyperledger 社区1.1、Hyperledger(面向企业的分布式账本)1.2、Hyperledger社区组织结构 二、Hype…