T1: 将序列求前缀和,题意转化为对于位置$i$和$j$,满足$i<j$,$a_i<a_j$并且$b_i<b_j$,最大化$j-i+1$的值。 典型的三维偏需,可以CDQ做。 更好的做法是按一维排序,然后用数状数组维护。 时间复杂度$O(nlogn)$。 T2: 每次可以选择一个根,将左右子树接上, ...
分类:
其他好文 时间:
2019-10-30 22:45:14
阅读次数:
80
You are given an N × N matrix. At the beginning every element is 0. Write a program supporting 2 operations: 1. Add x y value: Add value to the elemen ...
分类:
编程语言 时间:
2018-08-14 11:22:46
阅读次数:
136
题意:给n个点,求每一个点的满足 x y z 都小于等于它的其他点的个数。 析:三维的,第一维直接排序就好按下标来,第二维按值来,第三维用数状数组维即可。 代码如下: ...
分类:
其他好文 时间:
2017-10-29 18:33:44
阅读次数:
141
Misha, Grisha and Underground 题意:给一颗树,每个点权值为1,q个询问,每个询问给出a,b,c,3 个点,选择一个点为起点,一个点为终点,形成一条路径,第3个点做为第二条路径的起点,问2条路径上重复区间的点权和的最大值 思路:树链剖分或者LCA,树链剖分映射到数状数组上 ...
分类:
其他好文 时间:
2017-07-26 21:51:57
阅读次数:
163
UESTC 1583 题意:中文题 思路:预处理将要变成的序列映射成1 2 3...n,数状数组每次求每个数前比它本身大的数,因为最后要变成1 2 3 ....n的序列,所以每个数字(映射后的)应该要交换到它值的位置上(也就是1的位置是1,2的位置是2,n的位置是n),如果当前数字(映射后的)前面有 ...
分类:
其他好文 时间:
2017-07-24 20:23:55
阅读次数:
161
UESTC 1584 题意:平面坐标上有n个怪物,每个怪物有一个rank值,代表x坐标和y坐标都不大于它本身的怪物数(不包括本身) 思路:对x y坐标从小到大排序,x优先排序,用数状数组计算y坐标小于它的数量 AC代码: ...
分类:
其他好文 时间:
2017-07-22 23:55:00
阅读次数:
347
逆序对在很多地方用的到。以前都是用归并排序或线段树求,在《mato的文件管理》看到有人用树状数组求,很简单!整理如下: 思路: 首先,开一个大小为这些数的最大值的数组,作为树状数组。 然后,将各个数按顺序依次加入该数组。方法为:这个数大小对应的它在线段树中的位置,对这个位置上的数加1,并更新树状数组 ...
分类:
编程语言 时间:
2017-05-22 11:03:13
阅读次数:
267
模板题CODEVS-1082 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和。 第一行一个正整数n,接下来n行n个整数, 再接下来一个正整数Q,每行表示操作的个数, 如果第一个数是1,后接3个正整数, 表示在区间[a,b]内每个数增加X,如果是2, 表示 ...
分类:
编程语言 时间:
2017-05-20 17:18:02
阅读次数:
105
A B 略 C:二分,贪心 设d(i, v)为 剩余油量为v时,车开距离i 所需要的最小时间,使用线性规划不难算出: D: 一道堪比A、B的水题,按顺序输出剩下的可以放船的位置直到不能装下所有船为止 E:贪心,数状数组维护前缀和 分析题意我们可以发现,由于一个下级只能有一个直接上级,一个上级可以有多 ...
分类:
其他好文 时间:
2016-11-24 14:36:55
阅读次数:
213
Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 18543 Accepted Submissio ...
分类:
编程语言 时间:
2016-10-05 15:02:14
阅读次数:
222