
题解
文章平均质量分 54
Geek_J
这个作者很懒,什么都没留下…
展开
-
P1807 最长路
P1807 最长路思路题目描述设 G 为有 n 个顶点的带权有向无环图,G 中各顶点的编号为 1 到 n,请设计算法,计算图 G 中 <1,n> 间的最长路径。有向无环图 这个条件可以告诉我们可以使用 拓扑排序(当然可以用单源最短路径相关算法)细节一个变量sum,记录遍历过的所有点的总数,总数小于n继续遍历用栈来实现递归时,注意栈内有多少个数,栈内没有数就不用继续遍历因为是求1到n的各点距离,所以先要从1点开始遍历代码#include<cstdio>#in原创 2021-04-27 16:29:08 · 531 阅读 · 0 评论 -
P1522 [USACO2.4]牛的旅行 Cow Tours
P1522 [USACO2.4]牛的旅行 Cow Tours思路牧区可以抽象成图上每一个点牧场可以看作连通块新牧场的最大直径=两点到未连通前两个牧场的最大距离(保证满足题意:一个牧场的直径就是牧场中最远的两个牧区的最短距离)+两点之间最短距离实现邻接矩阵存图floyed计算连通块内最短距离一个数组存储点到它所在的连通块的最大距离枚举任意两点,记录添加后最大距离Code#include<cstdio>#include<cstring>#include&原创 2021-04-12 11:26:33 · 214 阅读 · 0 评论 -
P1908 逆序对
P1908 逆序对题目描述猫猫 TOM 和小老鼠 JERRY 最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中 ai>aj且 i<j 的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。注意序列中可能有重复数字。思路:归并排序,每一次合并时统计有多少个逆序对(更多详细看注释,举例理解更合适#原创 2021-04-10 20:46:24 · 973 阅读 · 0 评论 -
P1629 邮递员送信
题目- 题目描述有一个邮递员要送东西,邮局在节点 1。他总共要送 n-1 样东西,其目的地分别是节点 2 到节点 n。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有 m 条道路。这个邮递员每次只能带一样东西,并且运送每件物品过后必须返回邮局。求送完这 n-1样东西并且最终回到邮局最少需要的时间。输入格式第一行包括两个整数,n 和 m,表示城市的节点数量和道路数量。第二行到第 (m+1)行,每行三个整数,u,v,w表示从u 到 v有一条通过时间为 w 的道路。输出格式输出仅一行,包含原创 2021-04-05 13:09:44 · 143 阅读 · 0 评论 -
二叉树的遍历 && [USACO3.4]美国血统 American Heritage && P1030 [NOIP2001 普及组] 求先序排列
AC code [USACO3.4]美国血统 American Heritage建树后后续遍历#include<cstdio>#include<iostream>#include<cstring>using namespace std;string ft,mt;struct node{ char l; char r; }t[300];void lt(int a,int b,int c,int d,char rt){//a----b为先序范围,c.原创 2021-02-18 20:45:00 · 324 阅读 · 0 评论 -
验证栈的序列 && 车厢调度
做题的过程中,我们可以一题多解,多题一解,来比较题的差异,从而收获很多车厢调度(train)时间限制: 1000 ms 内存限制: 65536 KB提交数: 8476 通过数: 4298【题目描述】有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合。假设从A方向驶来的火车有n节(n<=1000),分别按照顺序编号为1,2,3,…,n。假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到B处的铁轨上。另外假定车站C可以停原创 2021-02-09 16:35:22 · 237 阅读 · 0 评论 -
赦免战俘
P5741赦免战俘根据题意有四种操作而且是重复操作便可以想到递归递归语句void dfs(int a,int b,int a1,int b1,int book)//a行数开始,b行数结束,a1列数开始,b1列数结束,book操作类型 不同的四种操作 dfs(a,(a+b)/2,a1,(a1+b1)/2,1);//操作左上角 dfs(a,(a+b)/2,(a1+b1)/2+1,b1,2);//操作右上角 dfs((a+b)/2+1,b,a1,(a1+b1)/2,3);//操作左下角原创 2021-01-31 17:24:11 · 282 阅读 · 2 评论 -
奇怪的电梯
题目题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第ii层楼(1 \le i \le N)(1≤i≤N)上有一个数字K_i(0 \le K_i \le N)Ki (0≤Ki ≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3, 3 ,1 ,2 ,53,3,1,2,5代表了K_i(K_1=3,K_2=3,…)Ki (K1 =3,K2 =3,…)原创 2021-02-01 19:18:37 · 130 阅读 · 0 评论 -
淘淘摘苹果
题目这里有两点需要考虑力气够不够够不够到陶陶想知道在 s<0s<0 之前最多能摘到多少个苹果。所以得知力气优先考虑从小到大排序 然后一个一个选知道没有力气AC code#include<cstdio>#include<algorithm>#include<iostream>using namespace std;int n,s;int a,b;long long ans=0;struct node{ int xi;原创 2021-01-29 19:48:50 · 280 阅读 · 0 评论