上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 41 下一页
摘要: 传送门 把线段都读进来然后排序,先按右端点为第一关键字从小到大排序,后按左端点为第二关键字从小到大排序。 注意不能先按左端点后按右端点排序,否则会出现大包小的情况,如下: —————— ——— — 然后直接线段树搞就行,先求区间最小值,如果大于零就更新统一减1。 ——代码 1 #include <c 阅读全文
posted @ 2017-05-07 20:36 zht467 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 传送门 设 f[i] 表示吃完 f[i] 及其以下的能量球后所剩下的能量。 所以 f[i] = max(f[i], f[j] + (sum[i] - sum[j]) - i * 100) ( 0 <= j < i ) 但这是 O(n2) 的,肯定超时, 把上面的式子变换以下得到 f[i] = max 阅读全文
posted @ 2017-05-07 16:30 zht467 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 传送门 1.先弄个单调队列求出每一行的区间为n的最大值最小值。 2.然后再搞个单调队列求1所求出的结果的区间为n的最大值最小值 3.最后扫一遍就行 懒得画图,自己体会吧。 ——代码 1 #include <cstdio> 2 #include <iostream> 3 4 using namespa 阅读全文
posted @ 2017-05-07 10:40 zht467 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 传送门 首先考虑暴力做法,可以先求一遍前缀和 sum,然后ans = max(ans, sum[i] - sum[k]) (i - q <= k <= i - p) 但这个肯定会超时。 仔细看这个公式,sum[i] 不变,只用求最小 sum[k] 就行,所以可以用单调队列维护这个区间的最小 sum[ 阅读全文
posted @ 2017-05-07 09:34 zht467 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 传送门 和玉蟾宫差不多 ——代码 1 #include <cstdio> 2 #include <iostream> 3 4 using namespace std; 5 6 const int MAXN = 2001; 7 int n, m, ans1, ans2, top; 8 int a[MA 阅读全文
posted @ 2017-05-06 21:32 zht467 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目 Description 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。这片土地被分成N*M个格子,每个格子里写着’R’或者’F’,R代表这块土地被赐予了rainbow,F代表这块土地被赐予了freda。现在fr 阅读全文
posted @ 2017-05-06 20:24 zht467 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 传送门 题意: 给一个N*N的矩阵,有些格子有障碍,要求我们消除这些障碍,问每次消除一行或一列的障碍,最少要几次。 解析: 把每一行与每一列当做二分图两边的点。 某格子有障碍,则对应行与列连边。 选出最少的点,使得所有边被覆盖。 最小点覆盖。 ——代码 1 #include <cstdio> 2 # 阅读全文
posted @ 2017-05-06 15:58 zht467 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 传送门 引子: 有一个问题,是对于一个图上的所有点,用不相交的路径把他们覆盖,使得每个点有且仅属于一条路径,且这个路径数量尽量小。 对于这个问题可以把直接有边相连的两点 x —> y,建一个二分图 x' —> y,最后 节点数 - 最大匹配数 即为最终答案。 这才是题解: 但是这个题目不同,此题问的 阅读全文
posted @ 2017-05-06 15:37 zht467 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 传送门 把所有非障碍的相邻格子彼此连一条边,然后求二分图最大匹配,看 tot * 2 + k 是否等于 n * m 即可。 但是连边不能重复,比如 a 格子 和 b 格子 相邻,不能 a 连 b ,b 也连 a。 所以可以人为规定,横纵坐标相加为 奇数 的格子连横纵坐标相加为 偶数 的格子。 如果一 阅读全文
posted @ 2017-05-06 11:10 zht467 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 传送门 因为到某一没有限速的路径速度会有不同的可能,所以直接用 dis[i][j] 表示到第 i 个点速度为 j 时的最短时间,然后跑spfa。 ——代码 1 #include <queue> 2 #include <cstdio> 3 #include <cstring> 4 5 using na 阅读全文
posted @ 2017-05-06 10:46 zht467 阅读(171) 评论(0) 推荐(0) 编辑
上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 41 下一页