现在的位置: 首页 > 综合 > 正文

简单搜索集

2019年02月26日 ⁄ 综合 ⁄ 共 1504字 ⁄ 字号 评论关闭

一、HDU 1035 Robot Motion

   做题感悟:刚刚做了一个简单的搜索题本来不想写,但是百度了一下别人的代码,比我的代码简单多了,于是……

   解题思路:记录步数 = 标记 。

本人代码~>   优化代码~>

二、HDU 2660 Accepted Necklace

   做题感悟:感觉这题数据有点水,最大价值时的宝石数应该为 k ,我开始没这样也 AC 了 。

   解题思路:背包 || 搜索。

本人代码~> 别人代码~>

三、HDU 2616 Kill the monster

   做题感悟: 一看这题的 AC 率就知道比较水。。

   解题思路:简单回溯。

代码~~>

四、HDU 1572 下沙小面的(2)

   做题感悟:没有认真读题,走的站点必须是有人要去的站点。

   解题思路:回溯 || 或者生成 7 的全排列 。

回溯~>  生成全排列~>

五、HDU 2079 选课时间(题目已修改,注意读题)

   解题思路:背包 || 暴力回溯。

回溯~~> 

六、HDU 2199 Can you solve this equation?

     做题感悟:这题惭愧的,调精度调了半下午。

     解题思路:二分,注意精度。

代码~~>

七、POJ 1129 Channel Allocation

做题感悟:开始这题是用暴力解决的数据很水。

解题思路:可以用四色定理解决,四色定理:四色定理是一个著名的数学定理:如果在平面上划出一些邻接的有限区域,那么可以用四种颜色来给这些区域染色,使得每两个邻接区域染的颜色都不一样;另一个通俗的说法是:每个地图都可以用不多于四种颜色来染色,而且没有两个邻接的区域颜色相同。被称为邻接的两个区域是指它们有一段公共的边界,而不仅仅是一个公共的交点。so 这题在当你发现地图颜色等于四时就可以结束了。

注意题目中这句话:since the repeaters lie in a plane, the graph formed byconnecting adjacent repeaters does not have any line segments that cross.

大致意思就是 “城市所在的世界是一个平面世界,当把城市看做点,相邻城市用边连接时,这些边不能相交”。so 这题正好适合四色定理。

代码~>

八、HDU 2266 How Many Equations Can You Find

做题感悟:开始想多了,又来一想只要dfs里面嵌套一个for()循环即可。

解题思路:依次枚举即可,不多说看代码。

代码~~>

九、POJ 1659 Frogs' Neighborhood

做题感悟:这题开始直接用 dfs 暴搜过掉而且还是 0 毫秒 , 之后看别人代码可以用 Havel 定理。

解题思路: 1 )  dfs 暴搜   2 )
Havel 定理 so~ > 下面讲一下

Havel 定理:给定一个非负整数序列 { dn } ,若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化,进一步,若图为简单图,则称此序列可简单图化。

假如输入的度数序列存入a数组中。

 步骤:

1 )  对当前序列排序(按从大到小排序);

2 )  取当前序列的第一个元素 x ,使后面 x 个数依次减一。

3 ) 如果出现负数或者后面不到x个数,则说明不可图化,否则转到 1 ) 继续执行(执行 n 次)(ps:取得第一个数为 0 也结束说明可图化)。

For example : 4 3 1 5 4 2 1

排序得: 5 4 4 3 2 1 1

取第一个数 5 并使 5 后面的 5 个数依次减一 (同时把 5 改为 0)得:0 3 3 2 1 0 1

继续排序得: 3 3 2 1 1 0 0 

取第一个数 3 并使 3 后面的 3 个数 依次减一(同时把 3 改为 0 )得 :0 2 1 0 1 0 0

继续排序得: 2 1 1 0 0 0 0

取第一个数 2 并使 2 后面的 2 个数依次减一 (同时把 2 改为 0 )得: 0 0 0 0 0 0 0

全是 0 结束 。

Havel 定理代码~  
dfs 代码~

 

 

 

 

 

 

 

  

抱歉!评论已关闭.