ReZero's Utopia.

ReZero's Utopia.

Everything is permitted.

哈夫曼编码
给定一个字符串,进行哈夫曼编码 #include <bits/stdc++.h> using namespace std; typedef struct node{ int num; string data; node(int _num, string _data){ num = _num; data = _data; } }node; bool operator<(const node &a, const node &b){ return ...
(转)坐在马桶上看算法:只有五行的Floyd最短路算法
此算法由Robert W. Floyd(罗伯特·弗洛伊德)于1962年发表在“Communications of the ACM”上。同年Stephen Warshall(史蒂芬·沃舍尔)也独立发表了这个算法。Robert W.Floyd这个牛人是朵奇葩,他原本在芝加哥大学读的文学,但是因为当时美国经济不太景气,找工作比较困难,无奈之下到西屋电气公司当了一名计算机操作员,在IBM650机房值夜班,并由此开始了他的计算机生涯。作者:ahalei来源:51CTO博客|2014-03-26 09:04 收藏 分享 暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如...
拓扑排序问题(队列实现)
拓扑排序方法: 找到所有入度为0的点插进队列 选择一个并输出它 然后删掉与之关联的所有边(即任何与之相连的入度-1) 删除过程遇到入度为0点插入队列 重复第二步,直到队列中无0点 优化:如果要求最小字典序 用反向拓扑加优先队列 #include <bits/stdc++.h> using namespace std; vector<int> G[5020]; map<string, int> maps; map<int, string> mapr; struct less_cmp{ bool opera...
通畅工程问题
在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。input 有多组输入数据。每组第一行输入三个整数n、m、c(1<=n,m,c<=100000),分别代表城市数量,可建道路数量和单位长度道路修建费用。接下来m行每行三个整数u、v(1<=u,v<=n)、d(1<=d<=100000)。代表可建道路的起点城市、终点城市和长度。 output 每组数据输出一行,输出数据组数和使所有城市连通的最小费用,无法全部连通输出-1。 Kruskal算法的步骤:1.对所有边进行从小到大的排序。 2.每次选一条边(最小的边),如果如果形成环,就不加入(u...
(转)并查集
本文由 简悦 SimpRead 转码, 原文地址 http://blog.csdn.net/dellaserss/article/details/7724401 这个文章是几年前水 acm 的时候转的, 当时也不知道作者是谁, 要是有人知道的话说一下吧 并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起 party 了。(party:我靠,关我嘛事啊?我跟你很熟么?) 来看一个实例,杭电 1232 畅通工程 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连...
八皇后问题
#include <bits/stdc++.h> using namespace std; int answer[92]{ 15863724,16837425,17468253,17582463,24683175,25713864,25741863,26174835,26831475, 27368514,27581463,28613574,31758246,35281746,35286471,35714286,35841726,36258174, 36271485,36275184,36418572,36428571,36814752,36815724,3682...
avatar
ReZero
大屁水饺的理想国.