摘要: 就是2961的强制在线版... 那就二进制分组了..不过我没有每次重新建,而是直接把两组的凸包合并起来..这样修改部分就只有一个log了。。。不过每次询问还是要两个log的 空间有点卡。。 1 #include<cstdio> 2 #include<iostream> 3 #include<cstr 阅读全文
posted @ 2016-12-11 17:33 czllgzmzl 阅读(382) 评论(0) 推荐(0) 编辑
摘要: Description 在平面直角坐标系中,Wayne需要你完成n次操作,操作只有两种: 1.0 x y。表示在坐标系中加入一个以(x, y)为圆心且过原点的圆。 2.1 x y。表示询问点(x, y)是否在所有已加入的圆的内部(含圆周),且至少在一个圆内部(含圆周)。 为了减少你的工作量,题目保证 阅读全文
posted @ 2016-12-11 16:31 czllgzmzl 阅读(665) 评论(2) 推荐(0) 编辑
摘要: 给出一棵n个点的树(以1号点为根),定义dep[i]为点i到根路径上点的个数。众所周知,树上最近公共祖先问题可以用倍增算法解决。现在我们需要算出这个算法精确的复杂度。我们定义计算点i和点j最近公共组先的精确复杂度为bit[dep[i]-dep[lca(i,j)]]+bit[dep[j]-dep[lc 阅读全文
posted @ 2016-10-13 22:08 czllgzmzl 阅读(449) 评论(0) 推荐(0) 编辑
摘要: lyk最近在研究位运算。 它发现除了xor,or,and外还有很多运算。 它新定义了一种运算符“#”。 具体地,可以由4个参数来表示。 ai,j表示 i#j。 其中i,j与a的值均∈[0,1]。 当然问题可以扩展为>1的情况,具体地,可以将两个数分解为p位,然后对于每一位执行上述的位运算,再将这个二 阅读全文
posted @ 2016-10-13 21:14 czllgzmzl 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 初始给定一个整数n。每次可以对其做一个操作,这个操作是将n减去他其中的某一位。得到新的一个数字n’,然后继续操作,直到他变成0为止。 比如24这个例子,24 → 20 → 18 → 10 → 9 → 0 Input 单组测试数据。 第一行有一个整数n(0 ≤ n ≤ 10^12) Output 输出 阅读全文
posted @ 2016-10-13 20:02 czllgzmzl 阅读(465) 评论(0) 推荐(0) 编辑
摘要: 有这样一个小到大排列的无穷序列S:1, 2, 4, 5, 8......,其中任何一个数转为2进制不包括2个连续的1。给出一个长度为N的正整数数组A,A1, A2......An记录的是下标(下标从1开始)。求S[A1] Xor S[A2] Xor S[A3] ..... Xor S[An]的结果( 阅读全文
posted @ 2016-10-13 18:42 czllgzmzl 阅读(311) 评论(0) 推荐(0) 编辑
摘要: lyk有一棵树,它想给这棵树重标号。 重标号后,这棵树的所有叶子节点的值为它到根的路径上的编号最小的点的编号。 这棵树的烦恼值为所有叶子节点的值的乘积。 lyk想让这棵树的烦恼值最大,你只需输出最大烦恼值对1e9+7取模后的值就可以了。 注意一开始1号节点为根,重标号后这个节点仍然为根。 updat 阅读全文
posted @ 2016-10-13 18:13 czllgzmzl 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 一个初始为空的二叉搜索树T,以及1到N的一个排列P: {a1, a2, ..., aN}。我们向这个二叉搜索树T添加这些数,从a1开始, 接下来是 a2, ..., 以aN结束。在每一个添加操作后,输出T上每对节点之间的距离之和。 例如:4 7 3 1 8 2 6 5。最终的二叉树为: 4 / \ 阅读全文
posted @ 2016-10-13 14:10 czllgzmzl 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 雪之国度有N座城市,依次编号为1到N,又有M条道路连接了其中的城市,每一条道路都连接了不同的2个城市,任何两座不同的城市之间可能不止一条道路。 雪之女王赋予了每一座城市不同的能量,其中第i座城市被赋予的能量为Wi。 如果城市u和v之间有一条道路,那么只要此刻雪之女王的能量不小于|Wu-Wv|,这条道 阅读全文
posted @ 2016-10-12 17:33 czllgzmzl 阅读(932) 评论(0) 推荐(0) 编辑
摘要: 有n堆宝藏,每一堆宝藏有一个挖掘所需要的时间ti,有一个价值qi。 现在是做一个宝藏图。这个宝藏图是这样的,宝藏图的形状是一棵二叉树,二叉树刚好有k个叶子结点,从n堆宝藏中选k堆放到二叉树的叶子结点上,每个叶子结点只能放一堆宝藏,每堆宝藏只能放到一个叶子结点上。然后派k个人去找宝藏,每个人会分配到一 阅读全文
posted @ 2016-10-12 14:31 czllgzmzl 阅读(418) 评论(0) 推荐(0) 编辑