摘要:
时间复杂度O(n+mlogn) vector<int>e[maxn]; int fa[maxn],dep[maxn],son[maxn],sz[maxn]; // 存u的父节点,存u的深度,存u的重儿子,存以u为根的子树的节点数 int top[maxn]; // 存u所在重链的顶点 void df 阅读全文
posted @ 2025-03-12 20:34
Marinaco
阅读(12)
评论(0)
推荐(0)
摘要:
离线算法:适用于无向图,(query建无向边) 利用并查集+DFS 时间复杂度O(n+m) vector<int>e[maxn]; vector<pii>query[maxn]; int fa[maxn],vis[maxn],ans[maxn]; int find(int u){ if(u==fa[ 阅读全文
posted @ 2025-03-12 20:03
Marinaco
阅读(18)
评论(0)
推荐(0)
摘要:
题目链接:https://atcoder.jp/contests/abc396/tasks/abc396_f 题意: 给定一个序列A,构造m个序列B,其中第i个序列第j个值为Bj= (Aj + i-1) %m 询问每个Bj的逆序对数目 思路: 由于模了m,所以一开始的序列每个元素的大小在[0,m-1 阅读全文
posted @ 2025-03-12 19:20
Marinaco
阅读(50)
评论(0)
推荐(0)
摘要:
题目链接:https://www.luogu.com.cn/discuss?forum=P1106 题意: 给定一个长整数,删去其中k个数,使最终的数最小 思路: 发现从左至右,如果一个数大于后面相邻的那一个数,则贪心地想将这个数删掉会使答案更优 删除某个数可以用字符串函数 s.erase(i,1) 阅读全文
posted @ 2025-03-12 15:56
Marinaco
阅读(43)
评论(0)
推荐(0)

浙公网安备 33010602011771号