Fork me on GitHub
摘要: 题意:给一些线段,然后给m个查询,每次查询都给出一些点,问有多少条线段包含这个点集中的一个或多个点解法:直接离线以点为基准和以线段为基准都不好处理,“正难则反”,我们试着求有多少线段是不包含某个查询的任意一个点的。这时候我们可以建立点集的补集,以线段的形式,如果点集的补集线段包含了某条给出的线段,那... 阅读全文
posted @ 2014-09-23 18:59 whatbeg 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 题意:给一串数字,每次查询[L,R]中两个数的gcd的最大值。解法:容易知道,要使取两个数让gcd最大,这两个数最好是倍数关系,所以处理出每个数的所有倍数,两两间根据倍数关系形成一条线段,值为该数。那么每次查询[L,R]之间两数gcd的最大值即为查询[L,R]中值最大的线段,离线所有的查询数据,然后... 阅读全文
posted @ 2014-09-23 18:48 whatbeg 阅读(264) 评论(0) 推荐(2) 编辑