02 2020 档案
摘要:“又是一个带孝子的故事”
阅读全文
摘要:“友情,爱情,亲情”
阅读全文
摘要:这种题一般是给定N个数,然后N个数之间通过某种计算得到了新的数列,求这新的数列的第K大的值 POJ3579 题意: 用N个数的序列x[i],生成一个新序列b。 新的序列定义为:对于任意的i,j且 i!=j有b[]=abs(x[i]−x[j]) 问新序列的中
阅读全文
摘要:基本问题: 有 n 个物品的重量和价值分别为 wi 和 vi, 从中选 k 个物品使得单位重量的价值最大,即: 这个式子值最大。 POJ2976 题意: n 场测试, 每场一个 ai 和 bi,要求去掉 k 门课,使得下面的式子最大: 解法: 二分答案。 定义条件 C(x)=
阅读全文
摘要:POJ3258 题意: 有一堆牛要过河,河的长度是 L,河中间有N个石头,牛只能踩着石头过河,问去掉M个石头后(去掉这M个石头的方式是随机的),牛能走的石头间距最小值中,最大的那一个是多少,输出距离。 开始和最后的两块石头不能搬走。 解法: 最大化石头间距的最小值 二分距离,从左到右遍历所有的石头(
阅读全文
摘要:二分+二分图匹配+BFS 题意: 墙壁“X”,空区域(都是人)“.”, 门“D”。 人向门移动通过时视为逃脱,门每秒能出去一个人,人可以上下左右移动,墙阻止移动。 求最优移动方案下,最后一个人逃脱的最短时间。如果有人无法安全逃脱(比如被墙围困住),则输出“impossible”。 解法1: 以每个门
阅读全文
摘要:DAG状压dp的一种 题目: m个城市,n张车票,第i张车票上的时间是ti, 求从a到b的最短时间,如果无法到达则输出“impossible” 解法: 考虑状态:“现在在城市v,此时还剩下的车票的集合为S”这样的状态。从这个状态出发,使用一张车票移动到i∈S
阅读全文
摘要:矩阵相乘和快速幂基本模板 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
阅读全文