![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
小王子y
互关啊!!
展开
-
1389:亲戚 并查集
1389:亲戚时间限制: 1000 ms 内存限制: 65536 KB提交数: 4599 通过数: 1471【题目描述】若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的某个人所在家族的人数。规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。【输入】第一行:三个整数n,(n≤100,000,m≤200,000),分别表示有n个人,m个信息。以下m行:原创 2020-10-23 22:26:05 · 215 阅读 · 0 评论 -
1524. 最长回文子串(简便奇数偶数推导)
给定一个字符串,请你求出其中的最长回文子串的长度。例如,给定字符串 Is PAT&TAP symmetric?,最长回文子串为 s PAT&TAP s,其长度是 1111。输入格式包含一个非空字符串。输出格式输出一个整数,表示给定字符串的最长回文子串的长度。数据范围给定字符串的长度不超过 10001000。输入样例:Is PAT&TAP symmetric?输出样例:11#include <iostream>#include <cstr原创 2020-10-20 22:01:43 · 276 阅读 · 0 评论 -
PTA有理数运算(函数使用)
给定两个有理数,你的任务是实现基本算术,即计算它们的和,差,积和商。输入格式共一行,以 a1/b1 a2/b2 的形式给出两个有理数。分子和分母都在 long int 范围内,如果存在负号,则只能出现在分子前面,分母保证为非零数字。输出格式分别在四行输出两个有理数的和,差,积和商。每行的格式为 number1 operator number2 = result。请注意,所有有理数都必须采用最简形式,k a/b,其中 kk 是整数部分,而 a/ba/b 是最简分数部分。如果数字为负,则必须将其原创 2020-10-20 12:38:45 · 393 阅读 · 0 评论 -
背包问题DFS解法
#include<iostream>#include<cstdio>#include<vector> #include<cstring> using namespace std;const int maxn=30;int n,V,maxvalue=0;int w[maxn],c[maxn];void dfs(int index,int sumw,int sumc){ if(index==n){ if(sumw<=V&&原创 2020-09-27 21:01:29 · 257 阅读 · 0 评论 -
CCF窗口
问题描述在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。 现在我们希望你写一个程序模拟点击窗口的过程。输入格式输入的第一行有两个正整数,即 N 和 M。(1原创 2020-08-18 22:04:47 · 339 阅读 · 0 评论 -
案例6-1.5 旅游规划 Dijkstra
有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出发地的城市编号;...原创 2020-05-03 23:57:37 · 292 阅读 · 0 评论 -
习题8.5 畅通工程之局部最小花费问题 并查集
畅通工程之局部最小花费问题某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全地区畅通需要的最低成本。输入格式:输入的第一行给出村...原创 2020-05-02 18:26:09 · 380 阅读 · 0 评论 -
并查集
畅通工程测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个城镇的编号。为简单起见,城镇从1到N编号。注意:两个城市之间可以有多条道路相通,也就是说3 31 21 22 1这种输入也是合法的当N为0时,输入结束,该用例不被处理。Output...原创 2020-05-01 14:00:39 · 123 阅读 · 0 评论 -
最小生成树 Prim算法
题目 1705: 算法7-9:最小生成树输入输入的第一行包含一个正整数n,表示图中共有n个顶点。其中n不超过50。以后的n行中每行有n个用空格隔开的整数,对于第i行的第j个整数,如果不为0,则表示第i个顶点和第j个顶点有直接连接且代价为相应的值,0表示没有直接连接。当i和j相等的时候,保证对应的整数为0。输入保证邻接矩阵为对称矩阵,即输入的图一定是无向图,且保证图中只有一个连通分量。输出...原创 2020-04-28 16:25:17 · 586 阅读 · 0 评论 -
拓扑排序
输入的第一行包含一个正整数n,表示图中共有n个顶点。其中n不超过50。以后的n行中每行有n个用空格隔开的整数0或1,对于第i行的第j个整数,如果为1,则表示第i个顶点有指向第j个顶点的有向边,0表示没有i指向j的有向边。当i和j相等的时候,保证对应的整数为0。输出如果读入的有向图含有回路,请输出“ERROR”,不包括引号。如果读入的有向图不含有回路,请按照题目描述中的算法依次输出图的拓扑...原创 2020-04-27 21:20:48 · 215 阅读 · 0 评论 -
Floyd
蓝桥杯Floyd算法输入的第一行包含1个正整数n,表示图中共有n个顶点。其中n不超过50。以后的n行中每行有n个用空格隔开的整数。对于第i行的第j个整数,如果大于0,则表示第i个顶点有指向第j个顶点的有向边,且权值为对应的整数值;如果这个整数为0,则表示没有i指向j的有向边。当i和j相等的时候,保证对应的整数为0。输出共有n行,每行有n个整数,表示源点至每一个顶点的最短路径长度。如果不存在...原创 2020-04-27 17:33:17 · 661 阅读 · 0 评论 -
Dijkstra堆算法
#include <bits/stdc++.h>using namespace std;const int N = 1e3 + 9, INF = 0x3f3f3f3f;struct edge{int to,cost;};//边vector<edge> E[N];typedef pair<int, int> p; int n, dis[N], inq[...原创 2020-04-27 15:00:14 · 135 阅读 · 0 评论