
hdu
文章平均质量分 67
飞上天空的鱼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu1007最近点对
#include #include #include #include #include using namespace std; struct D { double x,y; } a[100100]; int tmp[100100]; double cmp(D a,D b) { return a.x } double cmpy(int p,i原创 2013-02-07 14:19:13 · 337 阅读 · 0 评论 -
hdu 3371 Connect the Cities(最小生成树)
/* hdu 神坑啊! c++能过g++TLE!!!尼玛 */ #include #include #define INF 1 int map[510][510],low[510],vis[510]; int n,m,k; int init() { for(int i = 1; i for(int j = 1; j map原创 2013-04-16 18:16:32 · 789 阅读 · 0 评论 -
hdu 1863(最小生成树)
/* 基础的最小生成树问题, 不过 要特判条件不足的情况 */ #include #include #define INF 1 int n,m,vis[110],low[110]; int map[110][110]; int init() { for(int i = 1; i for(int j = 1; j map[i][j] = I原创 2013-04-16 10:40:37 · 615 阅读 · 0 评论 -
hdu 1879 继续畅通工程 最小生成树
/* 最小生成树 水题 */ #include #include #include #define INF 1 int n,m,vis[110]; int low[110]; int map[110][110]; int init() { for(int i = 1; i for(int j = 1; j map原创 2013-04-16 14:07:55 · 617 阅读 · 0 评论 -
hdu 1301 Jungle Roads
/* MST 水题!*/ #include #include #define INF 1 int map[30][30],low[30],vis[30]; int n; int prim() { int ans=0; for(int i = 0; i low[i] = map[1][i]; vis[1] = 1; f原创 2013-04-16 18:39:33 · 659 阅读 · 0 评论 -
hdu 1162 Eddy's picture(最小生成树)
/*水、模板题*/ #include #include #include #define INF 1 double map[130][130],low[130],a[110],b[110]; int vis[130]; int n; double dis(int i,int j) { return sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b原创 2013-04-16 18:47:35 · 666 阅读 · 0 评论 -
hdu 1198 Farm Irrigation(搜索+并查集)
/* 这个题我是用搜索过的 本来是想用并查集做,但是始终WA不得正解就直接搜索了 */ #include #include int n,m; int dx[]= {0,0,1,-1},dy[]= {1,-1,0,0}; // r l d u char s[555][555]; int p[555],vis[555][555]; struct Node { int原创 2013-04-17 13:08:24 · 777 阅读 · 0 评论 -
hdu 1598 find the most comfortable road(枚举+并查集)
/* 用到了贪心的思路,将边排序 在进行枚举 运用并查集就可以判断是否连通 找出最小值 */ #include #include #include #define INF 1 int n,m,p[1002]; struct R { int x,y,w; } a[1003]; int cmp(const void *x,const void *y)原创 2013-04-17 21:09:33 · 746 阅读 · 0 评论 -
hdu 3926 Hand in Hand(同构图)
/* 判断2个图是否为同构图 只需要判断 图中存在的环跟链的个数是否相同, 环中链中元素个数是否相同 运用并查集可以做 */ #include #include #include #include #define maxn 10001 using namespace std; struct R { int num,flag; } r1[maxn],r2原创 2013-04-18 17:45:32 · 834 阅读 · 0 评论 -
hdu 1811-Rank of Tetris(并查集+拓扑排序)
/* 并查集处理=,然后拓扑排序 当队中超过1个元素时是条件不足,若没有用完所给的条件则是出现冲突 */ #include #include #include #include using namespace std; int u[10010],v[10010],p[10010],deg[10010]; char opr[10010]; vector G[10010];原创 2013-04-15 15:56:27 · 791 阅读 · 0 评论 -
HDU-1325-Is It A Tree?
/* 可以用并查集来解决这个问题,给出一些边判断是不是一个棵树, 只需要判断只有一个跟节点并且每个点的度不大于1就行、 这个题刚开始RE了几次 一直没找到原因,最后才发现 只要2个数都小于0就终止,我以为是-1,-1 结果RE */ #include #include #define M 100010 int p[M],vis[M],deg[M]; int init()原创 2013-04-15 19:03:44 · 862 阅读 · 0 评论 -
hdu-1103
/*其实就是一个优先的问题,直接模拟的 */ #include #include #include int cmp(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main() { int num[40],str[40][1100]; while(scanf("%d %原创 2013-02-07 14:22:46 · 696 阅读 · 0 评论 -
hdu-1269
/*强连通分量 模板题 tarjan算法写的 */ #include #include #include #include using namespace std; int scc[100100],m,n; int dfn[100100],low[100100],times,ma,mb,scc_cnt; stack q; vector map[100100]; int dfs原创 2013-02-07 14:24:26 · 348 阅读 · 0 评论 -
hdu1030
/*数学规律,第一种方法:找3种层数之差加起来 横向 左斜 右斜 第二种: 找出上面的点 的辐射范围 */ #include #include #include #include int main() { int m,n; while(scanf("%d%d",&m,&n)==2) { int temp; i原创 2013-02-07 14:21:24 · 371 阅读 · 0 评论 -
hdu 3367 Pseudoforest(最大生成树)
/* 可以说是一个最大生成树的问题吧, 题意:求出一个最大的子图(子图的每个连通分量最多有一个环) 用kruskal算法求出最大生成树 不过要判断是否有环 2树合并时 :若2个子树都有环不能合并 只有一个有环可以合并 但合并后的树有环 若2个子树都没环直接合并 */ #include #include #include using namespace std;原创 2013-04-22 15:11:06 · 1316 阅读 · 0 评论 -
hdu 1272 小希的迷宫(并查集)
/* 并查集问题,判断是否连通 并且没有环 若果2个点的根节点相同的话说明会成环,想象一下就知道了 */ #include #include #define M 100010 int p[M],vis[M],deg[M]; int init() { for(int i = 0; i p[i] = i; memset(vis,0,si原创 2013-04-15 19:25:30 · 660 阅读 · 0 评论 -
hdu 1856 More is better
/* 题意: n组边,问这些边所组成的一个连通图 里面最多可以有多少节点, 可以用并查集建图,d[x]存储节点个数 */ #include #include #include #define M 10000001 using namespace std; int p[M],d[M]; int find(int x) { return x==p[x]?x:p[x]=fin原创 2013-04-15 20:05:23 · 655 阅读 · 0 评论 -
hdu 1232 畅通工程(并查集orMST)
/* 题意 连接所有点需要多少边 (已经存在了m条边) 两种做法 1:并查集,计算连接了几条边, 总边数为n-1, 答案为n-1-res 2: 最小生成树 已有的边权值为0,不存在的为1 */ //code 1: #include #include int p[1100],d[1100],vis[1100],map[1001][1001]; int n,m,res原创 2013-04-15 22:08:39 · 818 阅读 · 0 评论 -
hdu 1102 -Constructing Roads(最小生成树)
/* 基本的最小生成树问题 将已经存在的边重新建图权值为0,再prim就可以 这个题用prim来做还是比较简单的 */ #include #include #define INF 1000+10 int map[110][110],vis[110],low[110]; int prim(int n) { int ans=0; for(int i = 0;原创 2013-04-15 21:29:26 · 628 阅读 · 0 评论 -
hdu 1233 最小生成树
/*简单的最小生成树*/ #include #include #define INF 1 int map[1001][1001],vis[1001],low[1001]; int n,m; int prim() { int ans=0; for(int i = 1; i { vis[i] = 0; low[i] =原创 2013-04-15 22:27:37 · 516 阅读 · 0 评论 -
3938 Portal(离线型的并查集)
/* 题意: 给出一个L 找出有多少条路径符合条件(条件为路径中路的最大值《=L) 做了这个题学到了离线这个概念 离线就是 输入完成后进行操作 在线是变输入边操作 用并查集来构图 , 每当遇到2棵树合并时, num[x]*num[y]是新的路径数 */ #include #include #include #include using namespa原创 2013-04-18 21:53:44 · 1026 阅读 · 0 评论