暑假集训
HBUT_ACM
这个作者很懒,什么都没留下…
展开
-
dijkstra(最短路径)
不带堆优化版本int dijkstra() { int ans = 0; for(int i = 1; i <= n; i++) vis[i] = 0,dis[i] = inf; dis[1] = 0; for(int i = 1; i <= n; i++) { int temp = inf,u; for(int j = 1;原创 2017-07-27 10:46:42 · 474 阅读 · 2 评论 -
基础图论
题目链接 HDU - 4463 Outlets 题意:给定一些点的坐标,有两个点必须相连,求这个图的最小生成树 分析:算出每两个点的坐标,然后直接把那两个点相连,再跑一边kruskal。 代码:#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using nam原创 2017-08-02 10:12:56 · 418 阅读 · 0 评论 -
字典树
vj地址 一共9题A - 统计难题 HDU - 1251题意:给很多字符串,然后在这些串中查询公共前缀的数量分析:字典树模板题#include <iostream> #include <cstring> #include <cmath> #include <algorithm> #include <cstdio> #include <queue> #include <vector>using nam原创 2017-07-26 17:09:27 · 1059 阅读 · 0 评论 -
kruskal(最小生成树)
图论基本知识 这一题的代码 本质上就是贪心。 每次选取权值最小的边,然后判断是否与之前选的边成环,如果不能成环,就选中这条边,如果成环,就不选。#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int maxn = 105; const原创 2017-07-27 10:35:08 · 361 阅读 · 0 评论