题目分析: 本题我有两种思路,一种是只依靠dijkstra算法,在dijkstra部分直接判断所有的情况,以局部最优解得到全局最优解,另一种是dijkstra + dfs,先计算出最短距离以及每个点的可能前驱点,然后用dfs搜索每一条道路对最优路径进行维护,并且第二种方法记录道路的方式比较巧妙值得学习掌握(在dfs部分用一条临时路径进行维护) 对于字符串如何以整数的形式存储到二维数组中,这里用的是map的方式,当然也可以通过字符串计算出hash值去索引,毕竟是三个大写字母的字符串 本题代码: 1…
题目分析: 本题是一题比较简单的bfs搜索题,首先由于数据给的比较多不能直接开二维数组存放,而是用了vector的动态的二维数组的形式存放,对于每个出发点,我们bfs向四周搜索,标记搜索过的点,遇到搜过的点就可以停止搜索了,每次搜一个点就和全局的最远距离比较,更远则代替,相同则比较此时编号的大小,如果编号更小则也可以代替 本题代码: 1 #include<iostream> 2 #include<stdio.h> 3 #include<string.h> 4 #incl…
题目分析: 可能是我的理解能力比较差,在读题的时候一直以为所有的切片是可以排列组合的,并不是按照输入顺序就定死的,那么这题就变得十分的复杂啦~~~~~,查看的题解之后发现所有的切片并没有所谓的自由组合的情况,而是类似与一片一片从下往上叠加在一起,形成一个三维的空间,那我们需要做的就是将所有的像素以三维数组的形式存储,然后bfs所有像素为1的点,只要相连的6个方向中有1则继续bfs,每次搜索过的1像素点都清零,避免重复搜索,在bfs的过程中统计相连的1的个数,每次bfs结束时比较sum和阈值的大小…
本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至少存在一条可达路线. 输入格式: 输入在第一行给出两个正整数N(2 ≤ N ≤ 500)和M,分别为地图中所有标记地点的个数和连接地点的道路条数.随后M行,每行按如下格式给出一条道路的信息: V1 V2 one-way length time 其中V1和V2是道路的两个端点的编号(从0到N-1):如果该道路是从V1到V2的…
1053 Path of Equal Weight (30 分)   Given a non-empty tree with root R, and with weight W​i​​ assigned to each tree node T​i​​. The weight of a path from R to L is defined to be the sum of the weights of all the nodes along the path from R to any leaf…
题目分析: 本题的题意比较清晰,就是有一个起点和一个终点,给出m条路径,可能是单向的可能是双向的,同时一条路有两个权重,分别是通过这条路需要的时间和这条路的路径长度,题目需要求出两条路径,一条是在最快的基础上的最短路径,一条是在最短的路径的基础上的通过节点的数量最少的路径(题目保证这两条途径存在,且在各自的情况下唯一,但是这两条路径有可能完全相同,需要合并输出) 解法分析: 通过对题目的分析,我们知道最优的子情况就是全局的最优解,所以我们用两次dijkstra算法,一次求最短路径的情况下通过最少…
打算学完编译原理后再次实现它... 以下为比较“杂乱”的方法: 海量数据: https://pan.baidu.com/s/1Prd0ZqNLoCLLvXyJjCef3w 如果大家有发现这个程序的问题,请联系我,谢谢啦~~~ 我很疑惑,不知道错在哪里,难受... /*把黏在一起的代码以某种格式进行编排 编排方式:https://pintia.cn/problem-sets/994805046380707840/problems/994805047169236992 */ #include <st…
题意: 输入三个正整数N,M,S(N<=100,M<N,S<=2^30)分别代表数的结点个数,非叶子结点个数和需要查询的值,接下来输入N个正整数(<1000)代表每个结点的权重,接下来输入M行,每行包括一个两位数字组成的数代表非叶子结点的编号以及数字x表示它的孩子结点个数,接着输入x个数字表示孩子结点的编号.以非递增序输出从根到叶子结点的路径权重,它们的和等于S. AAAAAccepted code: #define HAVE_STRUCT_TIMESPEC #include<…
One way that the police finds the head of a gang is to check people's phone calls. If there is a phone call between A and B, we say that A and B is related. The weight of a relation is defined to be the total time length of all the phone calls made b…
The K−P factorization of a positive integer N is to write N as the sum of the P-th power of K positive integers. You are supposed to write a program to find the K−P factorization of N for any positive integers N, K and P. Input Specification: Each in…