2018年10月15日

摘要: 很有意思的一道数学推理题目, 剪枝以后解法也很简洁。初看貌似需要把每个数跟其他数作比较。但排序以后可以发现情况大大简化。 阅读全文
posted @ 2018-10-15 12:13 谢绝围观 阅读(229) 评论(0) 推荐(0) 编辑

2018年9月28日

摘要: 使用EAC配合FAAC抓取CD为WAV并压缩成AAC格式音频文件 阅读全文
posted @ 2018-09-28 18:07 谢绝围观 阅读(399) 评论(0) 推荐(0) 编辑

2018年5月27日

摘要: Binary Indexed Tree 空间复杂度O(N),查询时间复杂度O(lgN). 其中每个元素,存储的是数组中一段的和。 阅读全文
posted @ 2018-05-27 16:55 谢绝围观 阅读(280) 评论(0) 推荐(0) 编辑

2018年4月30日

摘要: POJ 1961 最小循环节的一个简化版本,按标准KMP算法求一遍失配函数即可得解。 阅读全文
posted @ 2018-04-30 09:09 谢绝围观 阅读(583) 评论(0) 推荐(0) 编辑

2018年3月22日

摘要: O(n²)自底向上的简明解法。 阅读全文
posted @ 2018-03-22 14:11 谢绝围观 阅读(348) 评论(0) 推荐(0) 编辑

2017年12月18日

摘要: 基本思路是用当前递增子序列的起始元素去匹配之前递增子序列的末尾元素,如果起始元素 A[i] > 末尾元素A[j] 则两个子序列可以组合成新的子序列。 关键点: 每种长度的子序列只需保留末尾元素最小的一个,所以只需一个数组minR即可,index是长度,value是该长度的子序列的有末尾元素。 当找到一个新的子序列后,需要从这个子序列的开头开始遍历一遍,假设当前元素下标为k:1)以k开始的子序列(也即当前子序列的右半部份)可能可以匹配到新的子序列,因为A[k] > A[k-1]; 2) 以k结束的子序列子序列(也即当前子序列的左半部份)可能可以更新已有的子序列(长度一样,末尾元素更小)。换言之,我们还需要考虑当前子序列的子序列,而不是仅仅将当前找到的子序列当作整体处理。 阅读全文
posted @ 2017-12-18 15:21 谢绝围观 阅读(255) 评论(0) 推荐(0) 编辑

2017年8月20日

摘要: Windows下安装配置MinGW GCC调试环境,适合不想安装庞大的Visual C++的朋友。 阅读全文
posted @ 2017-08-20 07:32 谢绝围观 阅读(2671) 评论(0) 推荐(0) 编辑

2017年3月19日

摘要: 题意: 在一个整型数组里,只有一个数字出现一次,其他数字都出现了3次,求这个只出现一次的数字。要点:卡诺图化简逻辑表达式。 阅读全文
posted @ 2017-03-19 22:17 谢绝围观 阅读(457) 评论(0) 推荐(0) 编辑

2017年3月4日

摘要: 这是一个动态规划问题。思路是画出各个状态之间的转化关系,分别求出个状态下的最优值(最大利润)。 阅读全文
posted @ 2017-03-04 22:03 谢绝围观 阅读(175) 评论(0) 推荐(0) 编辑

2017年2月11日

摘要: O(N)时间+O(N)空间复杂度。代码如下: 阅读全文
posted @ 2017-02-11 20:41 谢绝围观 阅读(124) 评论(0) 推荐(0) 编辑

导航