本题就是一题LIS(最长递增子序列)的问题。本题要求求最长递增子序列和最长递减子序列。 dp的解法是O(n*n),这个应该大家都知道。只是本题应该超时了。 由于有O(nlgn)的解法。 可是因为本题的数据特殊性。故此本题能够利用这个特殊性加速到O(n)的解法。当中的底层思想是counting sor ...
分类:
编程语言 时间:
2017-08-13 09:54:56
阅读次数:
217
解题关键: n的环排列的个数与n-1个元素的排列的个数相等。 首先可以肯定,无论从最左边还是从最右边看,最高的那个楼一定是可以看到的,从这里入手。 假设最高的楼的位置固定,最高楼的编号为n,那么我们为了满足条件,可以在楼n的左边分x-1组,右边分y-1组,且用每组最高的那个元素代表这一组,那么楼n的 ...
分类:
其他好文 时间:
2017-08-12 12:38:16
阅读次数:
93
2017-08-10 21:10:08 writer:pprp 标解: 标解中组合数是用杨辉三角求解的 杨辉三角dp法 dp[i][j]=dp[i-1][j-1]+dp[i-1][j] O(n^2)~O(1) ...
分类:
其他好文 时间:
2017-08-10 22:30:24
阅读次数:
156
Counting Offspring Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3054 Accepted Submission(s): ...
分类:
编程语言 时间:
2017-08-10 22:29:32
阅读次数:
231
目前看来,简单深搜题大致分为三类题型: 1是连通块问题,求连通块大小和数量。 2是迷宫问题,问地图内放几个坐标,有几个放法。 3是输出路径问题。 1.这个问题的经典例题是计算水塘(pku-2386 lake counting) 例题: Due to recent rains, water has p ...
分类:
其他好文 时间:
2017-08-10 19:46:19
阅读次数:
174
Counting Divisors Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 3041 Accepted Submission(s): ...
分类:
其他好文 时间:
2017-08-09 13:44:44
阅读次数:
167
题意: 给出油田的数量,八连通的“@”认为是一个油田。和POJ 2386 Lake Counting这个题几乎一样。 直接上代码: ...
分类:
其他好文 时间:
2017-08-08 12:40:25
阅读次数:
106
一、基本垃圾回收算法 1. 按基本回收策略分 1) 引用计数(Reference Counting) 对象增加一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 2)标记-清除(Mark-Sweep) 执行分两阶段。第一 ...
分类:
编程语言 时间:
2017-08-07 22:28:06
阅读次数:
312
Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾。在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的循环引用的问题。通过“分代回收”(generation collection)以空间换取时间来进一步 ...
分类:
编程语言 时间:
2017-08-07 18:30:55
阅读次数:
167
思路:对于n^k其实就是每个因子的个数乘了一个K。然后现在就变成了求每个数的每个质因子有多少个,但是比赛的时候只想到sqrt(n)的分解方法,总复杂度爆炸,就一直没过去,然后赛后看官方题解感觉好妙啊!通过类似素数筛法的方式,把L - R的质因子给分解,就可以在O(nlogn)的时间之内把所以的数给筛 ...
分类:
其他好文 时间:
2017-08-05 21:09:02
阅读次数:
104