【bzoj3033】太鼓达人 DFS欧拉图

题目描述

给出一个整数K,求一个最大的M,使得存在一个每个位置都是0或1的圈,圈上所有连续K位构成的二进制数两两不同。输出最大的M以及这种情况下字典序最小的方案。

输入

一个整数K。

输出

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

样例输入

3

样例输出

8 00010111


题解

DFS欧拉图

简单学了一下深搜欧拉图,感觉复杂度好玄学啊。。

帖一发 黄学长题解

把每个K-1位数看作点,添加1个字符看作边,那么就是求这个图的欧拉回路,直接爆搜即可。

时间复杂度$O(2^k)$

#include <cstdio>
int n , m , vis[2050] , ans[2050];
bool dfs(int x , int k)
{if(vis[x]) return 0;if(k == m) return 1;ans[k] = x & 1 , vis[x] = 1;if(dfs((x << 1) & (m - 1) , k + 1)) return 1;if(dfs((x << 1 | 1) & (m - 1) , k + 1)) return 1;vis[x] = 0;return 0;
}
int main()
{int i;scanf("%d" , &n) , m = 1 << n;printf("%d " , m);dfs(0 , 1);for(i = 1 ; i < n ; i ++ ) printf("0");for(i = 1 ; i <= m - n + 1 ; i ++ ) printf("%d" , ans[i]);printf("\n");return 0;
}

 

 

转载于:https://www.cnblogs.com/GXZlegend/p/7755304.html

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

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

相关文章

Redis 集合处理

学习了列表之后&#xff0c;发现了Redis处理字符串的功能强大。 为了适应不同场景的需求&#xff0c;还有一个用的很多的就是集合。 Redis提供的集合支持的类型是字符串。并且集合中的元素值是唯一的&#xff0c;也就是说不能出现重复数据。 而且&#xff0c;集合的实现是通过哈…

fpga mysql_FPGA的一些琐碎知识整理

1.生产FPGA的厂家有&#xff1a;ALTERAXILINXATCELLatticeps:Altera和Xilinx主要生产一般用途FPGA&#xff0c;其主要产品采用SRAM工艺Actel主要提供非易失性FPGA&#xff0c;产品主要基于反熔丝工艺和FLASH工艺ps: 熔丝&#xff0c;顾名思义&#xff1a;把丝熔掉&#xff0c;反…

使用增量备份修复DG中的GAP

问题描述 oracle中DG出现主备不同步现象&#xff0c;alert日志报警有gap信息&#xff0c;但是v$archive_gap视图查不到任何信息。同时主库上的对应归档已经删除且没有备份 解决方案 1.查询备库的scn SQL> select current_scn from v$database; 这时有可能出来的scn是以科学计…

C# 反射类Assembly用法举例

概述程序运行时&#xff0c;通过反射可以得到其它程序集或者自己程序集代码的各种信息&#xff0c;包括类、函数、变量等来实例化它们&#xff0c;执行它们&#xff0c;操作它们&#xff0c;实际上就是获取程序在内存中的映像&#xff0c;然后基于这个映像进行各种操作。Assemb…

团队作业

团队&组员&#xff1a; 没有组名&#xff0c;大概是因为我们组虽然有10个人&#xff0c;但是好像只起到人多的地方就容易开车搞笑&#xff0c;没有内涵&#xff0c;取出来的都是秋名山吴彦组这样的开车组名&#xff0c;在大家的的强烈建议和玩笑中&#xff0c;决定了没有组…

算法系列【希尔排序】篇

常见的内部排序算法有&#xff1a;插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括&#xff1a;关于时间复杂度&#xff1a;1. 平方阶 (O(n2)) 排序各类简单排序&#xff1a;直接插入、直接选择和冒泡排序。2. 线性对数…

sql查询索引语句_sql优化总结--基于sql语句优化和索引优化

概述最近做查询&#xff0c;统计和汇总。由于数据量比较庞大&#xff0c;大部分表数据上百万&#xff0c;甚至有的表数据上千万。所以在系统中做sql优化比较多&#xff0c;特此写一篇文章总结一下关于sql优化方面的经验。导致查询缓慢的原因1、数据量过大2、表设计不合理3、sql…

电商行业运维实践

电商行业运维实践&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;…

数据结构小总结(成都磨子桥技工学校数据结构前12题)

[pixiv] https://www.pixiv.net/member_illust.php?modemedium&illust_id34352147 暑假的作业&#xff0c;颓颓的我总算是写完了 线段树 线段树是一个高级玩意&#xff0c;不仅可以求区间和&#xff0c;区间最大等等的简单问题&#xff0c;灵活运用还有好多变种。自从学…

