IT民工
加油!
摘要: 转自小驰的博客。去年认识的小驰,当时水平还差不多,现在我被远远甩在了后面,悲哀!http://www.cnblogs.com/njuzyc/两道好玩的问题及我对“贪心思想”看法贪心是一种思想,所以我感觉给它下严格的定义不太合理。//要细致地研究它严格的定//义当然是必不可少的在最优化问题中,贪心思想指每次决策都选择当前最优解,而不用考虑全局的情况。贪心法是一种很高效的算法,但是容易知道贪心算法不一定正确,即从局部最优解不一定能够构造出全局最优解。所以说,贪心的难点之一便是 贪心 正确性的证明。总结出什么样的问题是能够用贪心法解决 是一件很困难的事情,不过大神们也弄出了一套名为“矩阵胚”的理论, 阅读全文
posted @ 2012-07-26 17:02 找回失去的 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 求任意两点之间的最短路径最大值的最小值,听起来有点绕口,不过数据结构课程设计里面给出了这个概念,叫做偏心度,就是一个点到途中任一点的距离要最小,先用floyd求出任意两点之间的最短路,再枚举每一个点到其他点的最短距离,找出其中最大那个,和其他的最大值来比较,找出全图的最小值。/*Accepted 168K 0MS C++ 1217B 2012-07-26 15:42:29*/#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace st 阅读全文
posted @ 2012-07-26 15:50 找回失去的 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 这道题比较经典了。建图时用g[0][i]表示不用替代物品获得编号为i的物品所需的金币,g[j][i]代表用编号为j的物品替代获得编号为i的物品所需要的金币,然后在M的限制范围内进行所有可能的交易,最后获得其最小值,一共需要做m次dij。/*Accepted 228K 0MS C++ 1600B 2012-07-26 15:16:49*/#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<queue>using namespace s 阅读全文
posted @ 2012-07-26 15:22 找回失去的 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 这道题是要求石头1到石头2的最长跳跃距离的最小值,用了堆优化的dij来做,想不到好久没写最短路,这玩意都写的不顺了。也可以用floyd求出任意两个石头间的距离,也就是跳跃距离,然后找到1到2的最长路径的最小值。/*Accepted 636K 0MS C++ 1453B 2012-07-26 11:51:06*/#include<cstdio>#include<cstring>#include<cstdlib>#include<queue>#include<cmath>#include<iostream>using name 阅读全文
posted @ 2012-07-26 12:00 找回失去的 阅读(143) 评论(0) 推荐(0) 编辑