摘要:
题目链接:https://www.luogu.com.cn/problem/P2758 题意: 给定两个字符串a,b。 有三种操作:删除,插入,替换 求a到b的最小编辑距离 思路: 设dp数组dp[i][j]表示字符串a:0i-1子串到字符串b:0j-1子串的编辑距离 如果a[i-1]=b[j-1] 阅读全文
摘要:
LCS O(n^n)方法 遍历到第i行,j列时 状态转移方程 当a[i]=a[j],f[i][j]=f[i-1][j-1]+1; 当a[i]!=a[j],f[i][j]=max(f[i-1][j],f[i][j-1]) 特别地,当两个序列都是1~n的排列时 由于元素都相等 所以考虑映射一个序列,使其 阅读全文
摘要:
增加动态数组vectorb 记录一个递增的子序列,如果当前遍历到的元素大于最后的元素,则往后插入,len++; 否则,查找第一个大于等于该元素的位置,替换,这样使数组元素值更小,会有更多机会插入更多元素 int n,len=1; int a[maxn]; vector<int>b; cin>>n; 阅读全文
摘要:
用于求解有向带非负权图每个点到源点的最短路径问题 时间复杂度O(mlogm) int n,m,s; vector<pii>e[maxn];//pii:{去往的点,权值} int d[maxn],vis[maxn]; priority_queue<pii>q;//pii:{-与源点距离,点} void 阅读全文
摘要:
Kahn算法 (判环,输出拓补序列) 时间复杂度O(n+e) int n,m; vector<int>e[105];//邻接表 vector<int>tp;//拓扑数组 int din[105];//入度表 bool toposort(){ queue<int>q; rep(i,1,n) if(di 阅读全文
摘要:
欧拉定理: 若a与m互质,那么a^phi(m) 与 1 在模m的意义下 同余 其中phi(m)为欧拉函数; 表达式phi(m)=m*(求和)((pi-1)/pi)(pi为m的因数) 扩展欧拉定理: 用于降幂 当b<phi(m)时 ,a^b 与 a^b 在 模m意义下 同余 当b>=phi(m)时,a 阅读全文
摘要:
题目链接:https://www.acwing.com/problem/content/description/5440/ 题意: 给定a,b数组,遍历b数组,按照条件使a数组增加值,求最后的a数组 思路: 模拟 #include<bits/stdc++.h> #define rep(i,a,n) 阅读全文