YbtOJ#20239-[冲刺NOIP2020模拟赛Day10]连边方案【状压dp】
正题
题目链接:https://www.ybtoj.com.cn/contest/68/problem/3
题目大意
求有多少个nnn个点mmm条边的无向图满足
- 有连边的点之间编号差不超过kkk
- 所有点的度数都为偶数
解题思路
因为kkk很小,所以我们考虑状压一个点前kkk个点的奇偶状态。设fi,j,s,0/1f_{i,j,s,0/1}fi,j,s,0/1表示到第iii个点连接了jjj条边,前kkk个点奇偶状态为sss,然后点iii的奇偶状态。
然后转移即可,每次加一个条边即可,时间复杂度O(2knm)O(2^knm)O(2knm)
codecodecode
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=32,XJQ=1e9+7;
int n,m,k,pw[10],f[N][N][1<<9][2];
int main()
{freopen("graph.in","r",stdin);freopen("graph.out","w",stdout);scanf("%d%d%d",&n,&m,&k);int MS=(1<<k);f[1][0][0][0]=1;for(int i=1;i<=n;i++){int lim=min(MS,(1<<i-1));for(int x=0;x<min(k,i-1);x++)for(int j=0;j<=m;j++)for(int s=0;s<lim;s++){int z=s^(1<<x);(f[i][j+1][z][1]+=f[i][j][s][0])%=XJQ;(f[i][j+1][z][0]+=f[i][j][s][1])%=XJQ;}
// if(i==n)break;for(int j=0;j<=m;j++)for(int s=0;s<MS;s++){if(s&(1<<k-1))continue;int z=(s<<1)&(MS-1);(f[i+1][j][z][0]+=f[i][j][s][0])%=XJQ;(f[i+1][j][z|1][0]+=f[i][j][s][1])%=XJQ;}}printf("%d",f[n][m][0][0]);
}
YbtOJ#20239-[冲刺NOIP2020模拟赛Day10]连边方案【状压dp】相关推荐
- YbtOj 冲刺 NOIP2020 模拟赛 Day10 T1 区间均值
文章目录 ResultResultResult HyperlinkHyperlinkHyperlink DescriptionDescriptionDescription SolutionSoluti ...
- 【gmoj4743】【8.11模拟赛T1】积木【状压DP/暴搜】
题目链接:积木 分析 这题数据也太水了吧我喜欢 可以直接暴力搜索每一个积木的每一个顺序的每一种放置方法. 阶乘级别的复杂度,居然能过就离谱. 正解是状压DP.f[i][j][k]f[i][j][k]f ...
- nyoj1273 河南省第九届省赛_宣传墙、状压DP+矩阵幂加速
宣传墙 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 ALPHA 小镇风景美丽,道路整齐,干净,到此旅游的游客特别多.CBA 镇长准备在一条道路南 面 4*N 的墙上做 ...
- YbtOJ#20237-[冲刺NOIP2020模拟赛Day10]区间均值【树状数组】
正题 题目链接:https://www.ybtoj.com.cn/contest/68/problem/1 题目大意 nnn个数字的序列,求有多少个区间[l,r][l,r][l,r]的平均值在[L,R ...
- YbtOJ#20240-[冲刺NOIP2020模拟赛Day10]弱者对决【笛卡尔树,区间dp】
正题 题目链接:https://www.ybtoj.com.cn/contest/68/problem/4 题目大意 mmm个三元组(ai,bi,ci)(a_i,b_i,c_i)(ai,bi,ci ...
- YbtOj#20073. 「NOIP2020 模拟赛 B 组 Day6」钻石守卫
文章目录 ResultResultResult HyperlinkHyperlinkHyperlink DescriptionDescriptionDescription SolutionSoluti ...
- 省选模拟 幻化成风(容斥原理,状压DP)
首先这个aia_iai相同的时候无序的要求,直接按有序求答案,然后除aia_iai相同的个数的阶乘即可,因为我们的bbb两两不同. 有序的答案要两两不同,我们考虑容斥哪些相同,可以想到的较高效容斥 ...
- 糖果(2019第十届蓝桥杯省赛C++A组I题) 解题报告(状压dp) Apare_xzc
糖果(2019第十届蓝桥杯省赛C++A组I题) 解题报告(状压dp) xzc 2019/4/5 试题 I: 糖果 时间限制: 1.0s 内存限制: 256.0MB 本题总分:25分 [问题描述] ...
- YbtOJ#20070-[NOIP2020模拟赛B组Day5]诗人小K【状压dp】
正题 题目链接:http://noip.ybtoj.com.cn/contest/102/problem/4 题目大意 求有多少个长度为nnn的序列aaa满足1≤ai≤101\leq a_i\leq ...
最新文章
- R语言非独立多分组非参数检验、Kruskal–Wallis检验进行非独立多分组非参数检验(Nonparametric multiple comparisons)、当ANOVA不满足条件的情况下
- python命令解析_python解析命令行
- 加密解密、食谱、新冠序列,各种有趣的开源项目Github上都有
- python爬虫原理-干货|如何入门 Python 爬虫?爬虫原理及过程详解
- UOJ【UR #12】实验室外的攻防战
- 为什么计算机硬盘要从c盘开始,电脑分区为何从C盘开始?英特尔科普
- 怎么配置iptv服务器信息,请配置iptv服务器信息
- 网页版的svn怎样同步代码_学会使用Hdlbits网页版Verilog代码仿真验证平台
- 在Hibernate的session中同时有两个相同id的同类型对象,修改失败
- python网络爬虫基础day01
- JMJS系统总结系列----XSLT的语句规则(一)
- Python开发环境配置 Vim + Ctags+ TagList
- 数据结构 课程设计报告 :校园导航系统
- 【数据分析】销售案例——会员分析
- 应用安全系列之三十:任意重定向
- 【Python实战】有趣的代码百里挑一:这款“水波特效”脚本送给你,绝版哦~(建议保留)
- Git还能这样玩?居然被他玩出了新花样
- CorelDRAW 12快捷键
- “基本系统设备”及“性能计数器”驱动无法安装问题解决
- 如何实现微信小程序的选项卡
热门文章
- 工业相机与民用相机的区别_工业相机和普通相机的区别详解
- PHP做闹钟APP,8款超好用的闹钟APP,专治各种赖床
- 圆形比例分布图怎么做_解读宝山区2035总体规划:建设用地的比例在上海非中心城区中最高...
- @scheduled注解配置时间_SpringBoot2.0实战(32)配置定时任务
- 读数据库遇到空就进行不下去_如何保证缓存与数据库的双写一致性?
- c++向mysql通信_C++连接MySQL
- 吴恩达DeepLearningCourse4-卷积神经网络
- [Java基础]类加载
- [PAT乙级]1046 划拳
- 2017年第八届蓝桥杯国赛B组试题A-36进制-进制转换