上一页 1 2 3 4 5 6 7 8 ··· 68 下一页
摘要: 思路: 求一遍凸包 用三角形面积(叉积求一下)/边长 求出来高,跟半径比一比 坑点:凸包上三点共线 阅读全文
posted @ 2018-07-28 17:03 SiriusRen 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 思路: 快速排斥实验+跨立实验 注意矩形是实心的,即在内部也算相交。 阅读全文
posted @ 2018-07-28 14:48 SiriusRen 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 思路: 开俩set 模拟一下 就好了 阅读全文
posted @ 2018-07-26 14:27 SiriusRen 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 平衡树基本操作 阅读全文
posted @ 2018-07-26 13:51 SiriusRen 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 思路: 首先我们注意到,对一个序列按分割点分开以后分别冒泡其实就相当于对整个序列进行冒泡。每一个元素都会对复杂度贡献1,除非一个元素两边的分割点都出现了。因此我们可以完全忽略快排的递归过程。只需考虑每个元素在经历几趟冒泡排序之后两边的分割点都出现了。 考虑一个分割点,不妨就是在i,i+1之间的这个分 阅读全文
posted @ 2018-07-23 12:44 SiriusRen 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题意: 维护一个序列,支持两种操作:1.区间[l,r]的权值+x2.询问区间[l,r]的函数和,即∑fib(x)这里的函数即斐波那契函数数据范围:1≤n,q≤105 思路:一般求斐波那契函数的方法可以考虑矩阵乘法,这里也是这样的。我们不用线段树维护权值,我们用线段树维护线段树维护区间矩阵和。有一个矩 阅读全文
posted @ 2018-07-18 16:57 SiriusRen 阅读(358) 评论(0) 推荐(0) 编辑
摘要: //By SiriusRen #include using namespace std; const int N=100005; int a[N],n,m,f[105][105],g[N],tmp=1; struct Node{int l,r,p,k,ans,id;}ask[N]; bool cmp(Node a,Node b){return a.l<b.l;} bool cmp2(Node ... 阅读全文
posted @ 2018-07-18 14:35 SiriusRen 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一个长度为 N 的序列两种操作1 l r 将[l,r]的数向右循环移位 2 l r 询问[l,r]内有多少个数等于 k其中 N,Q≤105,ai≤N 强制在线 思路: 1. 每块用一个链表维护一下 位移的话由于是链表,操作速度很快然后每个数都不超过 N,所以用一个数组记录一下每块每个数的 阅读全文
posted @ 2018-07-18 14:13 SiriusRen 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 思路: 先随便建出来一棵搜索树(图可能不连通?) 每一条非树边(剩下的边)和树边都可以构成一个环。 我们只看一个非树边和某些树边构成的这些环。 分成三种情况: 1.没有奇环 所有边都可以删 2.有一个奇环 奇环上的边可以删 3.有一堆奇环,一堆偶环 边化到点上 如果是奇环 非树边为(x,y) 在树上 阅读全文
posted @ 2018-07-08 22:55 SiriusRen 阅读(219) 评论(0) 推荐(1) 编辑
摘要: 思路: 巧妙的线段树 想方法将网络流往数据结构方向转化 http://www.cnblogs.com/yyf0309/p/8724558.html 阅读全文
posted @ 2018-06-16 17:46 SiriusRen 阅读(344) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 68 下一页