12 2017 档案

摘要:首先,我们发现,因为是无向图,所以相连的点之间是有“依赖性”的,所以不能直接用dp求解。 因为是xor,所以按位处理,于是列线性方程组,设$ x[i] $为点i到n异或和为1的期望,因为从1到n和从n到1一样,所以选择倒着推,即, if(deg[e[i].va]==0) $$ x[u]=\sum_{ 阅读全文
posted @ 2017-12-30 23:06 lokiii 阅读(151) 评论(0) 推荐(0)
摘要:四舍五入就是个暴力。 对于线段树的每个区间都开一棵按权值排序的splay 对于第二个操作,二分一下,每次查询mid的排名,复杂度 $ O(nlog(n)^{3}) $ 其余的操作都是$ O(nlog(n)^{2}) $ cpp include include using namespace std; 阅读全文
posted @ 2017-12-29 08:51 lokiii 阅读(162) 评论(0) 推荐(0)
摘要:参考:https://www.cnblogs.com/zhuohan123/p/3698852.html 首先,根据点到直线距离公式 $$ d=\frac{kx_0 y_0+b}{\sqrt{k^{2}+1}} $$ 那么XPs的线性假设相斥度为 $$ \delta =\frac{(kx_i y_i 阅读全文
posted @ 2017-12-28 17:02 lokiii 阅读(376) 评论(0) 推荐(0)
摘要:参考:https://www.cnblogs.com/chenyushuo/p/5144957.html 不得不说这个建图方法真是非常妙啊 假设S点选理,T点选文,a[i][j]为(i,j)选文收益,b[i][j]为(i,j)选理收益,c[i][j]为同时选文收益,d[i][j]为同时选文收益。 那 阅读全文
posted @ 2017-12-28 08:54 lokiii 阅读(125) 评论(0) 推荐(0)
摘要:树套树: 约等于是个暴力了。以区间线段树的方式开一棵权值线段树,在权值线段树的每一个点上以动态开点的方式开一棵区间线段树。 结果非常惨烈(时限20s) cpp include include include include include using namespace std; const int 阅读全文
posted @ 2017-12-27 19:54 lokiii 阅读(163) 评论(0) 推荐(0)
摘要:~~其实我不太清楚这个应该叫CDQ分治还是整体二分~~ 参考:http://blog.csdn.net/lvzelong2014/article/details/78688727 一眼做法是线段树套可持久化trie,但是会MLE+TLE 考虑用CDQ推掉线段树 首先对于没有时间限制的商品建一棵可持久 阅读全文
posted @ 2017-12-27 15:18 lokiii 阅读(385) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2017-12-27 08:30 lokiii 阅读(11) 评论(0) 推荐(0)
摘要:和主席树差不多的东西,一般用于求异或和最大之类的。 sum记录的是当前这一位(在二进制下)的值(0或1)在这一位之前出现过多少次。c[0]表示下一位为0,c[1]表示下一位为1。 关于第i位的取法:int q=(v&(1<<i))>>i; 新加一个数的时候就去沿着二进制的高位到低位一路加下来就行了。 阅读全文
posted @ 2017-12-25 18:58 lokiii 阅读(221) 评论(0) 推荐(0)
摘要:因为在后面加数字又求后缀和太麻烦,所以xor[p...n]=xor[1...n]^xor[p-1...n]。 首先处理出来区间异或前缀和,对前缀和建trie树(在最前面放一棵0表示最开始的前缀和 然后就是可持久化trie的板子了 阅读全文
posted @ 2017-12-25 18:56 lokiii 阅读(152) 评论(0) 推荐(0)
摘要:大意:在二维平面内,给定n个点,m个操作。操作A:加入一个点;操作B:询问一个点与平面上加入的点的最近距离 不封装会T不封装会T不封装会T不封装会T不封装会T不封装会T不封装会T不封装会T不封装会T不封装会T不封装会T 把初始存在的点也看成加点操作 首先,曼哈顿距离取绝对值很烦,所以我们可以通过转坐 阅读全文
posted @ 2017-12-25 11:34 lokiii 阅读(454) 评论(0) 推荐(0)
摘要:W过大,很难在线维护,考虑离线算法 给每个操作加一个时间属性n,显然,对于n=i的询问,对它有影响的修改只在n<i中,所以可以CDQ(因为是按时间序读进来的,所以不用排序了 对于统计矩形和,可以使用二维前缀和的思想,即只需要统计四个点即可 这样就转化成了三维偏序问题,只是询问和修改要分开处理。 (初 阅读全文
posted @ 2017-12-25 10:57 lokiii 阅读(185) 评论(0) 推荐(0)
摘要:分治算法的基本思想是将一个规模为n的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同.求出子问题的解,就可得到原问题的解. --陈丹琦集训队论文 例如归并排序 复杂度分析(可是我并不会分析 oT(n) = 2 * T(n / 2) + O(kn)=O(kn*logn) oT(n) 阅读全文
posted @ 2017-12-25 10:33 lokiii 阅读(280) 评论(0) 推荐(0)
摘要:三维偏序 首先把所有花按 x一序,y二序,z三序 排序,然后去重,con记录同样的花的个数,然后进行cdq 现在假设有[l.r]区间,其中[l,mid] [mid+1,r],已经递归处理完毕。我们把区间[l,mid] [mid+1,r]按 y一序,z二序,x三序 排序,那么现在所有[l,mid]区间 阅读全文
posted @ 2017-12-25 09:52 lokiii 阅读(175) 评论(0) 推荐(0)