上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 65 下一页
摘要: 即滋磁单点修改,询问路径上小于某数的值有多少个。暴力树剖套个主席树(或者直接树上主席树,似乎就1个log了?感觉不一定比两个log快)即可,然而不太优美。 开始觉得可以cdq,然而就变成log^3了。冷静一下感觉简直是个弱智,修改本身就是单调的,只要对询问离线即可。树剖+BIT即可维护。 阅读全文
posted @ 2018-10-30 14:42 Gloid 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 显然答案应该是Σi-next[next[……next[i]]] (next[next[……next[i]]]>0)。递推即可。 阅读全文
posted @ 2018-10-30 13:31 Gloid 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 设f[i][j]为由根进入遍历完i子树,最后一个到达的点是j时的最小代价,g[i][j]为由子树内任意一点开始遍历完i子树,最后一个到达的点是j时的最小代价,因为是一棵完全二叉树,状态数量是nlogn的。转移考虑四种走法:根→左子树→右子树;根→右子树→左子树;左子树→根→右子树;右子树→根→左子树 阅读全文
posted @ 2018-10-30 11:24 Gloid 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 链上问题是一个经典的贪心。于是考虑破环成链,将链倍长。求出每个线段右边能作为后继的最远线段,然后倍增即可。 阅读全文
posted @ 2018-10-29 23:45 Gloid 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 即删除一条边使图中不存在奇环。如果本身就是个二分图当然任意一条边都可以,先check一下。否则肯定要删除在所有奇环的交上的边。 考虑怎么找这些边。跑一遍dfs造出dfs树,找出返祖边构成的奇环。可以通过树上差分标记奇环上的边。 但是这显然只包含了一部分奇环。注意到如果某条在奇环上的边同时也在一个偶环 阅读全文
posted @ 2018-10-29 20:34 Gloid 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 判断网格图中某两点是否被割开,可以将割边视为边区域视为点,转化为可切割这两点的区域是否连通。于是每次判断使两个区域连通后是否会形成环(边界视为连通),若是则说明被两点被割开。并查集维护。 阅读全文
posted @ 2018-10-29 17:30 Gloid 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 好友状态的变化次数不会超过m,于是考虑暴力,对每个人记录其好友关系的变化,通过前缀和计算贡献。这需要查询一段前缀时间内某人发的微博数量,可以离线建一棵绝对平衡的平衡树。事实上完全可以线性。 阅读全文
posted @ 2018-10-29 16:34 Gloid 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 当n大到一定程度(>21)时一定无解,并不会证。 如果要取出一个排列,显然应该让每一位在序列中的位置尽量靠前。于是设f[S]表示存在S子集中这些字母所组成的所有排列的最短前缀的长度,枚举当前排列最后一个字母转移即可。 阅读全文
posted @ 2018-10-29 15:56 Gloid 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 似乎是noip2017d2t3的一个部分分。用splay的话当然非常裸,但说不定会被卡常。可以发现序列中数的(环上)相对位置是不变的,考虑造一棵权值线段树维护权值区间内还有多少个数留在序列中,每次在线段树上二分即可。 阅读全文
posted @ 2018-10-29 13:53 Gloid 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 首先显然如果块大小固定,方案唯一。如果在方案中将一个点和其父亲分开,那么这个点的子树大小一定是块大小k的倍数。并且如果能找到n/k个点(当然n是k的倍数)满足这条,一定可以以此构造一个划分方案,看起来挺显然的感(xia)性(cai)证(jie)明(lun)一下。于是统计子树大小即可。 阅读全文
posted @ 2018-10-29 11:07 Gloid 阅读(130) 评论(0) 推荐(0) 编辑
上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 65 下一页