http://uoj.ac/problem/14 由于加入的边权递增,可以直接运行kruskal并支持撤销,但这样如果反复批量删边和撤销,时间复杂度会退化,因此需要对删边操作加上延时处理,只有在删边后下一个操作不是撤销时才执行删边.由于有撤销,并查集需要按秩合并且不路径压缩. #include<bits/stdc++.h> typedef long long i64; ; int _(){ int x; scanf("%d",&x); return x; } int…
A. DZY Loves Hash time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output DZY has a hash table with p buckets, numbered from 0 to p - 1. He wants to insert n numbers, in the order they are given, i…
DZY开始有 nn 个点,现在他对这 nn 个点进行了 mm 次操作,对于第 ii 个操作(从 11 开始编号)有可能的三种情况: Add a b: 表示在 aa 与 bb 之间连了一条长度为 ii 的边(注意,ii是操作编号).保证 1≤a,b≤n1≤a,b≤n. Delete k: 表示删除了当前图中边权最大的k条边.保证 kk 一定不会比当前图中边的条数多. Return: 表示撤销第 i−1i−1 次操作.保证第 11 次操作不是 Return 且第 i−1i−1 次不是 Return…