RMQ
萌之上荡漾
这个作者很懒,什么都没留下…
展开
-
hdu 5877/ 2016 ACM/ICPC Dalian Online 1010 Weak Pair
题目链接分析:树上的节点祖先与儿子的关系,一般就会想到dfs序。正解就是对树先进行dfs序排列,再将问题转化到树状数组统计个数。应该把节点按照权值从大到小排序,这样对于a[i]a[i],K/a[i]K / a[i]就是从小到大的顺序。这样更新树状数组就不会造成计算的混乱了。 多组数据没有每次先清除边我真是太智障了。代码:/**************************************原创 2016-09-10 21:03:48 · 223 阅读 · 0 评论 -
hdu 5875 ACM/ICPC Dalian Online 1008 Function
题目链接分析:用RMQ预处理每段的最小值,然后对每次查询的区间找最靠近左边的小于a[l]a[l]的值,取模后递归操作。因为每次取模至少会使原来的值减半,所以递归操作是O(log(a[i]))O(log(a[i]))的。每次查询最小值如果通过线段树O(log(N))O(log(N))那么最终的复杂度为O(Qlog(a[i])log(N))O(Qlog(a[i])log(N))这样的复杂度很不幸会TLE原创 2016-09-11 19:16:35 · 477 阅读 · 0 评论 -
csu 1809 Parenthesis
题目见此分析,把‘(’当成1, ‘)’当成-1, 计算前缀和sum。 记交换括号左边的序号为u, 右边为v,讨论左右括号: 1、s[u] == ‘(’ && s[v] == ‘)’ 那么[u, v - 1]的前缀和会全部-2 2、s[u] == ‘(’ && s[v] == ‘(’ 显然 3、s[u] == ‘)’ && s[v] == ‘(’ 那么[u, v - 1]的前缀和会全部+原创 2016-09-05 18:10:03 · 268 阅读 · 0 评论