09 2018 档案
摘要:题解: 可持久化trie树神题 我们考虑把字符串插入到trie树中 对于trie 树每个节点记录[l,r]表示叶子节点在dfs序中对应的区间 然后按照dfs序建可持久化trie 然后查询即可 4212: 神牛的养成计划 Description Hzwer成功培育出神牛细胞,可最终培育出的生物体却让他
阅读全文
摘要:题解:类似与超级钢琴的做法 直接用堆维护即可 ( 3689: 异或之 Description 给定n个非负整数A[1], A[2], ……, A[n]。对于每对(i, j)满足1 <= i < j <= n,得到一个新的数A[i] xor A[j],这样共有n*(n-1)/2个新的数。求这些数(不包
阅读全文
摘要:题解:stl 找到当前值从右往左第二个比他大的值 从左往右第二个比他大的值 然后对这个区间查询可持久化trie即可 3166: [Heoi2013]Alo Description Welcome to ALO ( Arithmetic and Logistic Online)。这是一个VR MMOR
阅读全文
摘要:题解:可持久trie树 类似于可持久化线段树那样 每次更新一个值实质上只更新一条链即可 然后维护前缀异或和 问题转化为求在[l,r]区间内选一个前缀异或和异或上(x^sum[N])最大 然后01字典树贪心即可 3261: 最大异或和 Description 给定一个非负整数序列{a},初始长度为N。
阅读全文
摘要:题解:在树上转移主席树 每次连边暴力倍增维护 每个节点维护到根路径上的权值情况即可 3123: [Sdoi2013]森林 Description Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号。保证1≤testcase≤20。 第二行包含三个整数N,M,T,分别表示节
阅读全文
摘要:题解: 求一个点第K远的点对我们可以通过KDtree+堆来维护 即可 这题查询的是所有点对中的第K远 所以我们考虑边加入点 边维护堆即可 4520: [Cqoi2016]K远点对 Description 已知平面内 N 个点的坐标,求欧氏距离下的第 K 远点对。 已知平面内 N 个点的坐标,求欧氏距
阅读全文
摘要:题解: 根据题面公式将题目转化成二维平面问题 可持久话不是真的可持久化 只需要将以前修改的点一并放在二维平面中即可 然后问题转化为求二维平面斜正方形里面包含的节点数 然而斜正方形往下搜的复杂度会退化到n^2 所以我们考虑将坐标系旋转一下 然后查询正方形内的节点个数 (挂价函数写挂了 一直WA 气气~
阅读全文
摘要:题解:KDtree模板题 估价函数决策最右两边即可 1941: [Sdoi2010]Hide and Seek Description 小猪iPig在PKU刚上完了无聊的猪性代数课,天资聪慧的iPig被这门对他来说无比简单的课弄得非常寂寞,为了消除寂寞感,他决定和他的好朋友giPi(鸡皮)玩一个更加
阅读全文
摘要:题解:KDtree模板题 (犯了逻辑错误调了2个小时 4066: 简单题 Description 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: 命令 参数限制 内容 1 x y A 1<=x,y<=N,A是正整数 将格子x,y里的数字加上A 2 x1 y1
阅读全文
摘要:题解:KDtree模板题 好像优秀的inline卡过去了啊 2648: SJY摆棋子 Description 这天,SJY显得无聊。在家自己玩。在一个棋盘上,有N个黑色棋子。他每次要么放到棋盘上一个黑色棋子,要么放上一个白色棋子,如果是白色棋子,他会找出距离这个白色棋子最近的黑色棋子。此处的距离是
阅读全文
摘要:The Closest M Points Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 98304/98304 K (Java/Others)Total Submission(s): 7235 Accepted Submission(s)
阅读全文
摘要:题解: 对于表达式用前缀和优化 n^2预处理 n*m查询 2901: 矩阵求和 Description 给出两个n*n的矩阵,m次询问它们的积中给定子矩阵的数值和。 给出两个n*n的矩阵,m次询问它们的积中给定子矩阵的数值和。 Input 第一行两个正整数n,m。 接下来n行,每行n个非负整数,表示
阅读全文
摘要:题解:我们考虑到不包含重复元素 那么我们对每一个位置上的点都维护一个这个点的前驱节点 那么对于每个节点来说 都拥有两个关键字 问题转化为查询[l,r]前驱节点的值小于l的数的和 那我们可以用线段树套线段树解决此题 2883: gss2加强版 Description 给你N个数,你需要支持一下两种操作
阅读全文
摘要:题解: 二维线段树 维护2个操作 1.把矩形里的值整体变为v 2.查询矩形的最大值 直接二维线段树+永久化标记 1513: [POI2006]Tet-Tetris 3D Description Task: Tetris 3D "Tetris" 游戏的作者决定做一个新的游戏, 一个三维的版本, 在里面
阅读全文
摘要:题解: 首先建出一颗虚树 对于虚树上的每个节点DP找出离得最近的关键节点的编号和距离 然后考虑一遍dfs 对于每条链上子树 我们倍增找到mid位置 然后mid以下的属于下面节点 mid以上的属于上面的节点 维护即可 3572: [Hnoi2014]世界树 Description 世界树是一棵无比巨大
阅读全文
摘要:题解:智商题啊 最朴素的写法 就是对应区间每个元素并查集一下然后最后查询有多少集合统计答案即可 复杂度O(n*m) 显然不行 然后看了题解的启发 我们可以用倍增的思想去做 我们用logn个并查集去维护第i层的集合分布关系 然后递推到下面 且f[i,j]表示的含义为第i个元素长度为2^j这一段区间所属
阅读全文
摘要:题解: 我们考虑对第一个串建SAM 另一个串在第一个上跑 我们预处理出第一个串在parent树中以当前字符结尾产生的价值且下传到儿子节点 等于每个节点维护了 他在parent 树中到根这条链的所有子串的价值和 那么我们在来计算合并价值 第二串跑的时候 找到位置匹配的最远位置 而且我们必然可以得到他的
阅读全文
摘要:题解: 首先对于原串建SAM 我们考虑对于每次查询区间[c,d] 我们考虑二分答案 然后我们只需判定[a,b]中是否会产生这个子串即可 首先我们可以倍增在parent树上找到包含这个子串的节点 然后只需判断其子树中叶子节点是否出现在[a-mid+1,b]中 这个可以通过线段树合并来实现即可 4556
阅读全文
摘要:题解: 在trie树上构造SAM 首先对于操作1 我们可以边加入边维护答案 通过增减dis[x]-dis[fa[i]]来得到 对于操作二 直接dfs建树即可 和原本构造trie树一样 对于操作三 用LCT维护 具有'价值'节点出现的次数 这个用LCT维护子树信息可以达到 然后就解决问题了 4545:
阅读全文
摘要:题解:上树的超级钢琴 我们考虑dfs的时候直接由父亲转移而来 那么我们对于每个节点则维护是这点到根路径上的分布情况 那么转化为序列上的问题 这也就和超级钢琴本质上是一样的了 4458: GTY的OJ Description 身为IOI金牌的gtyzs有自己的一个OJ,名曰GOJ。GOJ上的题目可谓是
阅读全文
摘要:二分图判定的性质 图中是否存在奇环 若无则是二分图 否则不是 那么我们考虑维护图中哪些环边会构成奇环 我们可以LCT去做 把形成的环边选出来 然后对于奇环上的边+1 偶环上的边-1 最后边的权值等于奇环数量那么这条边可以被选定(我的LCT常数有点大啊 但是CF上好像92ms bzoj上T掉了 又不想
阅读全文
摘要:题解: 看上去好像很难的样子 计算几何??? 看了眼输出 整数?? 模拟一下??? 好像直接维护就行 我们考虑对于[-m,m]范围内的整数点 左端点+1 右端点-1(对应的r半径) 对于当前点在树状数组上二分找到当前第K大的数 然后统计贡献即可 4418: [Shoi2013]扇形面积并 Descr
阅读全文
摘要:题解: 很沙茶的平衡树模拟题 然后7e5常数大到爆炸 本想试着卡过去发现只能80分 只能线段树模拟了 考虑到当前有一个指针指向出去的牌的位置 每次放牌低的操作实质是指针往后移的操作 k=(k+t)%sum[1] 即可 80分做法 100分做法 4415: [Shoi2013]发牌 Descripti
阅读全文
摘要:题解: 题意容易理解错 实质上这个题就是2种操作 1.单点修改 2.问是否每次操作能否选取c个大于等于1的 然后能否进行s次 首先很显然的 如果大于等于s的数量大于等于c 那么必然可行 如果小于等于c 那我们考虑剩下的总和是否大于等于(c-k)*s 如果大于则可行 否则则不可行 4378: [POI
阅读全文
摘要:题解: 很显然这个题 等差数列没有办法维护 那么我们考虑一段区间为等差数列 那么应该满足 1.最大值和最小值的差等于(r-l)*k 2.任意相邻差值的绝对值的gcd与k的gcd等于k 3.特判k==0的情况 3.用set去重 4373: 算术天才⑨与等差数列 Description 算术天才⑨非常喜
阅读全文
摘要:题解: 直接做肯定是不行的啦 我们考虑到这个性质 如果我们维护了mx为当前能表示连续的最大值 那么当我们插入的数x小于等于mx+1时都会接下来产生更长的连续区间 为什么大于mx+1不可以(因为你会中间漏掉几个数以至于无法表示) 因此转化模型为 求[l,r]区间在[lastmx+2,mx+1]范围权值
阅读全文
摘要:好像这几天的SAM的博客都忘记更了 咕咕咕(有时间补上 言归正传 这个题主要的性质是 相对增长趋势不会发生变化 那我们根据操作的性质 可以得出 每个时刻都满足初始状态下增长趋势的相对大小关系 就是说初始值大的在接下来的时刻也一定会大因此我们可以按照这个方式去建线段树 然后维护每次查询后每个位置初始值
阅读全文

浙公网安备 33010602011771号