【九章算法免费讲座第一期】转专业找CS工作的“打狗棒法”

讲座时间&#xff1a; 美西时间6月5日18&#xff1a;30-20&#xff1a;00&#xff08;周五&#xff09; 北京时间6月6日09&#xff1a;30-11&#xff1a;00&#xff08;周六a.m&#xff09; 讲座安排&#xff1a; 免费在线直播讲座 报名网址&#xff1a; http://t.cn/R2XgMSH&a…

golang mysql 防注入_Go,Gorm 和 Mysql 是如何防止 SQL 注入的

Go&#xff0c;Gorm 和 Mysql 是如何防止 SQL 注入的SQL 注入和 SQL 预编译技术什么是 SQL 注入所谓SQL注入(sql inject)&#xff0c;就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串&#xff0c;最终达到欺骗服务器执行恶意的SQL命令。具体来说&#xff…

wav2midi 音乐旋律提取算法 附可执行demo

前面提及过&#xff0c;音频指纹算法的思路。 也梳理开源了两个比较经典的算法。 https://github.com/cpuimage/shazam https://github.com/cpuimage/AudioFingerprinter 后来一段时间&#xff0c;稍微看了下这两个算法&#xff0c;还有不少可以精简优化的空间。 例如抗噪&…

全新升级的AOP框架Dora.Interception[5]: 实现任意的拦截器注册方式

Dora.Interception提供了两种拦截器注册方式&#xff0c;一种是利用标注在目标类型、属性和方法上的InterceptorAttribute特性&#xff0c;另一种采用基于目标方法或者属性的调用表达式。通过提供的扩展点&#xff0c;我们可以任何我们希望的拦截器注册方式。目录一、IIntercep…

SCAU 算法课的题

8594 有重复元素的排列问题&#xff08;优先做&#xff09; 时间限制:1000MS 内存限制:1000K提交次数:1610 通过次数:656 题型: 编程题 语言: G;GCC;VC Description 设集合R{r1,r2,...,rn}是要进行排列的n个元素&#xff0c;其中r1,r2,...,rn可能相同。 试着设计一个算法&am…

react 数组新增_React 新特性 Hooks 讲解及实例(二)

本文是 React 新特性系列的第二篇&#xff0c;第一篇请点击这里&#xff1a;React 新特性讲解及实例什么是 HooksHook 是 React 16.8 的新增特性。它可以让你在不编写 类组件 的情况下使用 state以及其他的 React 特性。类组件的不足状态逻辑复用难缺少复用机制渲染属性和高阶组…

智课雅思词汇---二十二、-al即是名词性后缀又是形容词后缀

智课雅思词汇---二十二、-al即是名词性后缀又是形容词后缀 一、总结 一句话总结&#xff1a; 后缀&#xff1a;-al ②[名词后缀] 1、构成抽象名词&#xff0c;表示行为、状况、事情 refusal 拒绝 proposal 提议 withdrawal 撤退 1、名词性后缀acy是什么意思&#xff1f; 后缀&a…

javascript事件处理程序

javascript 事件处理程序 1、普通事件处理程序 <input type"button" value"click me" οnclick"showMessage()" /> function showMessage(){alert("clicked");} 2、DOMO 级事件处理程序 <span style"white-space:pre&…

eclipse新发现功能之dos和terminal(ssh连接)

dos功能&#xff1a; window——》show view——》other——》remote systems&#xff0c;选择remote shell&#xff0c;选择确定或者双击&#xff0c;打开了一个新工具窗口。点击remote shell窗口最右上角的小三角&#xff0c;在launch子菜单中选择local&#xff0c;点击即可。…

7天学会python_7天学会Python最佳可视化工具Seaborn(五):结构化展示多维数据

当探索具有中等数量(不多不少的意思……)维度的数据集时&#xff0c;一个很好的方式是基于不同的子数据集构建不同的实例&#xff0c;并将它们以网格的方式组织在一张图之中。这种技术有时被称为“lattice”或“trellis”(大概是格子图、网格图)&#xff0c;这跟“small multip…

面对峰值响应冲击,解决高并发的三大策略

2019独角兽企业重金招聘Python工程师标准>>> 当前在互联网的大潮下&#xff0c;众所周知淘宝、京东这些交易系统每天产生的数据量都是海量的&#xff0c;每天的交易并发也是惊人的&#xff0c;尤其是“双11”、“6.18”这些活动&#xff0c;对系统的峰值响应提出了非…