结题报告--hih0CoderP1041
题目:点此
描述
小Hi和小Ho准备国庆期间去A国旅游。A国的城际交通比较有特色:它共有n座城市(编号1-n);城市之间恰好有n-1条公路相连,形成一个树形公路网。小Hi计划从A国首都(1号城市)出发,自驾遍历所有城市,并且经过每一条公路恰好两次——来回各一次——这样公路两旁的景色都不会错过。
思路
这里使用dfs序列。以一下树为例:

(图片来源于百度,所以后面又‘#’,懒得删了)
dfs序列:ABDCE。
为方便理解算法,我们把结点写两遍,变成:ABDDBCEECA。
假如小Ho的要求序列是ADC,那么是可行的,那在dfs序列里怎么判断呢?
答:小Ho要求的顶点序列每一个点前面的所有顶点都不在两个此节点中间。
根据这个答案,写出的代码WA0分,样例也过不去,输出全是YES,而应该是YES和NO。
分析一下错误答案。
树:

(原谅我丑陋无比的图)
dfs序:1244552366771
分析一下:3不在两个二之间,3和2都不在两个7之间,所以程序认为它是可以的,可是因为3和7之间夹着一个2,所以不可以。因此,得出结论:不仅要前面的算法,还需要保证一个节点后要么没有子孙节点,有则必须是连续的。
最后,结合粗体字,就是AC代码了
对付多数据的mains发点此
犯的错误
1.数组没初始化(每次都要重新初始化,因为每次都是一棵新的树)
2.重命名了(那个dfsx数组,猜我为啥加个x?)
3.cnt不用每次访问完就++,++一次就行了
4.思路中的第二点我开始没考虑到
5.判断第二个条件时,i和j的初值错了
6.为了调试方便,可以用set(将所有子节点放入set再查找,复杂度O(N),好于两重循环。)
收获
1.再重复那几个字:初始化,初始化,初始化(重要的事情说三遍!!)
2.以后所有名称尽量不要叫“dfs”,因为dfs有:函数、栈、数组(dfs序……),叫“dfs”很容易重命名,同理,bfs也不行。
3.做题时,所有的方面可能开始没考虑到,可是之后一定到考虑到。
4.STL不要省着用!(若想判断你是否省着用STL,看看这题你是否想到了用STL的解法)
结题报告--hih0CoderP1041的更多相关文章
- 《基于Arm实验箱的国密算法应用》课程设计 结题报告
		<基于Arm实验箱的国密算法应用>课程设计 结题报告 小组成员姓名:20155206赵飞 20155220吴思其 20155234昝昕明 指导教师:娄嘉鹏 设计方案 题目要求:基于Arm实 ... 
- 《基于Cortex-M4的ucOS-III的应用》课程设计 结题报告
		<基于Cortex-M4的ucOS-III的应用>课程设计 结题报告 小组成员姓名:20155211 解雪莹 20155217 杨笛 20155227 辜彦霖 指导教师:娄嘉鹏 一.设计方 ... 
- 2013山东省ICPC结题报告
		A.Rescue The Princess 已知一个等边三角形的两个顶点A.B,求第三个顶点C,A.B.C成逆时针方向. 常规的解题思路就是用已知的两个点列出x,y方程,但这样求出方程的解的表达式比较 ... 
- uva401 - Palindromes结题报告
		题目地址 : http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ... 
- [置顶] 白话最小边覆盖总结--附加 hdu1151结题报告
		刚开始看到这个题目的时候就觉得想法很明了,就是不知道如何去匹配... 去网上看了不少人的解题报告,但是对于刚接触“最小边覆盖”的我来说....还是很困难滴....于是自己又开始一如以往学习“最大独立集 ... 
- hdu1281结题报告
		哎哎...自己刚刚一看到这个题目居然.....什么都想不到...看了一下别人的解题报告说最大匹配...于是就自己开始构思啦... 对于这个棋盘,有K个可以放棋子的位置....那么 首先我们开始可以求出 ... 
- 有向图强连通分支的Tarjan算法讲解 + HDU 1269 连通图 Tarjan 结题报告
		题目很简单就拿着这道题简单说说 有向图强连通分支的Tarjan算法 有向图强连通分支的Tarjan算法伪代码如下:void Tarjan(u) {dfn[u]=low[u]=++index//进行DF ... 
- 2016noipday1t1玩具迷题结题报告
		经常读这个代码有益于比赛时想起一些思路.... day1t1,洛谷dalao称之为水题...??然后我去年还是没拿到分,就这个,我还就写了40%的数据,AC到40,然而这不是关键,注释了freopen ... 
- 2017 五一 清北学堂 Day1模拟考试结题报告
		预计分数:100+50+50 实际分数:5+50+100 =.= 多重背包 (backpack.cpp/c/pas) (1s/256M) 题目描述 提供一个背包,它最多能负载重量为W的物品. 现在给出 ... 
随机推荐
- android翻译应用、地图轨迹、视频广告、React Native知乎日报、网络请求框架等源码
			Android精选源码 android实现高德地图轨迹效果源码 使用React Native(Android和iOS)实现的 知乎日报效果源码 一款整合百度翻译api跟有道翻译api的翻译君 RxEa ... 
- valgrind 的使用简介
			zz自 http://blog.csdn.net/destina/article/details/6198443 感谢作者的分享! 一 valgrind是什么? Valgrind是一套Linux下 ... 
- SpringMVC学习笔记三:Controller的返回值
			springMVC的返回值有ModelAndView,String,void,Object类型 项目目录树: 该项目是在前面项目的基础上修改的,这里的pom.xml文件需要加入使用到的包,应为@Res ... 
- tomcat启动后access error[730048]的解决方法
			安装了JDK... 配置了系统变量... 解压了tomcat... 配置了系统变量... 点击startup.bat启动了以后,打开浏览器,出现access error 404错误. 仔细看过控制台输 ... 
- 吴裕雄--天生自然 R语言开发学习:回归(续一)
			#------------------------------------------------------------# # R in Action (2nd ed): Chapter 8 # # ... 
- 那些被刻意“阉割”的名人名言
			"天才是百分之一的灵感,百分之九十九的汗水",这句名言大家都知道的吧!不过还有好多人不知道的是这句名言还有后半句:"但百分之一的灵感甚至比百分之九十九的汗水更重要.&qu ... 
- OAuth 2.0学习笔记
			文章目录 OAuth的作用就是让"客户端"安全可控地获取"用户"的授权,与"服务商提供商"进行互动. OAuth在"客户端&quo ... 
- 学习HEXO的历程
			前言: 简介 开始搭建 命令 API测试 逛github相关的帖子时,发现了hexo.正好想要做一个个人的博客,用来记录自己的各类感悟,所以花一些时间学习学习,以后博客可以放github,省得去注册c ... 
- jquery.qrcode笔记
			由于一个坑爹的项目需要生成二维码扫描,后台由于数据库比较麻烦,就只能前端做了,于是乎找到Js生成qrcode的一个库:https://github.com/jeromeetienne/jquery-q ... 
- 悖论当道,模式成空:汽车O2O真是死得其所?
			O2O热潮的兴起似乎来得颇为蹊跷--或许是线上连接线下的模式太过空泛,具有极大的包容性,让各个行业都忍不住在其中横插一脚.在经历过最初的崛起和后来的火爆之后,最终形成目前的寒冬.究其原因,O2O并不是 ... 
