摘要:
P1967 [NOIP2013 提高组] 货车运输 因为可能成环,这样可能导致到达点的最小权值不一,所以用最小生成树的方法重新建图 然后我是利用倍增的思想建立从i点开始,到上面点的距离ff和最小权值ww 因为最小权值不好直接建立,所以不如最后统一建立 最后就是寻找最近公共祖先的模板了 一组hack: 阅读全文
posted @ 2023-09-24 21:12
不o凡
阅读(21)
评论(0)
推荐(0)
摘要:
P3379 【模板】最近公共祖先(LCA) 利用并查集 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 5e5 + 10; vector<int> g[N]; vector<pair<int,int>> query[ 阅读全文
posted @ 2023-09-24 19:28
不o凡
阅读(25)
评论(0)
推荐(0)
摘要:
P3379 【模板】最近公共祖先(LCA) 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 5e5 + 10; vector<int> g[N]; int dep[N], fa[N][22]; void dfs(in 阅读全文
posted @ 2023-09-24 18:51
不o凡
阅读(15)
评论(0)
推荐(0)
摘要:
P4824 [USACO15FEB] Censoring S KMP+栈 同样的套路,先找B的最长前后缀,然后与A匹配 不同的是要删除A中的B,特殊的是删除之后可能会产生新的B 那我们可以利用栈的思想,利用f数组,记录A每一位置上B的匹配程度,这样删除时,直接回到上一个匹配程度,以防漏掉。 利用栈记 阅读全文
posted @ 2023-09-24 18:25
不o凡
阅读(37)
评论(0)
推荐(0)
摘要:
Compress Words 本人蒟蒻,请看更详细的题解 CF1200E Compress Words 题解 重点是利用KMP计算最长前后缀,注意几个点:长度、越界。 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 阅读全文
posted @ 2023-09-24 17:06
不o凡
阅读(24)
评论(0)
推荐(0)
摘要:
P3375 【模板】KMP 字符串匹配 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 1e6 + 10; string s1, s2; int ne[N]; void get_ne() { ne[1] = 0; i 阅读全文
posted @ 2023-09-24 15:39
不o凡
阅读(20)
评论(0)
推荐(0)
摘要:
E - Complete Binary Tree 完全二叉树 三个值N,X,K,分别表示点的个数,点的编号,求到X点的距离为K点的个数。 首先,我们对以X为根的子树进行分析,可以知道到X点距离为K的点的个数为2^k。这里需要特判,深度为K时最左边的编号不能大于N,点的个数就等于min(r,n)-l+ 阅读全文
posted @ 2023-09-24 14:56
不o凡
阅读(77)
评论(0)
推荐(0)
摘要:
题意:给定一个数K,问第K小的数是多少,数字严格按照按321式递减 可知,数最大为987654321,可以暴力枚举 点击查看代码 #include<bits/stdc++.h> using namespace std; #define LL long long vector<LL> ans; LL 阅读全文
posted @ 2023-09-24 09:40
不o凡
阅读(50)
评论(0)
推荐(0)
浙公网安备 33010602011771号