摘要: 好巧妙啊,感觉从来没有用过按位dp的trick,也没有用过树上链分块的trick 挂个链,全程看他的思路写的,当然lych帮我理解了最难懂的一部分 首先这里有个玄学的分块 每个点统计它上面256(其实差不多就是n^0.5)个点的情况 但是发现不同的块需要不同的处理,因为不同的块在第9位及以上的位会产阅读全文
posted @ 2017-08-25 21:11 汪立超 阅读(33) 评论(0) 编辑
摘要: 话说我可能还没有调出魔法森林呢。。。说好的lct第一题呢。。。 又是一个随机化的方法,毕竟又是判定性的问题 上次是判断无向图联通 这次是判断一些路径是否经过一条定边 若把路径上的边全部异或上一个路径的权值 只要判断这条边的权值是否是所有路径的权值异或和就没了 lct维护链上异或和就好了阅读全文
posted @ 2017-08-23 15:15 汪立超 阅读(33) 评论(0) 编辑
摘要: 好久没有1A题啦♪(^∇^*) 一个sb建图,我居然调样例调了10min 看起来是双向边,其实在建图的时候要当成有向图, 否则他会时间倒流(233) 把每个点裂成k个点,然后把每条边裂成4条边(正向反向&膜不膜) (话说我好像不会用openlivewriter贴代码,尴尬了)阅读全文
posted @ 2017-08-10 09:08 汪立超 阅读(16) 评论(0) 编辑
摘要: 先放原文,挖个坑,到时候再来说人话ε=(´ο`*))) 作者:Franco P. Preparata 出处:Computational geometry An introduction The technique described in the preceding section could be阅读全文
posted @ 2017-08-09 10:45 汪立超 阅读(30) 评论(0) 编辑
摘要: 感觉还蛮方便的——openlivewriter第一博!阅读全文
posted @ 2017-08-08 09:48 汪立超 阅读(27) 评论(0) 编辑
摘要: 最近沉迷码农题无法自拔 首先有一个暴力的想法:对于每个重链维护一个splay,需要翻转的连起来,翻转,接回去 然后发现这样没问题。。。 一条链只能跨log个重链,也就只有log个splay的子树参与重排,所以一次翻转只要log^2的时间 需要维护的东西有点多 头一次在splay上维护这么多乱七八糟的阅读全文
posted @ 2017-08-07 14:15 汪立超 阅读(26) 评论(0) 编辑
摘要: 比赛中我看了一眼题目就觉得是二分的套路,跟miaom说,结果发现miaom开始碎觉 miaom醒来以后表示这是道凸包合并(%%%) 我&wzf2000:那您快写啊 miaom:我不会写啊 莫名其妙的忘记了最初二分的思路 赛后看题解,果然是套路移动右端点 假设要mid能达到,那么一定有一组lr满足d(阅读全文
posted @ 2017-08-04 15:16 汪立超 阅读(28) 评论(0) 编辑
摘要: 上次被火星人prefix吊打,突然发现已经不会写splay了 于是来道模板题 区间反转? 打一些lazy标记,感觉和线段树没有差太多,而且交换左右儿子这操作真是妙 lazy标记 下传的时间要注意有些东西会变阅读全文
posted @ 2017-08-03 10:32 汪立超 阅读(21) 评论(0) 编辑
摘要: 先把问题放在后缀数组上考虑 已知两个数组a b,求min(a[i],...,a[j])+(b[i]^b[j])的最大值 套路题 初始每个点都是一个小连通块 把a按从大到小的顺序加入,计算当前加入边作为min的贡献: 每次加入会把两个连通块联通,答案就是两边连通块各出一个数能得到的异或和最大值 我:这阅读全文
posted @ 2017-08-02 11:13 汪立超 阅读(33) 评论(0) 编辑
摘要: 听说标算的点数是2^(n+1)级别的,也不知道我是不是比标算优一点? (话说这种题一眼看过去怎么跟题答一样) 然而并不是题答,没法手玩,来考虑一下一般解法: 考虑一个规模较小的问题:最后一位一定是0 不难发现变成了条件完全相同的一个子问题 再把最后一位加上 那么总共2^(n-1)个答案中的一部分会翻阅读全文
posted @ 2017-08-01 19:18 汪立超 阅读(78) 评论(0) 编辑
摘要: 我写的代码好像自古以来就是bzoj不友好型的 本地跑的比std快,但是交上去巧妙被卡 答案。。。应该是对的,拍了好久了阅读全文
posted @ 2017-08-01 10:53 汪立超 阅读(17) 评论(0) 编辑
摘要: 做题前问了一下miaom,得到了一个奇怪的回答 mmp 这题分类讨论 k=1sb题 k=2按位计算,把每个数看成几个2的幂次的和,按位跑期望 k>2线性基sb题 没了阅读全文
posted @ 2017-07-31 11:23 汪立超 阅读(14) 评论(0) 编辑
摘要: 因为他的相似是在排完序下的 那我就在排序的情况下hash啊 这怎么hash啊 主席树啊! 没了阅读全文
posted @ 2017-07-31 09:40 汪立超 阅读(12) 评论(0) 编辑
摘要: 水一水 枚举各个质数,把是这个数倍数的点留下,跑直径,没了阅读全文
posted @ 2017-07-31 09:38 汪立超 阅读(16) 评论(0) 编辑
摘要: 随机方法真的好骚啊O(∩_∩)O~ 最早的时候miaom提出一个奇怪的东西: 判断一个数列中是否有0/1/2个数出现奇数次 对每个数赋一个随机权值,异或乱搞,对于判2的情况用一个(可能类似线性基的)方法做一下 然后我就开始瞎bb:能不能在边或点上赋一些随机权,做一些图论的判定性问题 (*^▽^*)判阅读全文
posted @ 2017-07-30 20:37 汪立超 阅读(77) 评论(0) 编辑
摘要: 洛谷T了,mmp 还是bzoj时限良心,虽然三天两头爆炸 算是简单的题吧,构造出每个点logn个的线性基表 感觉线性基最nb的就是只有log个,所以可以做的很暴力 合并就是拆开再并阅读全文
posted @ 2017-07-29 18:57 汪立超 阅读(16) 评论(0) 编辑
摘要: 好烦啊,调了半天 线段树部分标记比较多,手抖打错了一个 剩下的都是取模的问题 我自己瞎jb推的公式里保留了abs,但是在模意义下是gg的,所以必须把正负区分开 调试的时候一定要注意构造各种形状的树,不要只做随机树 随机树深度只有log,很难体现一些链上的性质 我用随机树拍了一下午没出错,一掏出直链就阅读全文
posted @ 2017-07-29 08:22 汪立超 阅读(33) 评论(0) 编辑
摘要: 先不考虑层数限制 一棵树上每个点有个颜色,问一棵子树的颜色数 感觉简单多了是吧 考虑每个点的贡献:自己到根的路径上的一个包含自己的连续段 观察最顶端的点的父亲: 它满足有了额外的同色孩子(咦) 这一条链上需要+1(@miaom) 如果差分,就是在这个点+1(@miaom),在最近的有同色孩子的父亲-阅读全文
posted @ 2017-07-15 20:47 汪立超 阅读(45) 评论(0) 编辑
摘要: 复杂度辣鸡没人权 疯狂爆oj 感觉要被众多uoj用户骂了阅读全文
posted @ 2017-07-11 08:35 汪立超 阅读(24) 评论(0) 编辑
摘要: %%%lych_cys讲的线段树合并 蛮水的题,交上去一发MLE(made居然这年头还有128M的题,我瞎开了好多)一发AC阅读全文
posted @ 2017-07-10 14:13 汪立超 阅读(22) 评论(0) 编辑
摘要: 1 //一些点一些圆,过圆不能连线,相邻点不能连线,问最多连几条线 2 //计算几何模板+区间dp 3 //关键是判断圆和线段是否相交 4 #include 5 #include 6 #include 7 #define N 500 8 #define ll long long 9 #define sqr(x) ((x)*(x)) 10 using namespace...阅读全文
posted @ 2017-07-09 20:56 汪立超 阅读(10) 评论(0) 编辑
摘要: 1 //极角排序 2 #include 3 #define sqr(x) ((x)*(x)) 4 using namespace std; 5 int n,st[200001],top; 6 struct POI 7 { 8 int x,y; 9 POI() 10 { 11 x=y=0; 12 } 13 POI(int ...阅读全文
posted @ 2017-07-09 16:27 汪立超 阅读(7) 评论(0) 编辑
摘要: 比赛的时候口胡这道题口胡了一年,看完题解被教做人 题意:有n只火鸡,m个猎人按序来杀火鸡,从自己预先选的两只中杀一只,问有多少火鸡对可以同时存活 考虑对于每一只火鸡i,按时间逆序维护一个最小的集合Si,满足当前时间其中的所有火鸡都活着才能保证最后火鸡i活下 在当前操作的最前面加入新的操作x y对结果阅读全文
posted @ 2017-07-09 16:23 汪立超 阅读(50) 评论(0) 编辑
摘要: 其实很久以来我都把sam当成ac自动机了 ac自动机的建立比sam简单多了 直接暴力建字典树,然后暴力跑fail就好了 (挖个坑:去学fail树) 裸题A一道,岂不美哉阅读全文
posted @ 2017-06-04 17:01 汪立超 阅读(41) 评论(0) 编辑
摘要: 好迷啊。。。感觉动态点分治就是个玄学,蜜汁把树的深度缩到logn (静态)点分治大概是递归的时候分类讨论: 1.答案经过当前点,暴力(雾)算 2.答案不经过当前点,继续递归 由于原树可以长的奇形怪状(菊花啊、、链啊、、扫把啊、、)这就导致各种方法都会被卡 于是通过每次找重心保证最大深度 动态怎么解决阅读全文
posted @ 2017-05-21 20:04 汪立超 阅读(13) 评论(0) 编辑
摘要: 从高到低按位贪心,讨论一下初始0或1,分别暴力算出结果是什么 如果一开始0就能得1当然直接ans垒起来 如果1能得1而且当前m够用,那也垒起来,同时m减掉 否则gg 2min的代码阅读全文
posted @ 2017-05-19 18:45 汪立超 阅读(72) 评论(0) 编辑
摘要: 思路比较显然:二分答案,流流流 但是实现的时候感觉自己数学捉急。。 一开始算了个直线到点距离。。。。 应该是线段到点距离阅读全文
posted @ 2017-05-17 16:08 汪立超 阅读(52) 评论(0) 编辑
摘要: 这么一道题折磨了不知道多久。。。 本来一直在撕烤可持久化,题解也没有看懂 思路: 跑出dfs序,则每条边的作用范围都是两段连续区间,放到线段树上就是2logn个区间 全都在线段树上挂好 然后分治,每次往下跑的时候把边加上,往下跑的时候把边删掉(所以不能路径压缩) (某dalao写了按秩合并,但是没写阅读全文
posted @ 2017-05-16 15:06 汪立超 阅读(13) 评论(0) 编辑
摘要: 自己尝试敲后缀数组,发现难看(tiao)的不行,于是抄了板子 考虑建出hei以后转化出的问题: 对于一个数组中权值大于等于k的连续部分,求取两个数的方案数和两数积的最大值 (好气啊,可以有负数) 把询问倒序以后相当于连续部分之间会动态加元素,使他们连起来 维护一段极大连续段的最大值、最小值、长度,保阅读全文
posted @ 2017-05-12 12:58 汪立超 阅读(29) 评论(0) 编辑
摘要: 有10^9个点,每次给出两个点的关系:权相等或不等,问最后能不能成立 感觉一开始在撕烤一个动态的问题,,,想写一个带权的并查集 结果发现静态询问,那就sb乱搞,懒得手写离散就直接map(卧槽好多细节忘考虑)阅读全文
posted @ 2017-05-11 08:34 汪立超 阅读(96) 评论(0) 编辑
摘要: 题目: 一棵树,兹磁 1.查询根到一个点的染色点数并全染好 2.查询子树内染色点数并把颜色洗掉 树剖裸题,丝毫不虚(为什么我考试的时候碰不到这种好题呢)好像20min写完搞定阅读全文
posted @ 2017-05-11 08:29 汪立超 阅读(16) 评论(0) 编辑
摘要: 和上一题差不多,一个是μ*I=e,一个是φ*I=Id 稍改就得到了这题的代码 (我会告诉你我一开始逆元算错了吗)阅读全文
posted @ 2017-05-10 20:18 汪立超 阅读(12) 评论(0) 编辑
摘要: 虽然都写了,过也过了,还是觉得杜教筛的复杂度好玄学 设f*g=h,∑f=S, 则∑h=∑f(i)S(n/i下取整) 把i=1时单独拿出来,得到 S(n)=(∑h-∑2->n f(i)S(n/i下取整) 右边的部分可以分块解决 递归一下,≤一个阈值的暴力表出来 注意阈值以上的也要记忆化 复杂度不会算,阅读全文
posted @ 2017-05-10 16:32 汪立超 阅读(15) 评论(0) 编辑
摘要: 求次大公约数 因为所有公约数一定是最大公约数的约数 所以次大公约数一定是 最大公约数/它最小的质因数 因为有一个数是确定的,只要预处理出a1的所有质因数(小于logn个)每次暴力检查即可阅读全文
posted @ 2017-05-10 13:40 汪立超 阅读(29) 评论(0) 编辑
摘要: 好气啊,没开longlong又biubiu了 底层: 用hash或者奇奇怪怪的算法兹磁logn求最长公共前后缀 思路: 统计出从一个点开始和结束的形如AA的子串的个数 统计的时候把相邻的结果相乘加起来就好了阅读全文
posted @ 2017-05-10 13:14 汪立超 阅读(56) 评论(0) 编辑
摘要: 省选round1的时候dalao的推荐——atcoder的题目码量不大,但很巧妙,题目比较难找,挂个链冷静一下:http://s8pc-3.contest.atcoder.jp/tasks/s8pc_3_f 还行吧。。。 好久没写标记下传的线段树了(这次一写就是个双标记)居然能一遍写对核心代码(没开阅读全文
posted @ 2017-05-09 15:47 汪立超 阅读(32) 评论(0) 编辑
摘要: 大哲哥的讲课内容 根据期望的线性性,得到总期望为各个点被轰的概率(不会证,好像是这样吧) 传递闭包解决出每个点的祖先(能到达它的点)就能算概率了 bitset能贡献1/w的复杂度,而且导致Floyd只剩下两个for了(一点都不像经典Floyd)阅读全文
posted @ 2017-05-09 11:38 汪立超 阅读(15) 评论(0) 编辑
摘要: 为了便于考虑,把删除反序变为增加 于是就变成关于权值和位置和时间的三维数点 一波cdq一波树状数组教做人 (神TM需要longlong,80了一发)阅读全文
posted @ 2017-05-07 13:54 汪立超 阅读(19) 评论(0) 编辑
摘要: 如果直接在一条直线上,那么就建线段树 考虑每一个区间维护最小值和最大值和答案,就符合了合并的条件,一个log轻松做 那么在树上只要套一个树剖就搞定了,多一个log也不是问题 注意考虑在树上的话每一条链都有可能是正着被用和反着被用,所以存两个答案 所以维护信息只需要一个merge和一个reverse 阅读全文
posted @ 2017-05-07 10:53 汪立超 阅读(19) 评论(0) 编辑
摘要: 考完D2发现自己简直zz了。。。花式扔基本分 首先这道题有个显然的套路:树上一些点到一个定点的距离和=这些点深度和+点数*定点深度和-2*lca深度和 ——上一次见这个套路是LNOI2014,上次做的时候还比较naive:http://www.cnblogs.com/wanglichao/p/642阅读全文
posted @ 2017-05-06 13:18 汪立超 阅读(119) 评论(0) 编辑