随笔分类 - ACM——分治
摘要:"题目链接" 题意 给一棵树,每个点上有一个权值,问是否存在一条路径(不能是单个点)上的所有点相乘并对1e6+3取模等于k,输出路径的两个端点。如果存在多组答案,输出字典序小的点对。 思路 首先,(a b) % MOD = k,知道a和k,求b,可以使用 "逆元" 来求,于是可以想到用一个类似于ma
阅读全文
摘要:"题目链接" 题意 中文题意。 思路 和上一题类似,只不过cal()函数需要发生变化。 题目中要求是3的倍数,那么可以想到 和 是一样的,因此,我们只要在每次计算路径长度的时候,把 放在一个桶里面,然后就可以转化为,一个简单的计数问题了。 对于答案的贡献:就像题目中一共有n^2个点对一样,一开始包括
阅读全文
摘要:"题目链接" 题意 给一棵边带权树,问两点之间的距离小于等于K的点对有多少个。 思路 "《分治算法在树的路径问题中的应用》" "图片转载于http://www.cnblogs.com/Paul Guderian/p/6782671.html" 我对于点分治的理解:对于树上的一些问题,可以转化为答案只
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1007 题意:平面上有n个点,问最近的两个点之间的距离的一半是多少。 思路:用分治做。把整体分为左右两个部分,那么有三种情况:最近的两个点都在左边,最近的两个点都在右边和最近的两个点一个在左边一个在右边。对于第一第
阅读全文
摘要:http://www.tsinsen.com/A1333 题意:…… 思路:和之前的第k小几乎一样,只不过把一维BIT换成二维BIT而已。注意二维BIT写法QAQ
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3110 题意:…… 思路:其实和之前POJ那道题差不多,只不过是换成区间更新,而且是第k大不是第k小,第k大是降序的第k个,在二分询问的时候需要注意和第k小的不同细节。 树状数组比线段树快了几倍,所以说
阅读全文
摘要:http://poj.org/problem?id=2104 题意:给出n个数和m个询问求区间第K小。 思路:以前用主席树做过,这次学整体二分来做。整体二分在yr大佬的指点下,终于大概懂了点了。对于二分能够解决的询问,如果有多个,那么如果支持离线处理的话,那么就可以使用整体二分了。 在这题二分可行的
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5618 题意:…… 思路:和NEUOJ那题一样的。重新写了遍理解了一下,算作处理三维偏序的模板了。
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3295 题意:简单明了。 思路:终于好像有点明白CDQ分治处理三维偏序了。把删除操作看作是插入操作,那么可以按照插入的时间顺序看作是一维x,插入的数在原本序列的下标是一维y,插入的数本身是一维z。那么问
阅读全文
摘要:http://acm.neu.edu.cn/hustoj/problem.php?id=1702 思路:三维偏序模板题,用CDQ分治+树状数组或者树套树。对于三元组(x,y,z),先对x进行排序,然后对x进行CDQ分治降维,在分治的区间对y进行排序,用树状数组维护z。 还不太理解CDQ分治。等待UP
阅读全文