正题

题目链接:https://www.ybtoj.com.cn/contest/68/problem/3


题目大意

求有多少个nnn个点mmm条边的无向图满足

  1. 有连边的点之间编号差不超过kkk
  2. 所有点的度数都为偶数

解题思路

因为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】相关推荐

  1. YbtOj 冲刺 NOIP2020 模拟赛 Day10 T1 区间均值

    文章目录 ResultResultResult HyperlinkHyperlinkHyperlink DescriptionDescriptionDescription SolutionSoluti ...

  2. 【gmoj4743】【8.11模拟赛T1】积木【状压DP/暴搜】

    题目链接:积木 分析 这题数据也太水了吧我喜欢 可以直接暴力搜索每一个积木的每一个顺序的每一种放置方法. 阶乘级别的复杂度,居然能过就离谱. 正解是状压DP.f[i][j][k]f[i][j][k]f ...

  3. nyoj1273 河南省第九届省赛_宣传墙、状压DP+矩阵幂加速

    宣传墙 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 ALPHA 小镇风景美丽,道路整齐,干净,到此旅游的游客特别多.CBA 镇长准备在一条道路南 面 4*N 的墙上做 ...

  4. YbtOJ#20237-[冲刺NOIP2020模拟赛Day10]区间均值【树状数组】

    正题 题目链接:https://www.ybtoj.com.cn/contest/68/problem/1 题目大意 nnn个数字的序列,求有多少个区间[l,r][l,r][l,r]的平均值在[L,R ...

  5. 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 ...

  6. YbtOj#20073. 「NOIP2020 模拟赛 B 组 Day6」钻石守卫

    文章目录 ResultResultResult HyperlinkHyperlinkHyperlink DescriptionDescriptionDescription SolutionSoluti ...

  7. 省选模拟 幻化成风(容斥原理,状压DP)

    首先这个aia_iai​相同的时候无序的要求,直接按有序求答案,然后除aia_iai​相同的个数的阶乘即可,因为我们的bbb两两不同. 有序的答案要两两不同,我们考虑容斥哪些相同,可以想到的较高效容斥 ...

  8. 糖果(2019第十届蓝桥杯省赛C++A组I题) 解题报告(状压dp) Apare_xzc

    糖果(2019第十届蓝桥杯省赛C++A组I题) 解题报告(状压dp) xzc 2019/4/5 试题 I: 糖果 时间限制: 1.0s 内存限制: 256.0MB 本题总分:25分 [问题描述]    ...

  9. 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 ...

最新文章

  1. R语言非独立多分组非参数检验、Kruskal–Wallis检验进行非独立多分组非参数检验(Nonparametric multiple comparisons)、当ANOVA不满足条件的情况下
  2. python命令解析_python解析命令行
  3. 加密解密、食谱、新冠序列,各种有趣的开源项目Github上都有
  4. python爬虫原理-干货|如何入门 Python 爬虫?爬虫原理及过程详解
  5. UOJ【UR #12】实验室外的攻防战
  6. 为什么计算机硬盘要从c盘开始,电脑分区为何从C盘开始?英特尔科普
  7. 怎么配置iptv服务器信息,请配置iptv服务器信息
  8. 网页版的svn怎样同步代码_学会使用Hdlbits网页版Verilog代码仿真验证平台
  9. 在Hibernate的session中同时有两个相同id的同类型对象,修改失败
  10. python网络爬虫基础day01
  11. JMJS系统总结系列----XSLT的语句规则(一)
  12. Python开发环境配置 Vim + Ctags+ TagList
  13. 数据结构 课程设计报告 :校园导航系统
  14. 【数据分析】销售案例——会员分析
  15. 应用安全系列之三十:任意重定向
  16. 【Python实战】有趣的代码百里挑一:这款“水波特效”脚本送给你,绝版哦~(建议保留)
  17. Git还能这样玩?居然被他玩出了新花样
  18. CorelDRAW 12快捷键
  19. “基本系统设备”及“性能计数器”驱动无法安装问题解决
  20. 如何实现微信小程序的选项卡

热门文章

  1. 工业相机与民用相机的区别_工业相机和普通相机的区别详解
  2. PHP做闹钟APP,8款超好用的闹钟APP,专治各种赖床
  3. 圆形比例分布图怎么做_解读宝山区2035总体规划:建设用地的比例在上海非中心城区中最高...
  4. @scheduled注解配置时间_SpringBoot2.0实战(32)配置定时任务
  5. 读数据库遇到空就进行不下去_如何保证缓存与数据库的双写一致性?
  6. c++向mysql通信_C++连接MySQL
  7. 吴恩达DeepLearningCourse4-卷积神经网络
  8. [Java基础]类加载
  9. [PAT乙级]1046 划拳
  10. 2017年第八届蓝桥杯国赛B组试题A-36进制-进制转换