随笔分类 -  树状数组

该文被密码保护。
posted @ 2019-11-08 14:22 水题收割者 阅读(1) 评论(0) 推荐(0)
摘要:分析 按照被穿过多少次整体二分即可 代码 阅读全文
posted @ 2019-10-30 14:36 水题收割者 阅读(225) 评论(0) 推荐(0)
摘要:分析 对于第一问我们直接从上到下枚举所有横边 每一次交换两边的列标号即可 对于第二问我们发现答案就是最终序列的逆序对数量 代码 阅读全文
posted @ 2019-09-14 21:59 水题收割者 阅读(125) 评论(0) 推荐(0)
摘要:分析 就是分别维护l和r的个数 然后对于询问区间[L,R] 之后l树状数组中小于等于R的个数减掉r树状数组中小于L的即可 代码 阅读全文
posted @ 2019-09-14 21:46 水题收割者 阅读(109) 评论(0) 推荐(0)
摘要:分析 树状数组做区间加时要用到差分的思想 代码 阅读全文
posted @ 2019-09-06 07:19 水题收割者 阅读(182) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-09-01 09:17 水题收割者 阅读(4) 评论(0) 推荐(0)
摘要:题目大意 给你一个序列s 让你求一个1~n的序列 使得对于第i个位置它前面所有小于p[i]的数的和恰好为s[i] 分析 我们可以从后往前确定每一位 每次一二分找到恰好等于s[i]的数 但是我们发现这样会产生重复选一个点的情况 所以我们改为每次找第一个大于s[i]的点 这个点-1恰好为答案 代码 阅读全文
posted @ 2019-08-26 18:32 水题收割者 阅读(173) 评论(0) 推荐(0)
摘要:分析 对于每一个点只要维护它前面/后面的一小一大组合的数量 对于这个可以维护两个树状数组 然后从前往后/从后往前分别扫一遍相乘即可 代码 阅读全文
posted @ 2019-08-24 19:25 水题收割者 阅读(164) 评论(0) 推荐(0)
摘要:传送门 分析 我们发现对于没有发现的点相对位置不会发生改变 于是我们可以吧问题转化为求一个lis 于是我们字典序第k小的答案就是字典序第k大的lis 代码 阅读全文
posted @ 2019-02-28 22:29 水题收割者 阅读(278) 评论(0) 推荐(0)
摘要:传送门 分析 咕咕咕 坑点就是没有本质相同的字符串且x<=y 代码 阅读全文
posted @ 2019-02-23 22:04 水题收割者 阅读(217) 评论(0) 推荐(0)
摘要:传送门 分析 我们发现两个栈可以看作一个数组,而栈顶则是将这个数组拆成两个栈的分割点。 于是每次移动就变成了分割点的移动,每次移动时都统计下目的分割点和当前分割点之间的物品数目即可。 代码 阅读全文
posted @ 2019-02-09 15:01 水题收割者 阅读(203) 评论(0) 推荐(0)
摘要:传送门 分析 我们考虑把每个A[i]考虑为山峰的高度,每次的B考虑为海平面 于是我们知道对于A[i]和A[i-1],如果A[i-1]<A[i]则在A[i-1]<B<=A[i]时会使陆地总数加一 于是树状数组维护即可 代码 阅读全文
posted @ 2018-11-05 14:00 水题收割者 阅读(181) 评论(0) 推荐(0)
摘要:传送门 分析 将询问离线,枚举右端点。新加入一个右端点i时,假设离i第t近的同色位置为p,t+1近的是q,则当i是右端点时,(q,p]的点可以作为左端点。 注意对于一个点离它第t近的同色点可以用队列维护求得 之后用树状数组差分一下就可以了 代码 阅读全文
posted @ 2018-10-20 14:07 水题收割者 阅读(289) 评论(0) 推荐(0)
摘要:传送门 题目 约翰的N 头奶牛每年都会参加“哞哞大会”。哞哞大会是奶牛界的盛事。集会上的活动很 多,比如堆干草,跨栅栏,摸牛仔的屁股等等。它们参加活动时会聚在一起,第i 头奶牛的坐标为Xi,没有两头奶牛的坐标是相同的。奶牛们的叫声很大,第i 头和第j 头奶牛交流,会发出max{Vi; Vj}×|Xi 阅读全文
posted @ 2018-06-03 10:05 水题收割者 阅读(194) 评论(0) 推荐(0)
摘要:传送门 题目 输入格式: 第一行,一个数n,表示序列中有n个数。 第二行n个数,表示给定的序列。 输出格式: 给定序列中逆序对的数目。 数据范围: 对于50%的数据,n≤2500 对于100%的数据,n≤40000。 分析 使用分治的思想将序列不断分为两段,然后将这两段进行归并排序,因为每段已经排好 阅读全文
posted @ 2018-05-07 18:19 水题收割者 阅读(193) 评论(0) 推荐(0)