题目:http://acm.hdu.edu.cn/showproblem.php?pid=3091

题意:给你一些珠子,某些珠子之间可以互相连接,问可以连成多少种不同的项链

我们只需要从任意一个点出发,最后再回到这个点就能保证不会重复

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<vector>
#include<queue>
#include<stack>
#include<map>
#include<set>
using namespace std;
long long dp[1<<18][18];
int a[20][20];
int main()
{ios::sync_with_stdio(false);int n,m;while(cin>>n>>m){memset(a,0,sizeof(a));while(m--){int x,y;cin>>x>>y;x--;y--;a[x][y]=a[y][x]=1;}memset(dp,0,sizeof(dp));dp[1][0]=1;int tot=1<<n;for(int i=0;i<tot;i++){for(int k=0;k<n;k++){if (dp[i][k]==0) continue;for(int j=0;j<n;j++){if ((i>>j)&1) continue;if (a[k][j])dp[i|(1<<j)][j]+=dp[i][k];}}}long long s=0;for(int i=0;i<n;i++)if (a[i][0]) s+=dp[tot-1][i];cout<<s<<endl;}return 0;
}

  

转载于:https://www.cnblogs.com/bk-201/p/7467587.html

HDU 3091 Necklace相关推荐

  1. HDU 5727 Necklace

    题目:Necklace 链接:http://acm.hdu.edu.cn/showproblem.php?pid=5727 题意:要用n个阳石和n个阴石来串一个项链(环状),规定阳石旁边只能是阴石,阴 ...

  2. hdu 527 Necklace

    http://acm.hdu.edu.cn/showproblem.php?pid=5727 阶乘 爆搜阴性宝石的排列,二分图最大匹配判断最多能使多少个阳性宝石不褪色 注: 1.O(n-1 !) 即可 ...

  3. HDU 3091(动态规划-状态压缩)

    问题描述: One day , Partychen gets several beads , he wants to make these beads a necklace . But not eve ...

  4. HDU 3874 Necklace (数状数组)

    题意:求[l, r]区间内不重复的数的和.N个数,M次询问 解:离线处理M次询问,看得别人的思路后才知道的...思维局限在预处理N个数上了... 对M次询问按右区间的值从小到大排序.扫一遍N个数,如果 ...

  5. HDU 3333HDU-3874 Necklace 离线树状数组

        这题是要求一段区间内的不重复的数字之和.我们通过对询问区间的右端点进行排序,然后记录每一数字的上一次的出现的位置,由于询问都是不回溯的那么就可以线性的更新了.      #include &l ...

  6. HDU - 3091

    有一个DP题,意题都看了好久用n个珠子串成一个项链,但是n个珠子两两之间可能不能放在一起,问有几种串珠子的方式? 因为项链可以旋转,所以选择一个起点最终走到这个起点,且每个点只能走一次,问有多少种情况 ...

  7. 解题报告 (五) Burnside引理和Polya定理

    Burnside引理 笔者第一次看到Burnside引理那个公式的时候一头雾水,找了本组合数学的书一看,全是概念.后来慢慢从Polya定理开始,做了一些题总算理解了.本文将从最简单的例子出发,解释Bu ...

  8. 8.8线段树和树状数组

    题目链接   http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28619#overview 密码 acmore 还是感觉不怎么会线段树,还是 ...

  9. HDU 5730 Shell Necklace

    HDU 5730 Shell Necklace 原题连接: http://acm.hdu.edu.cn/showproblem.php?pid=5730 闻题而来. 设组合成长度为 k k的方案数量为 ...

最新文章

  1. android camera之nv21旋转
  2. Linux下的I/O复用与epoll详解
  3. Android开发实例之多点触控程序
  4. django查询集-17
  5. 虚拟机克隆,并设置新的ip,配置hostname,配合hostname,hosts
  6. 【SpringBoot实战】员工部门管理页面,增删改查,含源码
  7. Java中java.lang.Class的初步学习
  8. Spring Boot最新版集成邮件发送功能大全
  9. oracle数据库建表、修改字段名称类型、增加字段、ID自动增长写法
  10. (翻译)《介绍 GENEVA Beta 1 白皮书》(3)
  11. SpringMVC源码解析 - HandlerAdapter - @SessionAttributes注解处理
  12. 小程序----API
  13. 有必要考国二mysql_国二证有用吗
  14. python中的主函数调用_调用主函数中的函数
  15. pdfjs识别pdf文字
  16. 踩了个DNS解析的坑,但我还是没想通
  17. HTML5期末大作业:京东网站设计——仿京东(7页) 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  18. 《周易》乾卦-大象.小象
  19. 生活大爆炸第四季 那些精妙的台词翻译
  20. 谷歌浏览器chrome扩展插件-农名的世界脚本

热门文章

  1. AI落地:如何用AI做出可用的PPT?
  2. Point-wise、Pair-wise、List-wise区别
  3. PCL中使用KdTree在点云中进行K近邻及半径查询
  4. raspberry pi(树莓派) + easycap d60 视频采集
  5. 编译原理 运行时的存储组织及管理
  6. php正则网络图片格式,php中通过正则表达式下载内容中的远程图片的函数代码
  7. 2年后,还是放弃了programmer dvorak
  8. 抓球球的机器人应该怎么玩_一款FTC科技挑战赛抓球机器人的程序设计
  9. 数据质量总动员:Finding DQ 数据质量总动员
  10. 使用Speedpan使用百度网盘极速下载方法