第一问,1<<k,谁都看得出来。

毫无思路,暴搜,枚举每一个数列,Hash加map判断是否重复,拿到30,打表都打不出来。

#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
using namespace std;
const int p = ;
int k, n, num;
int a[], b[];
unsigned long long op[], base[];
map<unsigned long long, bool> mp;
bool check() {
mp.clear();
memset(op, , sizeof(op));
for (int i = ; i <= n; i++) op[i] = op[i - ] * p + a[i];
for (int i = k; i <= n; i++) {
unsigned long long h = op[i] - base[k] * op[i - k];
if (mp[h])
return ;
mp[h] = ;
}
return ;
}
void dfs(int now) {
if (now == n + ) {
// for(int i=1;i<=n;i++)
// cout<<a[i];cout<<endl;
if (check()) {
for (int i = ; i < n; i++) cout << a[i];
cout<<;
exit();
}
return;
}
dfs(now + );
a[now] = ;
dfs(now + );
a[now] = ;
}
int main() {
scanf("%d", &k);
base[] = ;
for (int i = ; i <= ; i++) base[i] = base[i - ] * p;
n = << k;
printf("%d ", n);
// cout<<n<<endl;
// fgetc(stdin);
dfs();
return ;
}

这搜索简直了。

其实有一些大模拟的意思。

dfs两个参量,x表示一个二进制数,也就是数出来长度为k的这个数,l表示当前填好了第几位。然后就是递归,标记某个数是否被填过,被填过直接return,没标记过先填上,把第l位填上x的末尾,然后将x的后k-1位填上一个1或0作为下一层的x递归搜索,最后输出ans数组即可。

当时听到这个东西,激动地抱了Soul三次,真是天才的打法,搜索竟然可以用到如此境地。

#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<cstdio>
#include<vector>
#include<queue>
#include<stack>
#include<set>
#include<map>
using namespace std;
int n,k;
int ans[];
bool vis[];
bool dfs(int x,int l){
if(vis[x]) return ;
if(l==n+) return ;
ans[l]=x&;vis[x]=;
if(dfs(((x<<)&((<<k)-)),l+)) return ;
if(dfs(((x<<|)&((<<k)-)),l+)) return ;
vis[x]=;
return ;
}
int main(){
scanf("%d",&k);
n=<<k;
dfs(,k);
printf("%d ",n);
for(int i=;i<n;i++)
printf("%d",ans[i]);
putchar('');
return ;
}

BZOJ3033太鼓达人的更多相关文章

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

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

  2. BZOJ3033 太鼓达人题解

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

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

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

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

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

  5. BZOJ3033: 太鼓达人(欧拉回路)

    Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 524  Solved: 400[Submit][Status][Discuss] Description ...

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

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

  7. BZOJ3033 太鼓达人

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

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

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

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

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

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

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

随机推荐

  1. docker 安装php

    nginx :docker pull nginx docker run -p 80:80 --name nginx -v /usr/local/nginx/www:/www -v /usr/local ...

  2. ubuntu安装软件apt-get

    一. apt-get用法 apt 0.8.16~exp12ubuntu10.26 for i386 compiled on Aug  5 2015 19:06:21Usage: apt-get [op ...

  3. deep_learning_Function_ Matplotlib 3D 绘图函数 plot_surface 的 rstride 和 cstride 参数

    今晚开始接触 Matplotlib 的 3D 绘图函数 plot_surface,真的非常强大,图片质量可以达到出版级别,而且 3D 图像可以旋转 ,可以从不同角度来看某个 3D 立体图,但是我发现各 ...

  4. SQL 语句 连接

    SQL连接可以分为内连接.外连接.交叉连接. 数据库数据:             book表                                          stu表 1.内连接 ...

  5. 使用cJSON解析JSON

    cJSON获取数组元素的每个值 { "operType": 0x5, "field": ["time","matchRule&qu ...

  6. Nginx的入门

    Nginx 入门 一.正向代理和反向代理 1.正向代理 正向代理(forward proxy) ,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并制定目标( ...

  7. Satellite-Hacking 攻击卫星/卫星安全

    虽说卫星安全这种东西也是高富帅才玩得起的领域,但是了解了解总是没坏处.参考了一些资料,如果想详细了解可以戳进去看看.看了这么多资料,总结一下吧. Why? 卫星存在安全问题主要有一下俩原因,首先是成本 ...

  8. Linux之checkconfig 服务自启动

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--a ...

  9. Windowsx下Appium环境搭建步骤及问题

    1,安装Java jdk配置环境变量  验证方式:cmd >java -version 2,下载Android sdk配置环境变量 验证方式:cmd >adb devices(下载的是zi ...

  10. git报错remote: error: cannot run hooks/post-receive: No such file or directory

    错误情况如下图所示: 如果你也显示这个错误但是其实在该路径上有上有这个文件,那么显然你遇到和我一样的情况,即你是Windows下创建的文件,但是试图在Lunix系统去打开它.这是在Windows下调用 ...