摘要: [Violet]天使玩偶/SJY摆棋子 "题目传送门" 解题思路 用CDQ分治开了氧气跑过。 将输入给的顺序作为第一维的时间,x为第二维,y为第三维。对于距离一个询问(ax,ay),将询问分为四块,左上,右上,左下,右下,对于坐下,左下的dist即为ax+ay max(bx+by)。所以只要查询时间 阅读全文
posted @ 2019-09-18 21:19 whisperlzw 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 【模板】三维偏序(陌上花开) "题目传送门" 解题思路 用的CDQ分治。先以a为第一关键字,b为第二关键字,c为第三关键字从小到大排序。然后以b为关键字按照从小到大的顺序进行归并排序,在归并排序时,用树状数组来维护c。但是这样只能计算前面的元素对后面的元素的贡献,当存在相等的元素时就会漏算,所以在归 阅读全文
posted @ 2019-09-18 21:02 whisperlzw 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 聪聪可可 "题目传送门" 解题思路 点分治。分别统计(各个点到根的距离%3)的值为0,1,2的个数,然后统计不在同一颗子树中余数相加再%3的值为0的个数x,因为两个人可以选同一个点,所以x+n即为路径为3倍数的点对的个数。概率即为(x+n)/(n n)。 代码如下 cpp include defin 阅读全文
posted @ 2019-09-18 20:51 whisperlzw 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 【模板】点分治1 "题目传送门" 代码如下 cpp include define INF 0x3f3f3f3f using namespace std; typedef long long ll; const int N = 10005; struct T{ int r, w; T(int r, i 阅读全文
posted @ 2019-09-18 20:37 whisperlzw 阅读(121) 评论(0) 推荐(0) 编辑