随笔分类 -  算法

摘要:DFS模板 void dfs(int depth)//depth表示当前的层数(或深度) { if(depth>n)//到达叶子节点,该路已走到尽头 return; for(int i=1;i<=n;i++)//n表示最大的值,即最大深度为n { if(b[i]==0)//b数组表示探索的状态,1表 阅读全文
posted @ 2020-08-20 09:12 Drophair 阅读(556) 评论(0) 推荐(0)
摘要:感谢cyanigence-oi大佬(Orz)的题单 模板 并查集 模板题 预处理过程:void pre(),赋值数组a 假设自己就是祖先,则用for循环,来储存每个父亲节点的值 void pre() { for(int i=1;i<=n;i++) a[i]=i; } 查询过程:int find(in 阅读全文
posted @ 2020-08-02 16:35 Drophair 阅读(187) 评论(0) 推荐(0)
摘要:完全背包(循环体)模板 for(i=0;i<数量;i++) { for(j=容量;j>=体积[i];j++) { dp[j]=max(dp[j],dp[j-单件物品体积[i]]+单间物品价值[i]); } } 0-1背包 【问题描述】 有1个容量为m的背包,现有n种物品,重量分别为w1,w2…wn, 阅读全文
posted @ 2020-07-24 15:05 Drophair 阅读(201) 评论(0) 推荐(0)