• 2024-05-06top k 问题 Java解决代码
    topk问题:从10亿个数中选出最大的1万个数,处理方式:用小顶堆,先用1万个数建立小顶堆,再把剩余数从小顶堆里过一遍,每次与堆顶元素比较,小顶堆的堆顶元素是最小的,如果比堆顶元素大就替换堆顶元素,重新生成小顶堆,继续比较直到10亿条数据比完,堆里剩下的就是最大的1万个数。如果是从大量元素
  • 2023-11-01F. Unique Occurrences(线段树分治+可撤销并查集)
    F.UniqueOccurrences假如我们删除所有权值为x的边,那么所有权值为x的边对答案的贡献就是\(\sumsz[u]*sz[v]\)sz表示两个联通块的大小,且(u,v)的边权为x我们可以用可撤销并查集来进行处理,简单来说就是将一条边的存在时间看作区间,然后挂到线段树上,然后遍历到每个叶子的时候进行
  • 2023-06-24CF1418G Three Occurrences 做题笔记
    题目链接题意是输出所有区间满足其内部每个数要么出现$3$次要么不出现的个数。因为是区间,数量很多,发现贡献是可以抵消的,直接无脑预处理前缀的桶。然后枚举左端点,统计答案,怎么处理呢?疯狂地向右扩展,直到区间内有数字出现了$3$次以上(这样是对的,待会儿证明,另外扩展到前一个就
  • 2023-05-18leetcode-1207-easy
    UniqueNumberofOccurencesGivenanarrayofintegersarr,returntrueifthenumberofoccurrencesofeachvalueinthearrayisuniqueorfalseotherwise.Example1:Input:arr=[1,2,2,1,1,3]Output:trueExplanation:Thevalue1has3occurrences,
  • 2022-11-30[LeetCode] 1207. Unique Number of Occurrences
    Givenanarrayofintegers arr,return true ifthenumberofoccurrencesofeachvalueinthearrayis unique,or false otherwise.Example1:Input:arr
  • 2022-10-06CF1681F. Unique Occurrences (可撤销并查集, 分治)
    https://codeforces.com/contest/1681/problem/F题意:给5e5节点的树,问所有路径的贡献和,一条路径的贡献指路径上上只出现一次的边权的个数。思路:对于每种边权的贡献:对于边