- 博客(5)
- 资源 (4)
- 收藏
- 关注
原创 BZOJ 3709 Bohater 【贪心】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3709题解: 对于杀完能加血的怪物,直接按照消耗从小到大排序,否则将血量从大到小排,z 需要用 long long !100000^2 会爆int!代码:这里写代码片
2017-09-25 22:12:11 255
原创 POJ 2559 Largest Rectangle in a Histogram 【栈】
题目链接:http://poj.org/problem?id=2559题意:有许多矩形,求其中连成最大矩形的面积。题解: 这题真坑。 记 l[i] r[i] 为 以 i 为高度的建筑可以向左向右延展最长到哪里。用栈维护,上一次所在的位置,如果栈顶元素所在建筑的高度 大于当前建筑高度,就延展。但这样还是会被卡T,注意到相邻建筑只有连续两个,可以把 >= 抽成 > ,然后用一个 if 单独判断 ==
2017-09-23 20:41:56 161
原创 POJ 2823 Sliding Window 【单调队列】
题目链接:http://poj.org/problem?id=2823题意:滚动一个长度为k的窗口,问每次露出来数的最值。题解: 这道题显然可以用线段树来做。 动态维护一棵线段树来求区间最值是它所擅长的。 但我们还有更好的方法,那就是单调队列。 维护一个单调队列,每次记录一下该数所对应的下标 i ,如果前面的元素下标 超过了最后元素下标 k,那么就从顶端 pop(pop_front)。这个操
2017-09-16 21:48:16 223
原创 BZOJ1455 罗马游戏 【左偏树】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1455题解: 本题显然可以用堆来实现,(维护一个大根堆),但是无法进行合并操作,于是我们想到左偏树。定义一个结点的斜深度为这个节点不断向自己的右儿子走 直到为叶子节点的长度。左偏树的“左偏”指左儿子的斜深度一定大于等于右儿子的斜深度。合并就简单了,我们可以归并的来维护一个左偏树,设需合并的两
2017-09-10 11:58:50 271 2
原创 HDU5402 Travelling Salesman Problem 【模拟】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5402题意:见 https://vjudge.net/problem/HDU-5402题解: 如果 n m 其中有一个奇数,那么一定可以到达,输出就可以了。 否则 我们不妨以(1,1) (n,m) 为黑色,将该棋盘黑白格染色,我们可以发现,必定有一个白格子没有走到,我们让最小权值白格子不走到即可 比
2017-09-06 19:05:27 256
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人