摘要: 题目:洛谷P1038、Vijos P1105、codevs1088。 题目大意:给你一个有向图,每个非源点i的值的计算方式为$C_i=\sum\limits_{(j,i)\in E}W_{ji}C_j-U_i$,求每个汇点(没有出边的点)的值C。 解题思路:首先一遍DFS找出所有汇点,然后BFS计算 阅读全文
posted @ 2017-08-21 17:34 Mrsrz 阅读(271) 评论(0) 推荐(0)
摘要: 题目大意:给你一个实数x($0<x\leq 1$),要你求x/23的值(保留8位小数)。 解题思路:此题用double读的精度是不够的,用long double直接读入也会WA,正确做法是“scanf("%18Lf",&x);”,按此方法即可保证精度。 时间复杂度$O(1)$ ~\(≧▽≦)/~ C 阅读全文
posted @ 2017-08-21 13:23 Mrsrz 阅读(334) 评论(0) 推荐(0)
摘要: 题目:洛谷P2176。 题目大意:有n个点m条无向边,一个人要从1走到n,他会走最短路。现在可以让一条边的长度翻倍,求翻倍后这个人要多走多少距离。 解题思路:首先可以知道,翻倍肯定是在最短路上的某条边翻,否则他走的路不会变。我们先跑一遍最短路,记录下走的边,再枚举哪条边翻倍,然后跑最短路,记录下答案 阅读全文
posted @ 2017-08-21 12:31 Mrsrz 阅读(325) 评论(0) 推荐(0)
摘要: 题目大意:有n个函数,分别为F1,F2,...,Fn。定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*)。给定这些Ai、Bi和Ci,要求出所有函数的所有函数值中最小的m个(如有重复的要输出多个)。 解题思路:因为$n,m\leq 10000$,暴力枚举肯定是不可取的。我们发现,Fi(x)一定 阅读全文
posted @ 2017-08-21 09:53 Mrsrz 阅读(307) 评论(0) 推荐(0)
摘要: 题目:洛谷P2951。 题目大意:给你一张无向图,让你找从1出发到其他点的最短路径中,最长的是多少,以及这个点的最小编号,和一共有几个这样的最短路径。 解题思路:跑一遍最短路,然后处理即可。我用的是堆优化Dijkstra。 C++ Code: 阅读全文
posted @ 2017-08-21 08:59 Mrsrz 阅读(254) 评论(0) 推荐(0)