3033: 太鼓达人

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit:
204  Solved: 154
[Submit][Status][Discuss]

Description

  七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行。这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk、Poet_shy和lydrainbowcat拯救出来的的applepi。看到两人对太鼓达人产生了兴趣,applepi果断闪人,于是cl拿起鼓棒准备挑战。然而即使是在普通难度下,cl的路人本性也充分地暴露了出来。一曲终了,不但没有过关,就连鼓都不灵了。Vani十分过意不去,决定帮助工作人员修鼓。

  鼓的主要元件是M个围成一圈的传感器。每个传感器都有开和关两种工作状态,分别用1和0表示。显然,从不同的位置出发沿顺时针方向连续检查K个传感器可以得到M个长度为K的01串。Vani知道这M个01串应该是互不相同的。而且鼓的设计很精密,M会取到可能的最大值。现在Vani已经了解到了K的值,他希望你求出M的值,并给出字典序最小的传感器排布方案。

Input

  一个整数K。

Output

 一个整数M和一个二进制串,由一个空格分隔。表示可能的最大的M,以及字典序最小的排布方案,字符0表示关,1表示开。你输出的串的第一个字和最后一个字是相邻的。

Sample Input

3

Sample Output

8 00010111

HINT

 得到的8个01串分别是000、001、010、101、011、111、110和100。注意前后是相邻的。长度为3的二进制串总共只有8种,所以M =
8一定是可能的最大值。

  对于全部测试点,2≤K≤11。

Source

Poetize2

Solution

看了一会,确信第一问为$2^{k}$但是不会证...第二问并不会搞

其实做之前是专门奔着 欧拉图 来的QAQ

好叭,很显然是个欧拉图,每个阶段有两个点$0$和$1$,很显然每个点的入读=出度=2,那么就符合欧拉图的判定了

那么第一问的正确性可知

因为是欧拉图,必然存在欧拉路径,那么只需要对整个图暴搜一遍答案即可,因为欧拉图,暴搜的时间复杂度实际是$O(n)$的,因为几乎可以认为是一口气走到底

于是就可以1s无压力过所有点

启示:一些看似和图没太大关联的东西,应该拓宽一下思路尝试往图上靠,利用一些性质可能会发现一些不错的东西 (更好的栗子:墨墨的等式)

Code

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
int M,K,ans[<<];
bool visit[<<];
bool DFS(int x,int dep)
{
if (visit[x]) return ;
visit[x]=;
ans[dep]=x>>(K-);
if (dep==M) return ;
if (DFS((x<<) & (M-),dep+)) return ;
if (DFS((x<<|) & (M-),dep+)) return ;
visit[x]=;
return ;
}
int main()
{
scanf("%d",&K); printf("%d ",M=<<K);
DFS(,);
for (int i=; i<=M; i++) printf("%d",ans[i]);
return ;
}

突然想做欧拉图的原因在于 英语必修五Unit1的某篇Reading居然讲的欧拉图TAT,发现自己好像没怎么做过啊...

【BZOJ-3033】太鼓达人 欧拉图 + 暴搜的更多相关文章

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

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

  2. bzoj 3033: 太鼓达人 [欧拉回路]

    3033: 太鼓达人 题意:长m的01环,每个长k的子串都是不同的01串.给出k,求最大的M以及字典序最小的方案. \(M=2^k\) 可以把k-1位01串看成点,k位01串就是边,满足欧拉回路的条件 ...

  3. 【刷题】BZOJ 3033 太鼓达人

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

  4. BZOJ 3033 太鼓达人(DFS+欧拉回路)

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

  5. bzoj 3033 太鼓达人

    思路:首先一定是2^m次方的总数.用二进制从 000 一直到 111总过m个数,然后暴搜. #include<cstdio> #include<cstring> #includ ...

  6. bzoj3033 太鼓达人——欧拉图搜索

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3033 考虑那 (1<<k) 个数,要形成答案,必然是相邻两个数间有 k-1 个重 ...

  7. [BZOJ3033]:太鼓达人(爆搜)

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

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

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

  9. 【bzoj3033】太鼓达人

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

随机推荐

  1. python实现一个图灵机器人

    这标题就是个噱头...其实用的别人的接口,就是这货. 下面是代码: # -*- coding: utf-8 -*- import urllib,urllib2 import sys import js ...

  2. delphi附带通用控件安装方法:

    附带通用控件安装方法:----------基本安装1.对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;2.对于 ...

  3. Post model至Web Api

    Post model可以解决多动态性的参数至Web Api中去,获取数据或是创建数据.如果一个对象有很多字段,需要对每一个字段进行查询或是在创建对象时,我们可以考虑使用model来作参数.这样不必在控 ...

  4. 阿里云安装LNMP以及更改网站文件和MySQL数据目录

    LNMP安装了哪些软件?安装目录在哪LNMP相关软件安装目录Nginx 目录: /usr/local/nginx/MySQL 目录 : /usr/local/mysql/MySQL数据库所在目录:/u ...

  5. 特殊约束From To

    说实话这个不太懂,没用过也没有遇到相应的情况(或者说我不知道).大家可以更多的去参考特定约束FROM TO和MicroZed开发板笔记,第72部分:多周期约束等内容. 本文待修正 系列目录      ...

  6. Java面试知识点总结

    本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺(阅读本文需要有一定的Java基础:若您初涉 ...

  7. Windows 部署 Redis 群集

    1,下载Redis for windows 的最新版本,解压到 c:\Redis 目录下备用https://github.com/MSOpenTech/redis/releases当前我使用的是 3. ...

  8. [转]Windows 8.1删除这台电脑中视频/文档/下载等六个文件夹的方法

    Windows 8.1 已将“计算机”正式更名为“这台电脑”,当我们双击打开“这台电脑”后,也会很明显得发现另外一些变化:Windows 8.1  默认将视频.图片.文档.下载.音乐.桌面等常用文件夹 ...

  9. 单元测试中Assert类的用法

    Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.Quality ...

  10. Android之Activity启动模式

    正常模式 每个应用都有一个任务栈,任务栈中保存着已创建的Activity,先创建的Activity先入栈,栈顶是当前正在显示的activity(running),这是正常模式下的Activity的管理 ...