http://acm.hdu.edu.cn/showproblem.php?pid=4288
开始的时候,果断TLE,做的方法是,线段树上仅仅维护%5==3的坐标,比如1 2 3 4 5 6 7 如果删除第三个数,就将3,6的位置全+1,就是向右偏移以为,但是求和还是很慢,所以即使10秒,还是TLE。。。
正确做法:
1、节点内维护sum[0...4]分别代表区间内%5==i的和
2、结...
分类:
其他好文 时间:
2014-10-17 18:49:40
阅读次数:
188
项链时间限制:1000 ms | 内存限制:65535 KB难度:3描述在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,...
分类:
其他好文 时间:
2014-10-17 18:38:42
阅读次数:
224
题目大意:给定一个弦图,求最小染色
弦图相关问题,具体见陈丹琦09年讲稿《弦图与区间图》
PPT里有一个问题没说清楚 就是MCS算法的O(m+n)怎么来的 那个在 http://tieba.baidu.com/p/2891159900 有jcvb神犇详细的解答
至于染色如何标号,时间戳标记暴力硬扫即可
#include
#include
#include
#include
#define ...
分类:
编程语言 时间:
2014-10-17 13:46:52
阅读次数:
227
题目:hdoj 4790 Just Random
题意:给你两个闭区间【a,b】,【c,d】,分别从中等可能的跳出 x 和 y ,求(x+y)%p == m的概率
分析:
假如是【3,5】 【4,7】 p = 2 , m = 1;
则所有的和
7 8
9 10
8 9
10 11
9 10
11 12
1 2
3 3 2
1
后面一行出现次...
分类:
其他好文 时间:
2014-10-17 11:56:15
阅读次数:
172
题目链接:poj 2763 Housewife Wind
题目大意:给定一棵树,然后2种操作:
0 u:输出路径s到u的权值和,并且s变成u1 i w:节点i增加w
解题思路:树链剖分,然后用线段树维护,单点修改区间查询。
#include
#include
#include
using namespace std;
const int maxn = 100005;
...
题目链接:hysbz 2243 染色
题目大意:略。
解题思路:树链剖分+线段树的区间合并,但是区间合并比较简单,节点只要记录左右端点的颜色即可。
#include
#include
#include
using namespace std;
const int maxn = 1e5 + 5;
int N, M, ne, val[maxn], first[maxn], j...
分类:
其他好文 时间:
2014-10-17 10:16:07
阅读次数:
254
HDU 3954 Level up
题目链接
题意:k个等级,n个英雄,每个等级升级有一定经验,每次两种操作,一个区间加上val,这样区间内英雄都获得当前等级*val的经验,另一个操作询问区间经验最大值
思路:由于等级少,所以每个结点用Max[10]记录下每个等级的最大值,如果有一个升级就一直找到底,因为一个英雄升级最多10次,所以这个操作最多就10W次可以接受,剩下就是普通的区...
分类:
其他好文 时间:
2014-10-17 00:59:13
阅读次数:
163
题目 :http://acm.bnu.edu.cn/v3/problem_show.php?pid=40489最近做到的一道蛮有意思的题目(codechef现在的题目确实很赞了)题意 :中文题面 (cc的一大好处就是有中文翻译,嘿嘿)区间Max = max{a_i|gcd(a_i, g) > 1 &...
分类:
其他好文 时间:
2014-10-16 23:35:33
阅读次数:
307
考虑每次删除pos位置一个数x后,所造成的的影响就是,逆序对的个数少了在1~pos-1中大于x的数的个数加上pos+1~n中小于x的数的个数。那么我们需要的操作就只有查询区间内比某数大(小)的个数。↑,分块经典操作,每个块里维护一个有序表。由于有删除,最好每个块用一个vector。对于原数列怎么办呢...
分类:
其他好文 时间:
2014-10-16 20:36:13
阅读次数:
214
题目:
给出一个区间[L,R]求在该区间内的素数最短,最长距离。 (R
由数论知识可得一个数的因子可在开根号内得到。所以,我们可以打出5*10^4内得素数。然后,在用一次筛法把在[L,R]内得合数找到,则剩下的就是素数了。这里要用到离散化,把一个数 x - L 保存在数组里。因为,直接保存肯定不行,但是我们发现区间特点较小。所以,可以想到离散化。
#include
#i...
分类:
其他好文 时间:
2014-10-16 17:58:12
阅读次数:
223