数据结构
hongism
这个作者很懒,什么都没留下…
展开
-
2019(dp/点分治)
2019 题意: 输入n(2e4)n(2e4)n(2e4) 接下来n−1n-1n−1行,每行u,v,w(<2019)u,v,w(<2019)u,v,w(<2019)表示树边 求点对个数,满足两点路径距离是2019的倍数。 多组数据∑n≤1e5\sum n\leq1e5∑n≤1e5 题解1(dp): dp[u][j]dp[u][j]dp[u][j]表示其中一点为uuu,另一点为子树...原创 2019-10-25 22:01:05 · 988 阅读 · 0 评论 -
单调栈板子
POJ2559 题意:有1e5个底为1高度为hi的柱体水平连续摆成一排,求能形成最大矩形的面积。 题解:单调栈,求比一个数大的左边界右边界用单调增栈(顺序可确定左边界,逆序确定右边界),同理要求比一个数小的左边界右边界用单调减栈。此题很明显用单调增栈。 #include<bits/stdc++.h> #define ll long long using namespace st...原创 2019-09-08 00:57:19 · 175 阅读 · 0 评论 -
Neat Tree(单调栈)
Neat Tree 题意: 给定一个长度为1e6的序列hi(1e6),求所有连续区间的最大值减最小值的和。 题解: 用单调栈来解,从贡献的角度来考虑. hi当最小值时有多少个区间?显然用单调增栈来维护,求出最左比它大或等于的下标...原创 2019-09-13 16:31:13 · 250 阅读 · 0 评论 -
LOJ3083. 「GXOI / GZOI2019」与或和(单调栈+位贡献)
#3083. 「GXOI / GZOI2019」与或和 题意: 给定nxn的矩阵aij,n(1e3),aij(2^31-1) 1、求所有子矩阵中元素&之和 2、求所有子矩阵中元素|之和 题解: 先考虑&之和,把数转化为二进制,对...原创 2019-09-13 17:26:57 · 108 阅读 · 0 评论 -
Educational Codeforces Round 71 F - Remainder Problem (分块)
F - Remainder Problem 题意: 初始数组ai=0(数组大小5e5),有q(5e5)个操作, 1,x,y: a[x]+=y; 2,x,y: 求和a[i][i%x==y]; 题解: sqrt(5e5)大约是710,查询时,当x小于...原创 2019-09-17 15:06:41 · 124 阅读 · 0 评论 -
AtCoder Beginner Contest 141F - Xor Sum 3(线性基)
F - Xor Sum 3 题意: 有n(1e5)个ai(0<=ai<2^60),把它分成两部分,使两部分异或和相加最大。 题解: 这题很容易想到线性基,我就想到了,但是我WA了好多次,做不对。 首先我们求出所有...原创 2019-09-18 20:50:30 · 313 阅读 · 0 评论 -
2018-2019, ICPC, Asia Yokohama Regional Contest 2018 G What Goes Up Must Come Down(贡献思维+BIT)
G What Goes Up Must Come Down 题意: 输入第一行n(1e5)n(1e5)n(1e5),表示有nnn个数。 输入第二行a1,a2,…,an(1e5)a_1,a_2,\dots,a_n(1e5)a1,a2,…,an(1e5)。 一次操作为交换相邻的两个数,问经过最少几次操作可以把序列变成前面不递减后面不递增。 题解: 对于数交换,肯定先把比较小的数先交换到两端。 现...原创 2019-09-22 17:12:10 · 587 阅读 · 0 评论