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

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[1<<12];
bool visit[1<<12];
bool DFS(int x,int dep)
{if (visit[x]) return 0;visit[x]=1;ans[dep]=x>>(K-1);if (dep==M) return 1;if (DFS((x<<1) & (M-1),dep+1)) return 1;if (DFS((x<<1|1) & (M-1),dep+1)) return 1;visit[x]=0;return 0;
}
int main()
{scanf("%d",&K); printf("%d ",M=1<<K);DFS(0,1);for (int i=1; i<=M; i++) printf("%d",ans[i]);return 0;
} 

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

转载于:https://www.cnblogs.com/DaD3zZ-Beyonder/p/5615414.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu创建、删除文件及文件夹,强制清空回收站方法

mkdir 目录名 > 创建一个目录 rmdir 空目录名 > 删除一个空目录 rm 文件名 文件名 > 删除一个文件或多个文件 rm –rf 非空目录名 > 删除一个非空目录下的一切 touch 文件名 > 创建一个空文件 重命名文件&#xff08;夹&#xff09; / 移…

前端学习(1987)vue之电商管理系统电商系统之通过路由加载商品列表

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

unity, 同步物体坐标一定要在LateUpdate中进行

设a为主动物体&#xff0c;b为跟随物体。 如果a,b都在同一个Update里更新坐标&#xff0c;那么两者自然是同步的。 如果a在a.Update里更新位置&#xff0c;而b在b.Update里将自己的位置更新为与a相同&#xff0c;那就会有误差。 而且即使a的运动非常缓慢平滑&#xff0c;b也会出…

前端学习(1988)vue之电商管理系统电商系统之获取商品列表

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

为什么objc_msgSend必须用汇编实现

译者前言 总是看到有人说用汇编实现objc_msgSend是为了速度快&#xff0c;当然这个不可否认。但是难道没有别的原因&#xff1f;于是就看到了这篇文章&#xff0c;遂翻译之&#xff01;。 我自己的理解就是&#xff0c;用汇编实现&#xff0c;是为了应对不同的“Calling conven…

前端学习(1989)vue之电商管理系统电商系统之渲染商品列表数据

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

前端学习(1990)vue之电商管理系统电商系统之自定义时间过滤器

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

【开源】.net 分布式架构之监控平台

开源地址: http://git.oschina.net/chejiangyi/Dyd.BaseService.Monitor .net 简单监控平台&#xff0c;用于集群的性能监控,应用耗时监控管理&#xff0c;统一日志管理等多维度的性能监控分析。集群的性能监控:&#xff08;需要服务器部署监控节点&#xff09; 1. 目前仅支持w…

hashmap有关问题与计算

1.HashMap的存储方式是数组加链表&#xff0c;主干是一个Entry数组。Entry是HashMap的基本组成单元&#xff0c;每一个Entry包含一个key-value键值对&#xff1b;当不同的key经过hash计算得出的index值相同时&#xff0c;就需要在数组里添加一个链表来存储index相同的元素&…

前端学习(1991)vue之电商管理系统电商系统之实现商品的分页功能

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

java httpclient发送json 请求 ,go服务端接收

/***java客户端发送http请求*/package com.xx.httptest;/*** Created by yq on 16/6/27.*/import java.io.IOException; import java.net.URLEncoder; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.co…

linux 定时备份mysql数据库

首先要先搞清楚两个概念&#xff1a; ①、mysqldump&#xff0c;mysqldump是mysql的逻辑备份工具&#xff0c;它不是linux的命令&#xff0c;工作原理类似产生一些列sql语句&#xff0c;对数据库进行指定的逻辑备份。 最简洁的形式是&#xff1a;mysqldump -uuserName -ppassW…

前端学习(1992)vue之电商管理系统电商系统之实现搜索和清空

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

4123: 马走日,2797:最短前缀 Trie,2362:Square 能否拼接为正方形

4123: 马走日 深度优先搜索 回溯 ///马走日 int f[21][22],n,m,t; //f数组记录点有没有走过int x[10]{-2,-2,-1,1,2,2,1,-1},y[10]{-1,1,2,2,1,-1,-2,-2};//八个方向 int x1,y1,ans; void dfs(int a,int b) //搜索过程 {bool ptrue; //标记&#xff0c;判断马是否可以遍…

前端学习(1993)vue之电商管理系统电商系统之根据id删除数据

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

苹果开发者地址1

https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/ng/app转载于:https://www.cnblogs.com/zhangchengyuan/p/5623348.html

C++算法一些常用的stl函数

1.lower_bound( )和upper_bound( ) lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的 在从小到大的排序数组中&#xff0c; lower_bound( begin,end,num)&#xff1a;从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字&a…

LINUX 常用命令集合

su su命令是最基本的命令之一&#xff0c;常用于不同用户间切换。例如&#xff0c;如果登录为 user1&#xff0c;要切换为user2&#xff0c;只要用如下命令&#xff1a; $su user2 然后系统提示输入user2口令&#xff0c;输入正确的口令之后就可以切换到user2。完成之后就可…

前端学习(1994)vue之电商管理系统电商系统之通过编程导航跳转到商品导航界面

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…