08 2013 档案

03最小路径覆盖问题
摘要:可以用天津南开的oj提交,我开始案例都没过,一提交AC,因为是特判。题目链接http://acm.nankai.edu.cn/p2123.html最小的路径条数=顶点数-最大匹配数。没一条路径就是一条增广路。我们只需一路递归,只到节点的父亲为-1止,这便是一条路。这题也可以建图,建立一个超级源点,超... 阅读全文

posted @ 2013-08-29 20:40 黎昊明 阅读(185) 评论(0) 推荐(0)

02太空飞行计划问题
摘要:W 教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。现已确定了一个可供选择的实验集合E={E1,E2,…,Em},和进行这些实验需要使用的全部仪器的集合I={I1,I2,…In}。实验Ej需要用到的仪器是I的子集RjÍI。配置仪器Ik的费用为ck美元。实验E... 阅读全文

posted @ 2013-08-29 20:23 黎昊明 阅读(350) 评论(0) 推荐(0)

hdu 2448最短路+最佳匹配
摘要:先说一说最佳匹配吧,最佳匹配本属于最大流。带权的二分图,要么求最小权的完全匹配,要么求最大权的完全匹配,具体化问题:分工问题如下:某公司有工作人员x1,x2,...,xn,他们去做工作y1,y2,...,yn,每人适合做其中的一项或几项工作,每个人做不同的工作的效益不一样,我们需要制定一个分工方案,... 阅读全文

posted @ 2013-08-23 20:50 黎昊明 阅读(352) 评论(0) 推荐(0)

poj1419 最大团
摘要:本题的意思是求最大团,并且输出路径。如果用朴素算法时间复杂度太高,如果n是100的话,至少要几秒,要慎用。还有一个就是用DP记录。时间复杂度要低很多。也可以输出路径。#includeusing namespace std;const int N=109;int map[N][N];int sta[N... 阅读全文

posted @ 2013-08-20 10:23 黎昊明 阅读(166) 评论(0) 推荐(0)

hdu 3585(二分+最大团)
摘要:如果对团的知识不够了解的可以看看牛人的http://www.cnblogs.com/pushing-my-way/archive/2012/08/08/2627993.html题意:有n个点求最远距离的k个点的最短的那条边。思路:我们可以求出任意两点的距离,然后二分距离,求K个点的最大团。#incl... 阅读全文

posted @ 2013-08-20 10:13 黎昊明 阅读(316) 评论(0) 推荐(0)

hdu 3622 2-SAT
摘要:题意:给出一些点对,你可以在每对中任意选一个,只能选一个,放置一个炸弹,每个炸弹爆炸时都有一个效果范围,会波及到其放置点为圆心,半径为 r 的圆的范围,问如果要让任意两个圆都不相交(可以相切)的话,半径的最大值是多少。二分+2-SAT建图:只要一对点(i,j)的距离小于二分时候的mid的值,那么建立... 阅读全文

posted @ 2013-08-15 10:45 黎昊明 阅读(229) 评论(0) 推荐(0)

hdu3592差分约束
摘要:题意:如果i和j之间是喜欢关系,那么它们最多相距w;如果不喜欢就最少要相距w。可以转换成求最短路,spfa算法,如果是负环就输出-1;如果图不连通就输出-1;否则输出最短路。#include#include#includeusing namespace std;const int N=1003;co... 阅读全文

posted @ 2013-08-12 20:56 黎昊明 阅读(212) 评论(0) 推荐(0)

hdu3666差分约束
摘要:第一次做差分约束。题意:给你一个N*M的矩阵,求两列数a1,a2,a3...an 和 b1,b2.....bm使得对矩阵中的每个数进行下面的操作之后的值在[L,U]之间,操作为:a[i] * m[i][j] / b[j]。 N,M#include #includeusing namespace st... 阅读全文

posted @ 2013-08-12 20:44 黎昊明 阅读(222) 评论(0) 推荐(0)

hdu3986枚举+最短路(删掉任意一条边的最长最短路)
摘要:本题和hdu1595是一个意思。可以看看http://www.cnblogs.com/BruceNoOne/p/3252895.html#include#includeusing namespace std;const int N=1009;const int inf=1q; int i; ... 阅读全文

posted @ 2013-08-12 14:51 黎昊明 阅读(331) 评论(0) 推荐(0)

hdu1594枚举+最短路(删掉任意一条边的最长最短路)
摘要:本题的意思是删除任意一条边的情况下都满足的最短路。分析:删除的边一定是最短上的边,才会使得最坏情况下的路径最短。所以需要删除最短路的边后枚举其他边的最短路。这题和hdu3986差不多,这题中边没有重边,而hdu3986有重边。保存路径是要注意。我用的是spfa。也可以用dij+优先队列。#inclu... 阅读全文

posted @ 2013-08-12 14:45 黎昊明 阅读(1137) 评论(0) 推荐(0)

hdu1688 最短路加比最短路多1的条数
摘要:本题和hdu3191是非常相似的,我们只需加一个判断条件dis[e][0]+1==dis[e][1]即可。要记得点的下标。可以看看hdu3191http://www.cnblogs.com/BruceNoOne/p/3248474.html#include using namespace std;c... 阅读全文

posted @ 2013-08-09 16:08 黎昊明 阅读(163) 评论(0) 推荐(0)

hdu3191 Dij
摘要:题目的意思是找次最短路的条数,这道题只好用dij算法,通过这题可以很好的理解dij。可以看看大神的思想http://www.cnblogs.com/wally/archive/2013/04/16/3024490.html但是本题本来不应该用优先队列,是因为hdu的数据库太水。我就用了一个循环找最短... 阅读全文

posted @ 2013-08-09 16:01 黎昊明 阅读(453) 评论(0) 推荐(0)

hdu2680最短路
摘要:本题的意思是求多个源点的最短路,比较简单,可以反过来求,把终点做源点。但是也可以构造一个源点。我用了dijkstra写的#include using namespace std;const int N=1009;struct node{ int v,w,next;}e[N*N];int hea... 阅读全文

posted @ 2013-08-07 20:18 黎昊明 阅读(167) 评论(0) 推荐(0)

hdu3631 floyd
摘要:题目的意思是给定n个顶点m条边,边允许重边,取小值;计算标记点的最短路。有两种询问方式,第一种,就是标记点,第二种就是输出两点间的最短路。本题是要我们了解floyd的思想,还有就是,本题会爆int。应该用__int64 或long long型;我就被坑了两次;#includeusing namesp... 阅读全文

posted @ 2013-08-07 20:11 黎昊明 阅读(232) 评论(0) 推荐(0)

hdu4635强连通
摘要:这个题的意思是一个有向图,你最多能加多少条边,它还不会是强连通图,加的边不能有重边。只需这个图变成两个强连通,而且是一个连通分量只能指向另一个连通分量,可以先缩点。真心没想到#includeusing namespace std;const int N=100010;struct node{ ... 阅读全文

posted @ 2013-08-01 21:09 黎昊明 阅读(210) 评论(0) 推荐(0)

导航