leetcode
自由自在梦在何方
我追求完美,不奢求完美。
展开
-
从排序算法看起
本文拟分析各排序算法的优劣性。主要分析冒泡排序,堆排序的操作与熵的变化。也许涉及机器学习在排序算法研究中的应用。也稍微聊聊人生与合理社区发展的一些想法。算了下冒泡排序的熵变化情况。效率低的原因是信息没有复用。如果改为分组归并,那么第一轮的信息都是独立的,熵减少平均是常数:ln2。对于冒泡,第一轮平均是(ln2+ln3/2+...+lnn/(n-1))/(n-1)=lnn/...原创 2019-11-06 11:32:25 · 132 阅读 · 0 评论 -
32. Longest Valid Parentheses
Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.For "(()", the longest valid parentheses substring is "()", which ha...转载 2018-03-13 15:26:49 · 101 阅读 · 0 评论 -
动态规划-简记
一个问题能不能用动态规划来求解?这是一个套路。当然也是一种思想,算是递归的思想,空间换时间的思想。有几个要点:1 问题结构的描述。问题与子问题的关系。2 子问题的规模。3 递归方程。用动态规划,一般肯定希望控制在多项式时间内处理。所以要求子问题规模要控制在多项式范围。这与定义的问题结构密切相关。子问题太多,如果超出多项式,求解自然不满足要求。子问题太少,可能导致...原创 2019-02-03 11:01:38 · 223 阅读 · 0 评论 -
棋盘多项式
https://arxiv.org/pdf/math/0407004.pdf棋盘多项式,对于给定的棋盘,可以放多个不交车的数目。性质:1 R(空)=12 R(AVB)=R(A)*R(B) 其中AVB表示A与B是不交并。行与列互不相交。3 按某个格子分割: R(A)=R(B)+x*R(C) 其中B表示移去某个格子,C表示移去某个格子所在的行与列。4 根据上述性质:可...原创 2019-03-07 17:51:54 · 3690 阅读 · 0 评论 -
贪心与拟阵
贪心问题,套路深,技巧强。不过有一类可以尝试化为拟阵来解决。拟阵matroid,广义拟阵greedoid拟阵上的贪心算法。Greedy(M,w): A={} sort M.S 单减 order by weight w for x in M.S: if A+{x} in M.T: A=A+{x} return A...原创 2019-03-15 15:21:47 · 395 阅读 · 0 评论