摘要: 题目链接 FWT的板子题,思想不是很好理解,但代码还是非常好写的。 阅读全文
posted @ 2019-01-18 09:55 jrltx 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意:有n架飞机,每架飞机有两个着陆时间点可以选,要求任意两架飞机的着陆时间之差不超过k,求k的最大值。 解法:由于每架飞机都有两个选择,并且必选且只能选其中一个,时间冲突也是发生在两架飞机之间的,因此二分答案,对冲突的时间建边处理,然后跑2SAT即可。 阅读全文
posted @ 2019-01-18 09:43 jrltx 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意:从有向图G中找到一个最大的点集,使得该点集中任意两个结点u,v满足u可达v或v可达u。 解法:先把同处于一个强连通分量中的结点合并(缩点),得到一张DAG图,在DAG上dp即可。 感觉自己的建图写得好丑啊,一直在纠结用数组还是结构体~~ 阅读全文
posted @ 2019-01-17 12:06 jrltx 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目链接 平衡树基础题,用于测试各种平衡树的性能(雾) treap: 1 #include<bits/stdc++.h> 2 typedef long long ll; 3 using namespace std; 4 struct Treap { 5 static const int N=1e5+ 阅读全文
posted @ 2019-01-16 19:44 jrltx 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意:你的任务是根据m条指令改变排列{!,2,3,...,n}。每条指令(a,b)表示取出第a~b个元素,翻转后添加到排列的尾部。输出最终序列。 解法:splay对区间分裂合并翻转,模板题。 初学splay,代码写得有点挫,以后慢慢改~~ 阅读全文
posted @ 2019-01-15 19:38 jrltx 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意:一共有Q(1<=Q<=50000)组操作,操作分为两种: 1.在x,y,z处添加一颗星星 2.询问以(x1,y1,z1)与(x2,y2,z2)为左上和右下顶点的矩形之间的星星数 所有坐标取值范围均为[1,1e9] 思路:由于坐标取值范围太大(即使离散化后也很大),3维的数组肯定开 阅读全文
posted @ 2019-01-14 22:45 jrltx 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意:求有向图从s点到t点的第k短路,每个点可以重复经过。 解法:建一个正向图和一个反向图,先用Dijkstra求出反向图中从t点到其他点的最短距离dis,再用A*算法求出第k短路。 A*求第k短路的方法:与Dijkstra算法类似,设结点nd(u,g)表示当前所在点为u且从s到u经过的长 阅读全文
posted @ 2019-01-12 19:47 jrltx 阅读(162) 评论(0) 推荐(0) 编辑
摘要: O(n2)方法: O(nlogn)方法(树状数组辅助): 测试代码: 输出结果: 阅读全文
posted @ 2018-12-07 18:55 jrltx 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意:有一棵树,树根为1,树上的每个结点都有一个数字x。给出Q组询问,每组询问有两个值u,x,代表询问以结点u为根的子树中的某一个数与x的最大异或值。 解法一:dfs序+可持久化字典树。看到子树询问,首先要想到dfs序啦。可以对所有结点按dfs序依次建立可持久化的字典树,字典树上的每个结点 阅读全文
posted @ 2018-11-24 13:11 jrltx 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 题目链接 A. Number Theory Problem 题意:给你一个数N,求形如2k-1且小于2N的数中有多少能被7整除。 解法:观察二进制位找规律,答案是N/3。 #include<bits/stdc++.h> using namespace std; typedef long long l 阅读全文
posted @ 2018-11-23 21:43 jrltx 阅读(1370) 评论(1) 推荐(0) 编辑