随笔分类 -  数据结构:树状数组

摘要:链接:https://www.luogu.org/problemnew/show/P3031 题面: 题目描述 Farmer John has lined up his N (1 <= N <= 100,000) cows in a row to measure their heights; cow 阅读全文
posted @ 2019-05-10 16:17 冥想选手 阅读(229) 评论(0) 推荐(0)
摘要:链接:https://www.luogu.org/problemnew/show/P2617 思路: 如果直接在主席树上修改的话,每次修改都会对后面所有的树造成影响,一次修改的复杂度就会变成 : n*logn,我们套上树状数组维护,每次就最多只用更新logn棵树,复杂度是:logn*logn,是可以 阅读全文
posted @ 2019-04-22 19:44 冥想选手 阅读(238) 评论(0) 推荐(0)
摘要:链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1452 思路: 对每个颜色开一个二维树状数组维护就好了 实现代码: 阅读全文
posted @ 2019-03-27 11:23 冥想选手 阅读(150) 评论(0) 推荐(0)
摘要:链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1264 思路: n大小为20000*5,而一般的dp求最长公共子序列复杂度是 n*n的,所以我们必须优化。 题目说了一个数会出现5次,那么我们可以预处理得到 第一个序列a[]每个数字分别在哪些位 阅读全文
posted @ 2019-03-20 20:25 冥想选手 阅读(191) 评论(0) 推荐(0)
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2131 思路: 题目给出了每个馅饼的下落时间t,和位置p,以及价值v,我们可以得到如下状态转移方程: dp[i] = max(dp[j]) + v[i] (|p[j] - p[i]| <= 阅读全文
posted @ 2019-03-19 20:08 冥想选手 阅读(258) 评论(0) 推荐(0)
摘要:H 华华和月月种树 链接:https://ac.nowcoder.com/acm/contest/392/H 思路:先得到整棵树最终的形态,在这棵树上进行三种操作,用dfs跑下,第二种操作就直接对最终形态树上这个点子树区间操作,第一种操作的时候是新加一个点,此时我们将那个点的权值设为0就好了,最后单 阅读全文
posted @ 2019-03-10 18:03 冥想选手 阅读(282) 评论(0) 推荐(0)
摘要:题目链接:https://nanti.jisuanke.com/t/31451 题意: 给你一颗树,树上各点有初始权值,你有两种操作: 1. 给树中深度为l的点全部+x,(根节点为1,深度为0) 2.求出以x为根的子树权值和 思路: 因为第一个操作是对一整层的树节点+x,那么我们可以很容易的标记每一 阅读全文
posted @ 2018-09-09 11:44 冥想选手 阅读(557) 评论(0) 推荐(1)
摘要:链接: http://acm.hdu.edu.cn/showproblem.php?pid=3727 题意: 对一段序列进行四种操作: Insert x :在序列尾部插入一个x; Query_1 s t k : 求区间[s,t]中第k小的数 Query_2 x: 求x在序列中的排名 Query_3 阅读全文
posted @ 2018-08-30 16:59 冥想选手 阅读(143) 评论(0) 推荐(0)
摘要:链接:http://acm.hdu.edu.cn/showproblem.php?pid=6447 思路:很容易推得dp转移公式:dp[i][j] = max(dp[i][j-1],dp[i-1][j],dp[i-1][j-1]+val[i][j]) ,但是很明显离散化后也无法储存这些点,我们可以用 阅读全文
posted @ 2018-08-29 13:05 冥想选手 阅读(197) 评论(0) 推荐(0)
摘要:链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2141 思路: 其实就是求动态逆序对。。。cdq降维,用树状数组前后求两遍逆序对就好了 切水题真爽QAQ 实现代码: 阅读全文
posted @ 2018-08-24 16:53 冥想选手 阅读(184) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5126 思路:支持离线,那么我们可以用两次CDQ分治使四维降为二维,降成二维后排个序用树状数组维护下就好了 实现代码: 阅读全文
posted @ 2018-08-20 15:12 冥想选手 阅读(452) 评论(0) 推荐(0)
摘要:题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=3289 思路: 求区间最小交换的次数将区间变成一个不降序列其实就是求区间逆序对的数量,这道题的样例解释可以不看,样例应该是 4和2换再和3换,这样就是最小的交换次数变成不降序列,从样例我们 阅读全文
posted @ 2018-08-06 12:18 冥想选手 阅读(152) 评论(0) 推荐(0)
摘要:题目链接: https://www.nowcoder.com/acm/contest/140/J 思路: 都写在代码注释里了,非常好懂。。 for_each函数可以去看一下,遍历起vector数组比较方便,用for(int i = 0;i < q[i].size();i++)的话,是会有一些弊端的, 阅读全文
posted @ 2018-07-22 15:53 冥想选手 阅读(198) 评论(0) 推荐(0)
摘要:DQUERY - D-query Given a sequence of n numbers a1, a2, ..., an and a number of d-queries. A d-query is a pair (i, j) (1 ≤ i ≤ j ≤ n). For each d-query 阅读全文
posted @ 2018-07-20 17:38 冥想选手 阅读(827) 评论(0) 推荐(0)
摘要:Crossings Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100463 Description Given a permutation P of {0, 1, ..., n − 1}, we de 阅读全文
posted @ 2018-05-01 21:13 冥想选手 阅读(202) 评论(0) 推荐(0)
摘要:Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 67681 Accepted: 25345 Description In this problem, you have to analyze a pa 阅读全文
posted @ 2018-05-01 20:23 冥想选手 阅读(283) 评论(0) 推荐(0)
摘要:Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star 阅读全文
posted @ 2017-09-12 21:06 冥想选手 阅读(124) 评论(0) 推荐(0)
摘要:Suppose that the fourth generation mobile phone base stations in the Tampere area operate as follows. The area is divided into squares. The squares fo 阅读全文
posted @ 2017-09-12 21:03 冥想选手 阅读(170) 评论(0) 推荐(0)