
算法
harryculture
这个作者很懒,什么都没留下…
展开
-
非递归状压DP-不同路径
首先附题目描述(leetcode题目):附代码(这里附dev可运行代码):#include<iostream>using namespace std;int dp[20][1<<20]={0};int main(){ int c[4]={0,0,-1,1}; int d[4]={1,-1,0,0}; int tu[20][20]; int i,j,k,r...原创 2020-03-27 23:27:14 · 181 阅读 · 0 评论 -
字典树-单词的压缩编码
子节点的数据结构使用了数组的形式,也可以用链表。前者占空间更大,后者耗时更多。包含insert和find,两个基础的函数,用于在字典树中插入和寻找一个字符串。默认字符串都由26个小写字母组成(如果使用链表结构则不需要声明此点)。class Trie{ private: bool isLetter; Trie* child[26]; public: Trie(){ isL...原创 2020-03-10 23:52:40 · 350 阅读 · 1 评论 -
简单说明Kruskal的正确性
假设已经通过Kruskal得到一个树,质疑其是否为最小生成树,那么能否通过替换某条边使得边的权值和更小呢?证明转化为:“在Kruskal得到的树上添一条边e1,因为e1而形成的环中,e1是权值最大的。”考虑Kruskal的操作过程,当加入某条边e2会导致形成环C时,就舍弃e2。由于Kruskal选择边的过程中,边的权值必然是升序的,所以e2是C中所有边权值最大的。由此可以说明Kruskal的...原创 2020-03-07 20:50:27 · 595 阅读 · 0 评论