摘要:
http://codeforces.com/contest/825/problem/E 一道裸的拓扑排序题。为什么需要反向拓扑排序呢?因为一条大下标指向小下标的边可能会导致小下标更晚分配到号码,导致字典序增大。而反向拓扑排序在上述情况,只会使大序号更晚分配到序号,而小序号还是较小的,根据字典序比对规 阅读全文
摘要:
http://codeforces.com/contest/831/problem/D 题目大意是在一条坐标轴上,给出n个人,k把钥匙(k>=n)以及终点的坐标,所有人都可以同时运动,但不可以公用钥匙(相当于钥匙是消耗品,可以赋予人进入终点的能力),问最少花费多少时间可以让所有人都到达终点。 分析题 阅读全文
摘要:
线段树写法不管,比较灵活。这里主要讨论DP实现。 其实单纯说RMQ解决的是区间最值查询是不准确的,只要满足一个区间的信息可以从它的覆盖区间获得(即[L,R]<=[L,r],[l,R] (l<=r) ,允许两个子区间重合)即可使用。重合不影响最值判断,所以最值查询是可以用RMQ的,其次如同区间gcd, 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1806 线段树维护区间出现频率最高的出现次数。为了维护上者,需要维护线段前后缀的出现次数,当和其他线段在端点处的字符相等时,要做合并处理。 阅读全文
摘要:
题目大意是给若干线段及其费用,每个线段权值即为其长度。要求找出两个不重合线段,令其权值和等于x且费用最少。 解法: 先分析一下题目,要处理不重合的问题,有重合的线段不能组合,其次这是一个选二问题,当枚举其中一条线段时,另一条合法线段的必要条件“权值”可以直接得出。 对于第一个问题,想到先对线段根据l 阅读全文
摘要:
最近遇到很多有限状态机的递推计数问题,构造矩阵进行快速幂是很直观的方法。总结个模板吧。 矩阵定义: 乘法: 快速幂: 阅读全文
摘要:
对单调队列的分析和说明就不赘述了,贴几个博客http://blog.csdn.net/justmeh/article/details/5844650 http://blog.csdn.net/justmeh/article/details/5844650 一般来说一个单调队列需要具备一个数组,它的头 阅读全文
摘要:
题目要求是求出a!/b!(a>=b)的结果,让其不断做除法,最多能做多少次。这个问题首先可以转化为求a!中所有质因子个数-b!中所有质因子个数。以前做过一道快速求某个阶乘对一个素数的因子个数的题(http://www.cnblogs.com/LukeStepByStep/p/5889679.html 阅读全文
摘要:
1263 拉升一下就A了 1264 这题特点是区间端点不可多次选取,然后在此情况下求前k大的区间和(根据C做一下处理就好) 妈蛋XTUOJ把咱代码吞了,反正不长,再敲一遍。 1267 题意简单来说就是一棵树根据两点之间的路径长度作为建边费用,求最大生成树。 感谢江理小伙伴提供思路,咱是死在赛场上都没 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4632 问题要求回答一串字符串中回文子序列的数量,例如acbca就有 a,c,b,c,a,cc,aa,aca,aca(注意这两个aca的c是不同位置的c,都要累计),aba,cbc,acca,acbca. 阅读全文