03 2016 档案
摘要:转载自http://www.tuicool.com/articles/bi63ei 问题:如何检测一个链表是否有环,如果有,那么如何确定环的起点. 龟兔解法的基本思想可以用我们跑步的例子来解释,如果两个人同时出发,如果赛道有环,那么快的一方总能追上慢的一方。进一步想,追上时快的一方肯定比慢的一方多跑
阅读全文
摘要:nyoj746 http://acm.nyist.net/JudgeOnline/problem.php?pid=746 一道区间dp的题目: 设:a[i][j]为那一串数字中从第i位到第j位的数是多少 f[i][j]为从第一位到第i位分成j段的最大乘积,则有: f[i][j]=max(f[u][j
阅读全文
摘要:我绞尽脑汁想一个更好的算法,然而不能如愿,只好写一个n^3的了 很简单,就是暴力搜索(还好n<100) 先排序,然后循环i=1ton,j=i+1ton 把a[i]a[j]确定为等差数列开始的两个数,确定公差,然后用search()搜这个数列的长度 取所有的最大值即可 代码如下: 不明白是什么意思,不
阅读全文
摘要:文化之旅的本质是最短路问题,只不过添加了一个文化排斥,仅需要做最短路时判断一下是否排斥即可 因为数据较小,采用了Floyd算法,以下是代码,关键部分附注释:
阅读全文
摘要:分析: 这套系统最多能拦截的导弹数 就是 导弹高度的最长不上升子序列(下降或相等) 如果要拦截所有导弹最少要配备多少套这种导弹拦截系统 就是 导弹高度的最长上升子序列 因此直接用dp求就可以了 a[i]为第i个导弹的高度 dp[i]为以i结尾的最长不上升子序列的长度 方程 dp[i] = max
阅读全文

浙公网安备 33010602011771号