本题同bzoj1098

  用个并查集,把连续的被访问过的点并起来。。这样就不会尝试已经走过的点了。

 #include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=,maxm=;
struct zs{
int too,pre;
}e[maxm<<],e1[maxm<<];int tot,last[maxn],tot1,last1[maxn];
int u[maxm],v[maxm];
int fa[maxn];
int i,j,k,n,m; inline void insert(int a,int b){
if(e[last[a]].too==b)return;
e[++tot].too=b,e[tot].pre=last[a],last[a]=tot;
}
inline void ins(int a,int b){
e1[++tot1].too=b,e1[tot1].pre=last1[a],last1[a]=tot1;
}
int getfa(int x){
return fa[x]!=x?fa[x]=getfa(fa[x]):x;
} void dfs(int x){
fa[x]=x+;
printf("%d\n",x);
int next=getfa();//printf(" next:%d\n",next); for(int i=last[x];i;i=e[i].pre){
while(next<e[i].too)
dfs(next),next=getfa(next+);
if(next==e[i].too)next=getfa(next+);
}
while(next<=n)dfs(next),next=getfa(next+);
} int ra;char rx;
inline int read(){
rx=getchar(),ra=;
while(rx<''||rx>'')rx=getchar();
while(rx>=''&&rx<='')ra*=,ra+=rx-,rx=getchar();return ra;
}
int main(){
n=read(),m=read();
for(i=;i<=m;i++)u[i]=read(),v[i]=read(),ins(v[i],i),ins(u[i],i);
for(i=n;i;fa[i]=i,i--)
for(j=last1[i];j;j=e1[j].pre)
if(j&)insert(u[e1[j].too],i);
else insert(v[e1[j].too],i);
// for(i=1;i<=n;i++)for(j=last[i];j;j=e[j].pre)printf("%d-->%d\n",i,e[j].too);//return 233;
fa[n+]=n+;
dfs();
return ;
}

[bzoj1301] [LLH邀请赛]参观路线的更多相关文章

  1. [LLL邀请赛]参观路线(图论+dfs)

    emmmm....学校的oj被查水表了,扒不到原题面,所以.... 但是我还是扒到了题面... 题目大意:给定一个完全图,删掉其中一些边,然后求其字典序最小的遍历顺序 有点像去年day2T1啊.... ...

  2. 参观路线——并查集+dfs

    题目描述 Lambdaland由N个城市组成,任两个城市间都有一条道路相连.  下个月TBL准备参观Lambdaland.他将从城市1开始,以深度优先搜索顺序参观能所有遍历到的城市. 由于TBL是一位 ...

  3. bzoj:1299: [LLH邀请赛]巧克力棒

    原题:http://www.lydsy.com/JudgeOnline/problem.php?id=1299 众多dalao的题解已经很详细了:http://blog.csdn.net/wzq_qw ...

  4. BZOJ 1299: [LLH邀请赛]巧克力棒 [组合游戏]

    每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度. Nim游戏多了一个决策:拿出一些石堆 显然只要给对方构造异或和为0的子集就行了 暴枚子集... #include &l ...

  5. BZOJ1299: [LLH邀请赛]巧克力棒(Nim游戏)

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 552  Solved: 331[Submit][Status][Discuss] Descriptio ...

  6. BZOJ1299[LLH邀请赛]巧克力棒——Nim游戏+搜索

    题目描述 TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度.TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒). ...

  7. BZOJ.1299.[LLH邀请赛]巧克力棒(博弈论 Nim)

    题目链接 \(Description\) 两人轮流走,每次可以从盒子(容量给定)中取出任意堆石子加入Nim游戏,或是拿走任意一堆中正整数个石子.无法操作的人输.10组数据. \(Solution\) ...

  8. BZOJ1299 [LLH邀请赛]巧克力棒

    怎么又是博弈论...我去 Orz hzwer,这道题其实是可以转化成Nim游戏的! "第一步: 先从n根巧克力棒中取出m(m>0)根,使得这m根巧克力棒的xor和为0,同时使得剩下的n ...

  9. BZOJ1300 [LLH邀请赛]大数计算器

    一开始以为暴力搞,后来看了数据范围还以为要FFT,各种被虐,然后Orz Seter大神!!! 我只想到了前三位:a * b <=> 10^(log(a) + log(b)),于是把乘的数都 ...

随机推荐

  1. iOS SDAutoLayout图文混排-共享

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #526eda } span.s1 { color: #4dbf5 ...

  2. bzoj 4012: [HNOI2015]开店

    Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到 人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的 想法当然非常好啦,但是她们也发现 ...

  3. 关于VS2017安装的一点扩充说明(15.5)

    其实逆天不推荐自己慢慢离线,找个离线包更新下再打包更快 Key:http://www.cnblogs.com/dunitian/p/4667038.html VS完整卸载工具:https://gith ...

  4. python multiprocessing.Process

    在使用Kafka-python时自己写的一个bug 我在一个进程的__init__中初始化了一个producer,但是一直不好用 但是在函数里直接new一个就好用了 why? 需要说明的是produc ...

  5. K:java中枚举的常见用法

    用法一:常量   在JDK1.5 之前,我们定义常量都是: public static fianl.....现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. ...

  6. ngx-bootstrap使用02 Accordion组件的使用

    1 Accordion组件 该组件通过一个可折叠的控制面板去在有限空间内显示更多的信息 according组件在可折叠指令的最外层,该组件提供了一些列的项目列表去显示被折叠的内容,这些项目列表包含he ...

  7. webpack 构建简单的vue项目

    ---恢复内容开始--- webpack主要执行流程: 入口→loader处理→出口 // webpack.config.js 文件:const path = require('path') // 引 ...

  8. Android 获取唯一标识替代方法

    private static String getTheOnlyID() { String onlyOne; //获取IMEI TelephonyManager TelephonyMgr = (Tel ...

  9. 前端安全之XSS攻击及防御

    xss攻击是什么 ? XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种,一种是DOM Based XSS漏洞,另一种是Stored XSS漏洞.理论上, ...

  10. JS中typeof和instanceof用法区别

    typeof和instanceof都可以用来判断变量 1.typeof用以获取一个变量或者表达式的类型,typeof一般只能返回如下几个结果: number,boolean,string,functi ...