随笔分类 -  数据结构

摘要:题目链接 GCD 先ST倍增预处理,f[i][j]表示从i开始(包含第i个数)的连续2^j个数的最大公约数。 这样就可以在O(1)内询问得到a[l]到a[r]之间的所有数的最大公约数的值。 然后对于每个数a[i],以这个数为开头的所有子序列的最大公约数的不同值不会超过30个。 而且不同的值是满足单调 阅读全文
posted @ 2017-04-16 22:01 cxhscst2 阅读(175) 评论(0) 推荐(0)
摘要:题目链接 [Scoi2010]序列操作 考验代码能力的一道好题。 思想还是很简单的(直接上线段树),但是比较难写。 阅读全文
posted @ 2017-04-11 19:27 cxhscst2 阅读(152) 评论(0) 推荐(0)
摘要:题目链接 区间交 给定n和k,求k个区间,使得这K个区间的交集的数的和最大。 阅读全文
posted @ 2017-04-08 20:12 cxhscst2 阅读(162) 评论(0) 推荐(0)
摘要:题目链接 最大距离 其实主流解法应该是单调栈……我用了树状数组。 阅读全文
posted @ 2017-04-06 20:24 cxhscst2 阅读(1648) 评论(0) 推荐(1)
摘要:题目链接 Interesting Array 区间更新。然后对于每一个约数重新求一遍区间的&值,不符合就跳出。 阅读全文
posted @ 2017-04-06 20:15 cxhscst2 阅读(245) 评论(0) 推荐(0)
摘要:题目链接 K-th Number 阅读全文
posted @ 2017-03-29 22:24 cxhscst2 阅读(185) 评论(0) 推荐(0)
摘要:不能组成三角形的极端数列:1,1,2,3,5,8,13,21,……到第50项时候肯定到1e9了…… 如果两个点之间距离大于50,则直接Yes…… 否则的话直接暴力取出所有边,然后升序排序,判断一下就可以了。 阅读全文
posted @ 2017-03-27 21:01 cxhscst2 阅读(404) 评论(0) 推荐(0)
摘要:题目链接 小Q的无敌异或 好久之前做的这道题了……参照了别人的博客……还是没有全懂。 第一个问题维护个前缀就好了,第二个问题还要用树状数组维护…… 阅读全文
posted @ 2017-03-23 22:07 cxhscst2 阅读(299) 评论(0) 推荐(0)
摘要:题目链接:逆序数 模板题。 阅读全文
posted @ 2017-03-23 21:07 cxhscst2 阅读(350) 评论(0) 推荐(0)
摘要:题目链接 Hanoi Factory 很容易想到这是一个DAG模型,那么状态转移方程就出来了。 但是排序的时候有个小细节:b相同时看a的值。 因为按照惯例,堆塔的时候肯定是内半径大的在下面。 因为N有1e5,那么DP的时候用线段树优化一下,就可以了。 阅读全文
posted @ 2017-03-08 21:02 cxhscst2 阅读(306) 评论(0) 推荐(0)
摘要:题目链接 松鼠的新家 差不多可以说是树链剖分的模板题了,直接维护即可。 阅读全文
posted @ 2017-01-26 23:51 cxhscst2 阅读(236) 评论(0) 推荐(0)
摘要:题目链接 Alyona and a tree 比较考验我思维的一道好题。 首先,做一遍DFS预处理出$t[i][j]$和$d[i][j]$。$t[i][j]$表示从第$i$个节点到离他第$2^{j}$近的祖先,$d[i][j]$表示从$i$开始到$t[i][j]$的路径上的路径权值总和。 在第一次D 阅读全文
posted @ 2016-12-15 20:26 cxhscst2 阅读(290) 评论(0) 推荐(0)