题链: http://poj.org/problem?id=3378 题解: 树状数组维护,高精度。 依次考虑以每个位置结尾可以造成的贡献。 假设当前位置为i,为了达到5个元素的要求,我们需要求出,在序列1~i-1中有多少个合法4元组$(a<b<c<d且A_a<A_b<A_c<A_d)$的最后那个元 ...
分类:
其他好文 时间:
2018-01-27 15:32:56
阅读次数:
116
真是道挺好的题,做一道题学了挺多东西 从操作入手比较困难,所以对硬币进行讨论 考虑一个硬币$(A,B)$,假设$A\lt B$,那么我们可以把操作分成三类 第一类$T_j\lt A$,这种操作是没用的 第二类$A\leq T_j\lt B$,只要有这种操作,最后一次第二类操作后,这个硬币一定$B$面 ...
分类:
其他好文 时间:
2018-01-17 22:02:51
阅读次数:
158
一、引入和概念 平常我们会遇到一些对数组进行维护查询的操作,比较常见的,修改某点的值、求某个区间的和。 数据规模不大的时候,对于修改某点的值是非常容易的,复杂度是O(1),但是对于求一个区间的和就要扫一遍了,复杂度是O(N)。 如果实时的对数组进行M次修改或求和,最坏的情况下复杂度是O(M*N),当 ...
分类:
编程语言 时间:
2018-01-13 14:26:01
阅读次数:
241
树状数组相信大家都听说过,就是一大堆操作,lowbit然后附上一堆操作。具体就不说了 例题 例1:洛谷 模板1 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<math.h> 5 #define ll ...
分类:
编程语言 时间:
2018-01-06 14:24:48
阅读次数:
146
转自 前言 上一篇文章已经介绍了简单的CDQ分治,包括经典的二维偏序和三维偏序问题,还有带修改和查询的二维/三维偏序问题。本文讲介绍多重CDQ分治的嵌套,即多维偏序问题。 四维偏序问题 给定N(N<=20000)个有序四元组(a,b,c,d),求对于每一个四元组(a,b,c,d),有多少个四元组(a ...
分类:
其他好文 时间:
2018-01-05 20:52:27
阅读次数:
262
#include<cstdio> #include<cstring> #include<cctype> #include<algorithm> #define lowbit(x) (x&-x) using namespace std; int read(){ char c;int s=0,t=1; ...
分类:
其他好文 时间:
2017-12-23 14:26:49
阅读次数:
151
一道RMQ(Range Minimum/Maximum Query)问题,顺便复习了一遍B.I.T(Binary Index Tree)。 lowbit(x)的返回值是x转化为二进制后,最后一个1的位置代表的数值。 1 int lowbit(int x) 2 { 3 return x&(-x); 4 ...
分类:
其他好文 时间:
2017-12-09 19:43:05
阅读次数:
208
Problem Description Jimmy wants to make a special necklace for his girlfriend. He bought many beads with various sizes, and no two beads are with the ...
分类:
编程语言 时间:
2017-12-02 16:21:09
阅读次数:
216
主席树就是所谓可持久化线段树。目前只会打区间k值操作。 那么带修改的呢?因为主席树目的上也是搞前缀和,所以类比数组操作,套一个树状数组就可以了。 谨以此纪念此类型树套树入门 ...
分类:
编程语言 时间:
2017-12-02 13:08:12
阅读次数:
224
题目大意: 给你一个序列,对序列中所有逆序对之间连一条边,问图中最大独立集为多大,有哪些点一定在最大独立集中。 思路: 在纸上画一下发现最大独立集一定是元序列的一个LIS,最大独立集必经点就是所有LIS的公共部分。 考虑把所有的LIS记录下来,然后构建一个DAG,DAG的割点即为LIS的公共部分。 ...
分类:
其他好文 时间:
2017-11-01 12:12:47
阅读次数:
184