摘要: GSS7Can you answer these queries IV题目:给出一个数列,原数列和值不超过1e18,有两种操作:0 x y:修改区间[x,y]所有数开方后向下调整至最近的整数1 x y:询问区间[x,y]的和分析: 昨天初看时没什么想法,于是留了个坑。终于在今天补上了。 既然给出了1e18这个条件,那么有什么用呢?于是想到了今年多校一题线段树区间操作时,根据一些性质能直接下沉到每个节点,这里可以吗?考虑1e18开方6次就下降到1了,因此每个节点最多被修改6次。于是我们每个节点(区间)记录一个该区间的最大值,每次修改时,先判断该区间是否最大的数已经等于1,等于的话,就不用继续.. 阅读全文
posted @ 2013-08-29 13:04 yejinru 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 树链剖分可以看成是树的边分治,什么是点分治呢?CF322E -Ciel the Commander题目:给出一棵树,对于每个节点有一个等级(A-Z,A最高),如果两个不同的节点有相同等级的父节点(节点不一定相同),则两个节点的路径上最少有一个比他们两的等级都高的节点。要求输出1~n的等级。分析:考虑一条链的情况,如果把A放中间,把数列分成两段,对于每一段,中间放B,这样分成了四段,对于每一段继续这样分,显然26个字母可以安放2^26个位置。 对于树这种结构的话,如何安放? 类似于一条链的情况,根放A,然后分成的每一条子链中间放B。。。 但是怎么知道中间的B在哪呢? 不妨考虑树的点分治,... 阅读全文
posted @ 2013-08-29 09:41 yejinru 阅读(337) 评论(0) 推荐(0) 编辑