- 博客(9)
- 资源 (17)
- 收藏
- 关注
原创 POJ 3169 Layout
将查分约束系统问题转换成有向图的最短路问题,用BF算法求1号节点到N号节点的最短路长度,其中包含判断负环的情况,在该情况下要退出寻找最短路的循环,一开始没有注意这个条件,可想而知会死循环超时。#include #include using namespace std;#define MAX_V 1200#define INF 0x7FFFFFFFtypedef stru
2015-06-06 22:43:07 523
原创 POJ 3723 Conscription
将问题做一下转换,如果两个人之间有关系就在两个人之间连一条边,边的权值是题目给的关系数值的相反数,假设没有关系的人之间的边的权值是0,那么问题就变成了在完全图里面找最小生成树,最小生成树的所有边的权值和加上(M+N)*10000就是最后的答案,当然没有必要构造出完全的最小生成树,如果包含关系的边用完了,就不用再用权值为0的边继续构造最小生成树了,因为这样对最小生成树的总权值和没有影响,用优先队列优
2015-06-06 19:01:51 587
原创 POJ 3255
迪杰特斯拉算法的推广,用优先队列维护当前最短距离#include #include #include using namespace std;#define MAX_V 5005#define INF 0x7FFFFFFFtypedef int TO_POINT;typedef int PATH_LEN;typedef struct edge{ TO_POINT
2015-06-06 15:44:29 451
原创 POJ 2431 Expedition
贪心策略:如果当前车子剩的油量可以撑到下一个加油站,就不加油走到下一个加油站,如果剩余的油不够,就从经过的加油站里面优先选能够加的油最多的加油站加油,加油后把对应的加油站踢出优先队列,经过的加油站加入优先队列,如果不出现所有能用的加油站全部加油还到不了下一个车站的情况,那么车就可以一直开到终点,且加油次数一定是最少的,反之,如果车子连下个一加油站都没发到,肯定也到不了终点。#include
2015-06-04 21:04:37 464
原创 POJ 3253 Fence Repair
贪心策略:每次取两根最短的棍子组合成根长的棍子,累加代价,组合出来的长棍子再加入到棍子的集合中,迭代直到只剩下一根棍子为止,用用优先队列维护中间数据效率会高一些。#include #include using namespace std;int arr[20005];typedef struct node{ long long len;}node;bool operator
2015-06-04 18:24:41 487
原创 POJ 3069 Saruman's Army
贪心策略:每一次做标号的点应该是距离最左边的点最远且距离不超过R的点,标记好这个点后,下一段的最左边的点应该是第一个距离标记好的点距离大于R的点。#include #include using namespace std;int arr[1010];//升序比较函数int cmp(const void *a, const void *b){ int *pa = (int*)a;
2015-06-04 15:33:35 348
原创 POJ 3617 Best Cow Line
贪心策略:每次比较开始位置和结束为止构成的字符串和其反串的大小,原始串更小就取左边的字符,否则取右边的字符#include #include #include using namespace std;char arr[3000];void solve(int n){ int start, end, i; string str1, str2; start = 0; end
2015-06-04 13:45:17 333
原创 POJ 2386 Lake Counting
基本的DFS,用于练手#include char arr[110][110];int max_row;int max_col;void dfs(int cur_row, int cur_col){ if(cur_rowmax_row) return; if(cur_colmax_col) return; if('.' == arr[cur_row][cur_col
2015-06-03 22:28:51 347
原创 POJ 1852 Ants
简单水题,练手#include #define MIN(a,b) (a<b ? a:b)#define MAX(a,b) (a>b ? a:b)int ant[1000005];void solve(int L, int n){ int i, tmp; int max_early, max_late; max_early = max_late = -1; for(
2015-06-03 22:00:56 426
轻松汇编2.7最新版以及修改字体办法
2010-09-13
VisualAssist1827以及破解补丁
2010-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人