上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页
摘要: POJ3258 题意: 有一堆牛要过河,河的长度是 L,河中间有N个石头,牛只能踩着石头过河,问去掉M个石头后(去掉这M个石头的方式是随机的),牛能走的石头间距最小值中,最大的那一个是多少,输出距离。 开始和最后的两块石头不能搬走。 解法: 最大化石头间距的最小值 二分距离,从左到右遍历所有的石头( 阅读全文
posted @ 2020-02-19 21:37 romaLzhih 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 二分+二分图匹配+BFS 题意: 墙壁“X”,空区域(都是人)“.”, 门“D”。 人向门移动通过时视为逃脱,门每秒能出去一个人,人可以上下左右移动,墙阻止移动。 求最优移动方案下,最后一个人逃脱的最短时间。如果有人无法安全逃脱(比如被墙围困住),则输出“impossible”。 解法1: 以每个门 阅读全文
posted @ 2020-02-17 11:58 romaLzhih 阅读(154) 评论(0) 推荐(0) 编辑
摘要: DAG状压dp的一种 题目: $m$个城市,$n$张车票,第i张车票上的时间是$t_i$, 求从$a$到$b$的最短时间,如果无法到达则输出“impossible” 解法: 考虑状态:“现在在城市$v$,此时还剩下的车票的集合为$S$”这样的状态。从这个状态出发,使用一张车票移动到$i \in S$ 阅读全文
posted @ 2020-02-15 23:04 romaLzhih 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 矩阵相乘和快速幂基本模板 1 typedef vector<int> vec; 2 typedef vector<vec> mat; 3 4 //计算A*B 5 mat mul(mat &A, mat &B) { 6 mat C(A.size(), vec(B[0].size())); 7 for 阅读全文
posted @ 2020-02-15 21:46 romaLzhih 阅读(154) 评论(0) 推荐(0) 编辑
摘要: POJ3276 题意: N 头牛排成一列,每头牛或向前或向后。每次可以反转连续的 K 头牛,求出让所有的牛都能面向前方所需要的最少操作次数 M 和对应的最小的 K。 解法: 首先加入顺序的枚举每个以向后的牛开始的区间,让其反转,之后检查可行性,复杂度为 $O(n^3)$,即顺序遍历、反转、寻找第一个 阅读全文
posted @ 2019-10-03 16:48 romaLzhih 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 反复推进区间的开头与末尾,这样的方法叫做尺取法,求给定长度内的最短区间可以满足某些性质。 POJ3061 题意: 给定长度为 n 的数列整数,以及整数 S ,求出总和不小于 S 的连续子序列的长度的最小值.如果解不存在则输出 0 。 解: 不断的推进首位,每推进一次首位,就往后推近末尾直到区间序列的 阅读全文
posted @ 2019-10-03 15:42 romaLzhih 阅读(185) 评论(0) 推荐(1) 编辑
摘要: 二分答案 基本模板 在一个有序数组中二分查找一个值 k 例题分析 POJ1064 假定一个解并判断是否可行 题目:有 N 条绳子,长度分别为L。如果从他们中切割出 K 条长度相同的绳子的话,这 K 条绳子每条最长能有多长。答案保留到小数点后两位 解:C(x) = 可以得到 k 条长度为 x 的绳子 阅读全文
posted @ 2019-10-03 12:06 romaLzhih 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 板子: POJ1930 题意:给你一个无限循环小数,给到小数点后 9 位,要求这个数的分数形式。 解法: 要想解决这道题,首先应该了解如何将循环小数化为分数: 一,纯循环小数化分数:循环节的数字除以循环节的位数个 9 组成的整数。例如: $0.3333……=3/9=1/3$;$0.285714285 阅读全文
posted @ 2019-09-09 17:28 romaLzhih 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 树的直径给定一棵树,树中每条边都有一个权值,树中两点之间的距离定义为连接两点的路径边权之和。树中最远的两个节点之间的距离被称为树的直径,连接这两点的路径被称为树的最长链。后者通常也可称为直径,即直径是一个数值概念,也可代指一条路径树的直径通常有两种求法,时间复杂度均为 O(n) 。我们假设树以 N 阅读全文
posted @ 2019-09-05 15:35 romaLzhih 阅读(680) 评论(0) 推荐(2) 编辑
摘要: 题意:N 个点,R 条边,问从点 1 到点 N 的次短路为多少 解法:首先明白次短路的计算方法: 到某个定点 v 的次短路要么为到定点 u 的最短路加上边 (u,v)的长度;要么为到定点 u 的次短路加上边(u,v)长度。 对于第一种情况讨论的是在松弛时没有松弛的情况,即当 dist[u] > di 阅读全文
posted @ 2019-09-01 16:53 romaLzhih 阅读(472) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 17 下一页