hdu2894// 算法竞赛——进阶指南——acwing 400. 太鼓达人 欧拉回路经典题 //欧拉回路的建模小结
无向图的欧拉回路:
1.图连通;
2.图所有点度数均为偶数;
//欧拉路径要求起点和终点度数为奇数;
有向图的欧拉回路:
1.图连通;
2.图所有点入度等于出度;
//欧拉路径要求起点入度=出度-1,终点入度=出度+1;
欧拉回路:通过图中每条边一次且仅一次,并且过每一顶点的回路。
关键词是:每条边仅经过一次。
也就是说如果一道题建图后,要求一条回路(路径),每条边经过且仅经过一次。
回到这道题:
显然长度为2^k。
网上看到的题解只有这个讲的是正确的。
https://blog.csdn.net/SSL_Yyx/article/details/81037593?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase
即:把2^k个数当成边,设出2^(k-1)个点。
然后再跑欧拉回路。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define ls (o<<1)
#define rs (o<<1|1)
#define pb push_back
const double PI= acos(-1.0);
const int M = 1e5+7;int sk[M],sp[M],vs[M],nm[M];
int ans[M];
int main()
{ios::sync_with_stdio(false);cin.tie(0);int k;cin>>k;//以k=3为例 int n=1<<(k-1);//4个点:00 01 10 11 int m=1<<k;//8条边:000 001 010 100 110 011 101 111 int tp=(1<<(k-1))-1;int t=0,top=0;sk[++top]=0;while(top){int x=sk[top];int v=(x<<1)&tp;// abc -> bc0int w=x<<1;if(vs[w]){v++;w++;if(vs[w]){ans[++t]=sp[top];top--;}else sk[++top]=v,sp[top]=1,vs[w]=1;}else sk[++top]=v,sp[top]=0,vs[w]=1;}cout<<m<<" ";for(int i=1;i<k;i++)cout<<0;for(int i=t-1;i>=k;i--)cout<<ans[i];cout<<endl;return 0;
}
hdu2894// 算法竞赛——进阶指南——acwing 400. 太鼓达人 欧拉回路经典题 //欧拉回路的建模小结相关推荐
- 《算法竞赛进阶指南》打卡-基本算法-AcWing 93. 递归实现组合型枚举:递归与递推、dfs、状态压缩
文章目录 题目解答 题目链接 题目解答 分析: 此题和笔者另一篇博文很像,只不过是限定了个数.<算法竞赛进阶指南>打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归.二进 ...
- AcWing 122. 糖果传递【贪心】【《算法竞赛进阶指南》,微软面试题 , HAOI2008】
AcWing 122. 糖果传递 一.题目链接 二.题目分析 (一)算法标签 (二)解题思路 三.AC代码 四.其它题解 一.题目链接 AcWing 122. 糖果传递 进阶题目 AcWing 105 ...
- 《算法竞赛进阶指南(by 李煜东)》习题题解 集合
又是笔者给自己挖的大坑. 这里是李煜东所著<算法竞赛进阶指南(by 李煜东)>的习题题解集合. 有任何错误请在对应文章下反馈或联系 nicest1919@163.com ,谢谢 qwq 从 ...
- 金字塔(算法竞赛进阶指南)
虽然探索金字塔是极其老套的剧情,但是有一队探险家还是到了某金字塔脚下. 经过多年的研究,科学家对这座金字塔的内部结构已经有所了解. 首先,金字塔由若干房间组成,房间之间连有通道. 如果把房间看作节点, ...
- 算法竞赛进阶指南 萌新入门!
算法竞赛进阶指南 文章目录 算法竞赛进阶指南 前言 一.介绍本书 二.如何阅读本书 三.总结 **笔记思路和结构 ** 算法竞赛进阶指南 这篇文章就简单的写一下吧! 前言 作为一个想要入坑的算法的 ...
- 《算法竞赛进阶指南》数论篇
<算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSGS <算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSG ...
- CH5202 自然数拆分Lunatic版(算法竞赛进阶指南,完全背包)
算法竞赛进阶指南,278页,完全背包 本题要点: 1.把完全背包的代码改改即可.常规的完全背包: 有n个物品,每个物品的体积是v[i], 价值是w[i], 求装到大小为m的大背包,能获得的最大价值(每 ...
- 中位数--《算法竞赛进阶指南》(货仓选址和七夕祭问题详解)
中位数 今天又和大家见面了啦~ 依旧是 <算法竞赛进阶指南>的学习哦~ 中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本.种群或概 ...
- 算法竞赛进阶指南 骑士放置
4: 最大独立集 :选出最多的点,使得选出的点之间没有边. 求最大独立集:选出最小的点可以破坏所有的边 <==>最小点覆盖 <==>最大匹配数. 假设最大匹配数为m,共有n个点 ...
最新文章
- php 复杂密码生成,php随机密码生成器
- Spring-AOP实践 - 统计访问时间
- Java mybatis实现mysql批量插入
- oracle 导数据报exp00058_一文看懂oracle12c数据库跨小版本迁移
- Mozilla:火狐操作系统是巨大而艰难的一步“
- 何樱c语言,C语言程序设计-电子教案-连卫民(442页)-原创力文档
- python scoket、SocketServer简单实现文件上传下载
- 计算机鼠标装有,计算机鼠标装有传感器来监视鼠标的移动情况,如图
- 海奥华预言--第三章 地球上的第一个人
- 深度学习——在TensorFlow中查看和设定张量的形态
- UNION ALL vs UNION
- 百面机器学习!算法工程师面试宝典!| 码书
- 《剑指offer》面试题27——二叉搜索树与双向链表(C++)
- 1024福利|硬核无Bug,码上有红包!
- 搜索百度网盘的小姐姐,云网盘之家
- wordpress seo设置全套SEO插件教程
- 【大学物理】第一章:质点运动学
- 可操作 转载 安装cpan软件包软件包
- Python学习日记-day1基础篇 字符 输出 注释
- JSP程序+tomcat服务器如何禁止客户端访问非页面形式路径