首页 > 其他分享 >「主席树维护高精度」 CF464E The Classic Problem

「主席树维护高精度」 CF464E The Classic Problem

时间:2024-04-20 16:22:25浏览次数:36  
标签:log Classic 线段 维护 区间 Problem 树上 CF464E dis

发现难点在于维护 \(dis_u\)(起点 \(s\) 到 \(u\) 的最短路)。如果使用暴力高精度,复杂度会乘上一个 \(len\)。考虑边权 \(2^w\) 的特殊性质,如果使用一个二进制串来维护 \(dis\),那么加上边权 \(2^w\) 相当于将二进制下某一段 \(1\) 置为 \(0\),然后再将一个 \(0\) 置为 \(1\)。说白了就是区间赋 \(0\)(覆盖) + 单点加,不难想到用线段树维护。Dijkstra 的过程中涉及到加 \(2^w\) 以及比大小的问题,比大小的话在线段树上维护一个区间 hash 值,然后直接线段树二分求 LCP 即可,找全 \(1\) 段就线段树二分,维护一个区间的 \(1\) 个数。

问题来了,每个点开一个线段树维护 \(dis\) 空间一定寄。发现 \(dis\) 的转移只会修改至多 \(\log n\) 个位置,所以用主席树。区间赋 \(0\) 就直接建一个全是 \(0\) 的辅助树,把要覆盖的区间往辅助树上对应区间连就好了。各类主席树上操作都是 \(\mathcal{O}(\log n)\) 的,套一个 Dijkstra 就是 \(\mathcal{O}(n\log^2 n)\),其中 \(n,m\) 同阶。需要注意线段树上其实是把二进制数倒过来了,运算的时候先右儿子再左儿子。

Submission.

标签:log,Classic,线段,维护,区间,Problem,树上,CF464E,dis
From: https://www.cnblogs.com/Tsukinaga-Ichiyo/p/18147833

相关文章

  • 196. 删除重复的电子邮箱【Problem:Every derived table must have its own alias】
    SQL-Boy上线,最近在写SQL语句遇到了这样的问题。Problem:Everyderivedtablemusthaveitsownalias错误语句如下deletefromPersonwhereidnotin(selectidfrom(selectmin(id)asidfromPersongroupbyemail)......
  • P1480 A/B Problem
    P1480A/BProblem题目描述输入两个整数\(a,b\),输出它们的商。输入格式两行,第一行是被除数,第二行是除数。输出格式一行,商的整数部分。样例输入102输出5提示\(0\lea\le10^{5000}\),\(1\leb\le10^9\)。思路通过题目数据范围可以发现是高精度除以单精度的题目......
  • P1303 A*B Problem
    P1303A*BProblem题目给出两个非负整数,求它们的乘积。输入输入共两行,每行一个非负整数。输出输出一个非负整数表示乘积。样例输入12输出2提示每个非负整数不超过\(10^{2000}\)。思路根据题意,乘数的数据最大范围是\(10^{2000}\),需要使用高精度乘高精度的算......
  • Adobe Lightroom Classic v13.2 (macOS, Windows) - 桌面照片编辑
    AdobeLightroomClassicv13.2(macOS,Windows)-桌面照片编辑Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD......
  • CF1618G Trader Problem 题解
    CF1618GTraderProblem题解题目链接:CF|洛谷提供一个在线做法。分析1我们不妨把\(a\)和\(b\)合并为一个序列,称合并后的序列为\(c\),并将其不降序排序。把玩样例后不难发现:对于一个物品序列\(c_1,c_2,\cdots,c_l\),满足\(\foralli<l,c_{i+1}-c_i\lek\)(即任意......
  • 52 Things: Number 11: What are the DLP, CDH and DDH problems?
    52Things:Number11:WhataretheDLP,CDHandDDHproblems?52件事:数字11:DLP、CDH和DDH问题是什么? Thisisthelatestinaseriesofblogpoststoaddressthelistof'52ThingsEveryPhDStudentShouldKnowToDoCryptography':asetofquestion......
  • 52 Things: Number 10: What is the difference between the RSA and strong-RSA prob
    52Things:Number10:WhatisthedifferencebetweentheRSAandstrong-RSAproblem?52件事:数字10:RSA和强RSA问题有什么区别?Thisisthelatestinaseriesofblogpoststoaddressthelistof'52ThingsEveryPhDStudentShouldKnowToDoCryptography......
  • CF1748E Yet Another Array Counting Problem の Solution
    Link有些人还是啥都不会。看到题目应该能想到这是笛卡尔树的性质,因为每一对\((l,r)\)都满足最左端最大值位置相同,所以说明在笛卡尔树上,每一对点的lca相同,说明\(a\)和\(b\)序列的笛卡尔树相同。我们以下标为键,\(a_i\)为值建立大根笛卡尔树,现在题目就转换成在这个树上填......
  • P1865 A % B Problem
    原题链接题解1.筛一筛就行code#include<bits/stdc++.h>usingnamespacestd;intheshu[1000006]={0},f[1000007]={0};intmain(){intn,m;cin>>n>>m;for(longlongi=2;i<=m;i++){if(!heshu[i])for(longlongk=i*i;k<=m;......
  • Randomness Is All You Need: Semantic Traversal of Problem-Solution Spaces with L
    本文是LLM系列文章,针对《RandomnessIsAllYouNeed:SemanticTraversalofProblem-SolutionSpaceswithLargeLanguageModels》的翻译。随机性就是你所需要的:具有大型语言模型的问题解决空间的语义遍历摘要1引言2相关工作3模型4算法5评估6实现7结论摘......