hbu寒假程序设计训练营
凌晨四点起床刷题的SwaggyP1
这里介绍不了我。
展开
-
7-12 最长对称子串 (25 分)
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetric?输出样例:11状态转移方程:if(s[i]==s[j]) dp[i] [j]=dp[i+1][j-1] else dp[i] [j]= 0原创 2021-02-20 16:09:34 · 324 阅读 · 2 评论 -
hbu 7-8 最短路径之Dijkstra (10 分)
本题目要求通过读入无向网的边的信息(省略了各顶点的信息,仅用顶点编号来表示),构造图,并利用Dijkstra算法,求出指定源点到其它各点的最短路径。输入样例:第一行,两个整数,顶点数vN和边数eN。 以后若干行,是相关边的信息,无向图的边是对称的,只输入一半的边(小编号到大编号的,间以空格),最后两行各一个整数,前一个指定源点,后一个指定的查询的终到点。 (注意,示例中34条边,只输入了17条边的信息)10 340 1 20 3 51 2 51 3 22 4 82 5 43 5 43原创 2021-02-07 11:18:23 · 544 阅读 · 0 评论 -
hbu 7-6 单源最短路径 (10 分)
7-6 单源最短路径 (10 分)请编写程序求给定正权有向图的单源最短路径长度。图中包含n个顶点,编号为0至n-1,以顶点0作为源点。输入格式:输入第一行为两个正整数n和e,分别表示图的顶点数和边数,其中n不超过20000,e不超过1000。接下来e行表示每条边的信息,每行为3个非负整数a、b、c,其中a和b表示该边的端点编号,c表示权值。各边并非按端点编号顺序排列。输出格式:输出为一行整数,为按顶点编号顺序排列的源点0到各顶点的最短路径长度(不含源点到源点),每个整数后一个空格。如源点到某顶点无原创 2021-02-07 11:14:22 · 663 阅读 · 0 评论 -
7-9 红色警报 (25分)(并查集)
7-9 红色警报 (25分)战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以1个空格分隔。在城市原创 2021-01-26 15:12:21 · 355 阅读 · 0 评论 -
并查集 7-9 部落 (25分)
//有不对的地方请多指正并查集类型的题,基本上结构相似。这个结构是查询连通分支(人际关系类)主要由一个数组来存储每个成员其中数组的值初始是其本身在后期处理的过程中 同一个圈子里的人(路径里的通路)都指向同一个人,在检验两个人是否属于同1个圈子时 只需用find函数来对比是否相同即可验证 而被指向的这个人也指向自己本身 如果没有指向自己 就继续查找下去 直到找到最终那个人比如 判断一个人是否是一个大学的学生指向老师 老师指向院长 院长指向校长 校长指向自身这样如果我们有学生A B 一原创 2021-01-25 00:41:18 · 321 阅读 · 0 评论 -
7-8 关于堆的判断 (25分)
将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:x is the root:x是根结点;x and y are siblings:x和y是兄弟结点;x is the parent of y:x是y的父结点;x is a child of y:x是y的一个子结点。输入格式:每组测试第1行包含2个正整数N(≤ 1000)和M(≤ 20),分别是插入元素的个数、以及需要判断的命题数。下一行给出区间[−10000,10000]内的N个要被插入一个初始为原创 2021-01-18 20:11:00 · 246 阅读 · 1 评论