线段树
P1atform
Keep efficient
展开
-
gdfzoj #727 文本编辑(线段树)
source:7.12模拟赛,原题链接 题目大意: 对于Insert和Delete的操作,显然直接加减即可。对于To的操作,我们容易发现,最优的策略总是光标先往上(下)走,再往左(右)走。考虑到“如果要将其向下(上)移动,而下(上)一行的字符不足a个,那么光标就会落在下(上)一行的最后一个字符后面。”我们只需要维护一个区间最小值即可。这里采用的是单点修改求区间最值的线段树。原创 2017-07-13 09:04:35 · 572 阅读 · 0 评论 -
codeforces #343d water tree(dfs+线段树)
原题链接:http://codeforces.com/contest/343/problem/D 标签:线段树,dfs 大致题意:(搬运自dm的ppt) 这道题的解法如果没看过题解,是比较难想到的。这道题的解法就是读入完所有的树边后,用dfs搜一遍,得到每个节点的的儿子所在的区间,用in和out来表示。然后这道题就可以转化为线段树的问题。 那么如何实现三种操作呢?我们可以对于每个节点维护原创 2017-04-24 20:20:17 · 512 阅读 · 0 评论 -
gdfzoj #831 A(线段树)
不友善的原题链接 题意: 不难看出,这题就是一道裸的线段树题,考虑到曼哈顿距离的性质(见下图),我们只需维护一个区间中左上,右上,左下,右下的四个点的最优值。 用上一个线段树区间修改,查询模板即可。#include<cstdio> #include<algorithm> #include<cstring> #include<ctime> #include<cmath> #define原创 2017-09-20 12:51:33 · 400 阅读 · 0 评论