- 博客(7)
- 收藏
- 关注
原创 洛谷1195 修复公路 最小生成树
题意:求生成k棵树的最小总路程题解:显然是最小生成树,但是关键是k棵。其实一开始可以看成是N棵树,没加入一条边,只要不生成环,就减少了一棵树,所以只要不成环的前提下加入n-k条边就生成了k棵树。代码:#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>us...
2018-06-21 12:45:07 213
原创 HDU1176 DP
题意:中问题题解:是摘苹果的升级版,要从最后的时间节点往前递推,得到从5开始的最大馅饼数。注意处理边界问题。代码:#include <cstdio> #include <cstring> #include <iostream> using namespace std; int a[100005][12]; int main() { ...
2018-06-18 14:03:40 95
原创 POJ 3660 Cow Contest floyd_warshall
题意:给n个数,和m个大小关系,问有多少个数能确定他在这个数列中大小的排名。题解:floyd_warshall算法,大小关系就用路表示dis[i][j]==1表示i,j关系已知且i<j;更新就是i<k,k<j得i<j;搞完之后,检查一遍,如果一个点和其他n-1个点都明确了关系,这个点的名次就定了。#include<cstdio>#include<iost...
2018-06-15 20:58:35 150
原创 POJ 3268 Silver Cow Party 最短路 dijkstra
题目题意:给出n个点和m条边,接着是m条边,代表从牛a到牛b需要花费c时间,现在所有牛要到牛x那里去参加聚会,并且所有牛参加聚会后还要回来,给你牛x,除了牛x之外的牛,他们都有一个参加聚会并且回来的最短时间,从这些最短时间里找出一个最大值输出题解:这题说是从所有点到x,可以看成是从x到所有点的最短路,注意来回的方向是不同的,所以用两遍dijkstra,一遍是一个方向。代码:#include <...
2018-06-12 21:05:43 164
原创 POJ 2253 Frogger dijkstra 二分 最小生成树
题目题意:有很多石头,青蛙一在一号石头上,求它跳到二号石头,求一个路线,使得这个路线中最大的一次跳跃最小。题解:这种最大的最小的绕口令题用二分很多都可以做,以最短的边为底,1,2的距离为顶,进行二分,检查的时候搜索一遍,看能不能在每次跳跃都小于mid的情况下找到2。代码#include<cstdio>#include<iostream>#include<cstri...
2018-06-08 22:08:56 138
原创 HDU 1875 Kruscal
题解:存一下点之后扫一遍,存进去符合要求的边,然后判断是否完全联通时,用并查集的根数判断。#include<cstdio>#include<algorithm>#include<cmath>using namespace std;struct Island{ int x,y;};struct node { int u,v; double w...
2018-06-02 22:23:00 90
原创 HDU 1233 还是畅通工程
题解:kruskal算法模板krcukal算法:对边进行排序,从最小的开始加入集合,每次都检查是不是构成了环,如果有环,说明这条边是多余的,因为这条边所能实现的联通的功能,已经被前面更短的边实现了。#include<iostream>#include<algorithm>using namespace std;const int maxn=10005;struct ...
2018-06-02 22:12:29 80
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人