![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
WA怪
这个作者很懒,什么都没留下…
展开
-
拓扑排序
转载自:https://www.cnblogs.com/MrSaver/p/9994720.html 认真阅读你就会发现拓扑排序是基于DFS的,只是加入了一个栈来保存结果。 我们首先知道拓扑排序结果是一个线性排列,这说明了一定存在两类点,一类是入度为0,一类是出度为0。(入度为0指的是只想它的边为0,出度指的是它不指向任何边)。 下图演示了一个从0度点出发的一个DFS树: 首先2节点的邻接顶点是1和3,由于我们是DFS,它就会一条路走下去,所以先走左边,即到达1号节点,..转载 2020-08-16 17:26:15 · 348 阅读 · 0 评论 -
P2814 家谱
题目链接现代的人对于本家族血统越来越感兴趣。题目描述给出充足的父子关系,请你编写程序找到某个人的最早的祖先。输入格式输入由多行组成,首先是一系列有关父子关系的描述,其中每一组父子关系中父亲只有一行,儿子可能有若干行,用#name的形式描写一组父子关系中的父亲的名字,用+name的形式描写一组父子关系中的儿子的名字;接下来用?name的形式表示要求该人的最早的祖先;最后用单独的一个$表示文件结束。输出格式按照输入文件的要求顺序,求出每一个要找祖先的人的祖先,格式为:...原创 2020-08-12 21:01:15 · 142 阅读 · 0 评论 -
P1536 村村通
题目链接某市调查城镇交通状况,得到现有城镇道路统计表。表中列出了每条道路直接连通的城镇。市政府 "村村通工程" 的目标是使全市任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要相互之间可达即可)。请你计算出最少还需要建设多少条道路?输入格式输入包含若干组测试测试数据,每组测试数据的第一行给出两个用空格隔开的正整数,分别是城镇数目n和道路数目m;随后的m行对应m条道路,每行给出一对用空格隔开的正整数,分别是该条道路直接相连的两个城镇的编号。简单起见,城镇从1 到n编...原创 2020-08-12 11:33:01 · 575 阅读 · 0 评论 -
P1195 口袋的天空
题目链接题目背景小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空。有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖。题目描述给你云朵的个数N,再给你M个关系,表示哪些云朵可以连在一起。现在小杉要把所有云朵连成K个棉花糖,一个棉花糖最少要用掉一朵云,小杉想知道他怎么连,花费的代价最小。输入格式每组测试数据的第一行有三个数N,M,K(1≤N≤1000,1≤M≤10000,1≤K≤10)接下来M行每行三个数X,Y,L表示X云和Y云可以通过L的代价连在一原创 2020-08-10 11:00:53 · 213 阅读 · 0 评论 -
P1396 营救
题目链接题目背景“咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动得热泪盈眶,开起了门……题目描述妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车!妈妈丰富的经验告诉她小明被带到了t区,而自己在s区。该市有m条大道连接n个区,一条大道将两个区相连接,每个大道有一个拥挤度。小明的妈妈虽然很着急,但是不愿意拥挤的人潮冲乱了她优雅的步伐。所以请你帮她规划一条从s至t的路线,使得经过道路的拥挤度最大值最小。输入格式第一行有...原创 2020-08-10 10:55:59 · 217 阅读 · 0 评论 -
P1991 无线通讯网
题目链接题目描述国防部计划用无线网络连接若干个边防哨所。2 种不同的通讯技术用来搭建无线网络;每个边防哨所都要配备无线电收发器;有一些哨所还可以增配卫星电话。任意两个配备了一条卫星电话线路的哨所(两边都ᤕ有卫星电话)均可以通话,无论他们相距多远。而只通过无线电收发器通话的哨所之间的距离不能超过 D,这是受收发器的功率限制。收发器的功率越高,通话距离 D 会更远,但同时价格也会更贵。收发器需要统一购买和安装,所以全部哨所只能选择安装一种型号的收发器。换句话说,每一对哨所之间的通话距离都是同原创 2020-08-10 10:35:17 · 386 阅读 · 0 评论 -
P2872 [USACO07DEC]Building Roads S
P2872 [USACO07DEC]Building Roads S题目描述Farmer John had just acquired several new farms! He wants to connect the farms with roads so that he can travel from any farm to any other farm via a sequence of roads; roads already connect some of the farms.Eac原创 2020-08-10 10:22:20 · 278 阅读 · 0 评论 -
最小生成树算法板子
以洛谷P3366为例#include<bits/stdc++.h>using namespace std;const int MAX = 1e9;const int maxn = 5e3 + 5; //点的数据范围const int maxm = 2e5 + 5; //边的数据范围struct node{ int to; int weight; int next;}edge[maxm << 1]; //无向图需要两倍的存储空原创 2020-08-07 16:42:21 · 153 阅读 · 0 评论 -
一文看懂中缀表达式转化成后缀表达式
中缀表达式转化成后缀表达式代码实现心得通过堆栈的学习,我们已经知道想要将中缀表达式转化成后缀表达式,有以下几步操作1.对于运算数:直接输出2. 对于左括号:直接压入栈中3. 对于右括号:将栈顶的运算符弹出并输出,若栈顶元素不是左括号,继续弹出,直到遇到左括号(出栈,但是不输出)4. 对于运算符:• 若优先级大于栈顶运算符时,则把他压栈• 若优先级小于等于栈顶运算符时,将栈顶运算符弹出...原创 2020-04-06 12:08:34 · 289 阅读 · 0 评论