摘要:
没有正确分析路径可能的条数,它是指数增长的,会爆long long。然后就是正反两次时间分治。另一个就是max with count,即带计数的最值,即除了记录最值,还要记录最值取得的次数。 1 /**************************************************... 阅读全文
摘要:
这道题真好。。。首先,感觉像DP,但是如果按照原题意,有无数个状态,每个状态又有无数个转移。然后思考,我们每次买一部分和卖一部分的原因是什么,如果没有那个比例(就是rate=1恒成立),那么很容易贪心证明每次必须买完或卖完,但加了比例后就没那么好证明了,感觉一下吧。然后就可以写DP方程了(dp[i]... 阅读全文
摘要:
题意:给你一些三维上的点,对于每个点,统计三个坐标都小于等于该点的点数。如果点的范围在300以内,可以用三维树状数组搞,但这题坐标范围太大。考虑将所有点按照x坐标排序,从左到右,相当于在一个二维平面上插入点,并询问某个点左下方的点数,而后者可以按时间分治,在O(nloglog)复杂度内搞定。(其实可... 阅读全文
摘要:
收获: 1、min, max, sum, 属于判定,等询问是”对象对答案贡献独立“,即不需要其他对象就了能更新答案,并保证只要所有对象更新过答案,那么该答案就是正确的。大概这就是所谓的”修改独立“。 2、处理”先把所有修改给你,再询问“问题时,这道题要用到降维思想,就是处理的顺序也是一维,并且这... 阅读全文
摘要:
根据“点在圆内”关系,列出点P(x0,y0)在圆C(x,y)内的关系:(x-x0)^2+(y-y0)^2 = x0^2+y0^2然后我们就可以把一个点当成一条线,一个圆当成一个点,通过上面的表达式来转换,这样“点在圆内”的关系就转化成了“点在半平面内”的关系。这样原问题就转化成了不断的加点,然后询问... 阅读全文
摘要:
朱刘算法求无根最小树形图可以任意选一个根,求最小的权和以及当时的根。先建一个超级根,它连向所有点,边权为所有边的边权和加1(即sumw+1),然后求以它为根的最小树形图,再根据树形图权和与2*(sumw+1)的关系判断是否存在解(如果大于等于就不存在,否则存在)。至于求对应的原图中的根,我们发现自始... 阅读全文
摘要:
朱刘算法步骤: 1、计算出每个点边权最小的边的权(如果除根以外有其他的点没有入边,则不存在最小树形图),并记下边的另一个端点(称其为这个点的前趋) 2、沿着每个点向上走,如果在走到根或环上的点之前,就遇到走过的点,那么就出现环了。将环上的点标记一下当前环的编号,并将环上的所有边的边权加在答案里。... 阅读全文
摘要:
求一个字符串在旋转置换群下最小字典表示。用的是后缀数组(后缀自动机还是再听听jason_yu讲讲吧,关于right集合的部分还有问题)最小表示法的思想很有好(判断两个对象在某一置换群划分下,是否等价,可以求出两个对象在该置换群划分下的最小表示,然后比较最小表示) 1 #include 2 #inc... 阅读全文