做题感悟:刚刚做了一个简单的搜索题本来不想写,但是百度了一下别人的代码,比我的代码简单多了,于是……
解题思路:记录步数 = 标记 。
做题感悟:感觉这题数据有点水,最大价值时的宝石数应该为 k ,我开始没这样也 AC 了 。
解题思路:背包 || 搜索。
做题感悟: 一看这题的 AC 率就知道比较水。。
解题思路:简单回溯。
做题感悟:没有认真读题,走的站点必须是有人要去的站点。
解题思路:回溯 || 或者生成 7 的全排列 。
解题思路:背包 || 暴力回溯。
六、HDU 2199 Can you solve this equation?
做题感悟:这题惭愧的,调精度调了半下午。
解题思路:二分,注意精度。
做题感悟:开始这题是用暴力解决的数据很水。
解题思路:可以用四色定理解决,四色定理:四色定理是一个著名的数学定理:如果在平面上划出一些邻接的有限区域,那么可以用四种颜色来给这些区域染色,使得每两个邻接区域染的颜色都不一样;另一个通俗的说法是:每个地图都可以用不多于四种颜色来染色,而且没有两个邻接的区域颜色相同。被称为邻接的两个区域是指它们有一段公共的边界,而不仅仅是一个公共的交点。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 结束 。