这道题是rmq,再加上一个解决溢出。刚开始我也想过用rmq,虽然不知道它叫什么,但是我知道应该这样做。可是后来没想到这道题的特殊性,也就是解决溢出的方法,就放弃了。rmq可以用线段树,也可以用dp。 这道题都可以过的,而且线段树要快一些。#include #include #include #inc...
分类:
其他好文 时间:
2014-07-19 15:16:36
阅读次数:
251
C. RMQ with ShiftsTime Limit:1000msCase Time Limit:1000msMemory Limit:131072KB64-bit integer IO format:%lld Java class name:MainIn the traditional RMQ...
分类:
其他好文 时间:
2014-07-16 19:25:07
阅读次数:
242
题目来源:POJ 2763 Housewife Wind
题意:给你一棵树 2种操作0 x 求当前点到x的最短路 然后当前的位置为x; 1 i x 将第i条边的权值置为x
思路:树上两点u, v距离为d[u]+d[v]-2*d[LCA(u,v)] 现在d数组是变化的 对应每一条边的变化 他修改的是一个区间 用时间戳处理每个点管辖的区域 然后用线段树修改 线段树的叶子节点村的是根到每一个点的距离...
题意:给定你二维范围,找这个范围里面的最大值解题思路:二维线段树有两种实现方式,一种是 树套树 ,另一种则是将二维平面分成4块的 完全四叉树我的代码:// File Name: 1823.cpp// Author: darkdream// Created Time: 2014年07月10日 星期四 ...
分类:
其他好文 时间:
2014-07-16 00:07:29
阅读次数:
418
uva12299:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3720题意:给你n个数,然后有两个操做,shift从左到右一次交换,即a1和a2交换,完了...
分类:
其他好文 时间:
2014-07-13 21:32:18
阅读次数:
261
本题是单调队列题解的入门,当然也可以使用RMQ 和 线段树,不过速度都没有单调队列那么快。
单调队列难点:
1 如何入列,保存数据 -- 最小单调队列的时候, 所有数都入列一次,在新的数据准备入列的时候,增加判断,如果当前数值小于队尾数值,那么队尾数值就出列。空队列的时候直接入列。
2 保存的数列是什么样的?
举例吧: 1 3 -1 -3 5 3 6 7
构建最小单调队列
第一个数值1...
题目大意:
求出字典序最小,重复次数最多,的子串。
思路分析:
RMQ + height 数组可以求出任意两个后缀的lcp
我们枚举答案字符串的重复的长度。
如果这个字符串的长度为 l ,而且这个字符串出现过两次或两次以上
那么你会发现在原串中 str[0] str[l] str[2*l] ....肯定有相邻的两个被包含在重复的串中。
我们求出这两个相邻的后缀的lcp
我...
分类:
其他好文 时间:
2014-07-05 23:47:48
阅读次数:
178
Bob’s Race
Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2115 Accepted Submission(s): 658
Problem Description
Bob wants to hol...
分类:
其他好文 时间:
2014-06-30 07:37:16
阅读次数:
284
使用线段树预处理,可以使得查询RMQ时间效率在O(lgn)。
线段树是记录某范围内的最小值。
标准的线段树应用。
Geeks上只有两道线段树的题目了,而且没有讲到pushUp和pushDown操作,只是线段树的入门了。
参考:http://www.geeksforgeeks.org/segment-tree-set-1-range-minimum-query/
我修改了一下他的程序,使用...
分类:
其他好文 时间:
2014-06-22 18:08:05
阅读次数:
217