
数据结构
Site1997
[呆]
展开
-
codeforces 895E
(线段树+2个lazy标记) 题意:先给定n(n<10^5)个数字ai(ai<10^9),再给出q(q<10^5)个操作,操作分两种类型,1.将这些数字里[l_1,r_1]区间中任意一个数字和[l_2,r_2]区间中任意一个数字交换。2.求[l,r]区间所有数字的和(数学期望值)思路:数组上的区间修改和查询,考虑线段树原创 2017-12-03 13:22:40 · 457 阅读 · 0 评论 -
hiho 1656
(构造+字典树) 题意:给定nn个字符串sis_i以及它们各自的权值wiw_i,然后给出mm个询问,每个询问包含两个字符串s1,s2s_1,s_2,求上述给定字符串中以s1s_1为前缀且以s2s_2为后缀的字符串中权值最大的是多少?(1≤n,M≤50000,1≤|si|,|s1|,|s2|≤10,1≤wi≤100000)(1\le n, M\le 50000,1\le |s_i|, |s_1|,原创 2017-12-13 18:23:13 · 345 阅读 · 0 评论 -
codeforces 894D
(对二叉树有感觉的话,思路还是出得蛮快的) 题意:给定一个nn节点二叉树(n<106n<10^6),每条边上有一个权值,然后给出mm(m<105m<10^5)个询问,求AiA_i节点在HiH_i距离内能到达的树上哪些节点,求到达这些节点经过的距离之和。思路:如果每次处理询问都要对树上节点遍历的话,肯定超时,于是想到预处理,由于这个树是很标准的二叉树,那么我们可以试试对于每个树节点,求出每个子节点距原创 2017-11-27 15:09:27 · 446 阅读 · 0 评论 -
hdu 4417
(离线+树状数组 | 主席树) 题意:给定n(n<10^5)个数a_i(a_i<10^9)和m(m<10^5)个询问,每次询问求[l,r]区间里小于H(H<10^9)的数字有多少个?思路1:我们将数组ai从小到大排序,并且将询问依据H从小到大进行排序。然后每次枚举到一个询问时,就往树状数组中插入所有小于当前询问原创 2017-12-15 17:23:37 · 409 阅读 · 0 评论 -
eoj 3442
(后缀数组+树状数组) 题意:给定一个由英文字母构成的字符串s(s<10^5)和q(q<10^5)个询问,每个询问包含一个区间li,ri和另一个字符串z_i(|z_i| < 10^5),求s[l_i,r_i]里出现了zi的次数?(感觉这题出得很好啊,难点在于这个区间的限定条件) 思路: 考虑原创 2017-12-16 12:44:36 · 498 阅读 · 0 评论