随笔分类 -  算法

摘要:判断a,b是否连通可以使用并查集 int find(int t){ if(p[t] != t) p[t] = find(p[t]); return p[t];}int a = find(eg.u),b = find(eg.v); if(a != b) {} 阅读全文
posted @ 2024-03-10 09:21 Texley 阅读(19) 评论(0) 推荐(0)
摘要:注意! 并查集只适用于无向图。 DFS 特点:当前层可以获得下层状态、向下层不断遍历 处理方式:递归 模板: // dfs注意剪枝 void dfs(int u){ if(u > n) { 输出路径 return; } for(int i = 0; i < n;i ++) // 遍历点 { if(条 阅读全文
posted @ 2023-04-02 10:57 Texley 阅读(71) 评论(0) 推荐(0)
摘要:朴素 f[i][j] = max(f[i - 1][j], f[i - 1][j - v] + w, f[i - 1][j - 2v] + 2w, ...) f[i][j - v] = max(f[i - 1][j - v], f[i - 1][j - 2v] + w, ...) => f[i][j 阅读全文
posted @ 2022-10-25 17:01 Texley 阅读(32) 评论(0) 推荐(0)