题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3033

考虑那 (1<<k) 个数,要形成答案,必然是相邻两个数间有 k-1 个重叠位置,也就是两个有 k-1 位前后对应相同的数之间可以连边转移;

发现这张图里每个点一定有两个入度、两个出度,也就是形成一张欧拉图;

所以暴搜时间有保证,暴搜即可;

对欧拉图还是太不熟悉了...暴搜也写不出来了...有种无力感...

代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int const maxn=(<<)+;//+5!!!
int k,m,ans[maxn],num,top,lst[maxn];
bool fl,vis[maxn];
void find(int y,int x)
{
num=;
while(y!=x)ans[++num]=y,y=lst[y];
ans[++num]=x;
}
void dfs(int x)
{
vis[x]=; top++;
if(top==(<<k)){find(x,); fl=; return;}
for(int i=;i<=&&!fl;i++)
{
int y=((x&((<<(k-))-))<<|i);
if(vis[y])continue;
lst[y]=x; dfs(y);
}
vis[x]=; top--;
}
int main()
{
scanf("%d",&k);
// m=(1<<k);//比下面慢
// printf("%d ",m);
dfs();
printf("%d ",num);
for(int i=num;i;i--)printf("%d",(ans[i]>>(k-)));
return ;
}

bzoj3033 太鼓达人——欧拉图搜索的更多相关文章

  1. [BZOJ3033]太鼓达人|欧拉图

    Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和ly ...

  2. bzoj 3033 太鼓达人——欧拉图搜索

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3033 思路:肯定是把2^m个数当成点,每个点连了2条入边.2条出边,然后求一个经过所有点一次 ...

  3. BZOJ3033 太鼓达人题解

    太鼓达人 时间限制: 1 Sec  内存限制: 128 MB 题目描述 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是 ...

  4. bzoj3033: 太鼓达人 欧拉路径

    题目链接 bzoj3033: 太鼓达人 题解 对于k-1位点,k位二进制位边,将点的转移连起来 每个点的入度和出度相等并且全部是偶点 只需要在这个图中找字典序最小的欧拉回路 可以贪心地找字典序较小的边 ...

  5. 【BZOJ-3033】太鼓达人 欧拉图 + 暴搜

    3033: 太鼓达人 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 204  Solved: 154[Submit][Status][Discuss] ...

  6. BZOJ3033:太鼓达人(DFS,欧拉图)

    Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和ly ...

  7. [bzoj3033]太鼓达人 题解(搜索)

    Description 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和ly ...

  8. BZOJ3033 太鼓达人

    3033: 太鼓达人 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 690  Solved: 497[Submit][Status][Discuss] ...

  9. BZOJ3033太鼓达人——哈密顿回路/欧拉回路

    题目描述 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和lydrainbo ...

随机推荐

  1. JS高级——歌曲管理

    1.将歌曲管理的CURD方法放到原型中 2.在构造函数中,我们只有一个属性是songList,因为音乐库不是共有的,如果将songList放入原型中,任何一个人的一次修改songList,都将把son ...

  2. 快速学习mybatis框架

    一.介绍Mybatis(主要从以下两点进行介绍) 1.MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动 ...

  3. 【译】x86程序员手册15-5.2页转换

    5.2 Page Translation 页转换 In the second phase of address transformation, the 80386 transforms a linea ...

  4. 4星|《JAC写给外贸公司老板的企管书》:善总结爱学习、有业绩的老外贸的经验谈

    作者从事外贸10余年,作出了业绩,也善总结.爱学习.爱分享.本书是作者在外贸行业的从业经验集.有一些战略方面的,比如开发小语种市场,大部分都是战术方面的操作细节(比如如何做营销),应该是非常适合从业者 ...

  5. ZfNet解卷积:可视化CNN模型( PythonCode可视化Cifar10)

    原文链接:caffe Model的可视化 snapshot: 6000       一个在线可视化小工具:http://blog.csdn.net/10km/article/details/52713 ...

  6. UICollectionViewFlowLayout & UICollectionViewDelegateFlowLayout

    A concrete layout object that organizes items into a grid with optional header and footer views for ...

  7. spark的体系结构

    spark的体系结构 1.客户端(Driver Program) 需要构建一个对象,核心是sc(SparkContext) 以应用程序为例:链接本地 //new conf val conf=new S ...

  8. 浅谈SOCKS5代理与HTTP代理的应用区别

    [1]什么是SOCKS5协议. SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递.SOCKS是"Sockets”的缩写. 当防火墙后的客户端要访问外部的服务器时,就 ...

  9. php第十四节课

    投票 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  10. C#学习笔记_09_构造方法/函数

    09_构造方法/函数 代码案例 作用:构造函数主要是用来创建对象时为对象赋初值来初始化对象:总与new运算符一起使用在创建对象的语句中,例如A a=new A(); 特点: 构造函数具有和类一样的名称 ...