• 2024-04-20「主席树维护高精度」 CF464E The Classic Problem
    发现难点在于维护\(dis_u\)(起点\(s\)到\(u\)的最短路)。如果使用暴力高精度,复杂度会乘上一个\(len\)。考虑边权\(2^w\)的特殊性质,如果使用一个二进制串来维护\(dis\),那么加上边权\(2^w\)相当于将二进制下某一段\(1\)置为\(0\),然后再将一个\(0\)置为\(1\)。说白了
  • 2024-02-26CF464E 解题报告
    首先这是一道最短路的题目,但是数据范围十分庞大,需要高精度。但是数据范围实在太庞大了,高精度的时间复杂度是很高的,所以我们另辟蹊径。考虑到每条边边权都是\(2^x\)的形式,提示我们将起点到每个点的最短距离转化为二进制形式。考虑松弛操作需要用到什么,发现需要比较两个二进制数
  • 2023-08-26《CF464E》 解题报告
    好题。今天模拟赛出到这题的究极强化版,于是来写一下这题,也就是弱化版(你管这叫弱化版)其实思路不难,但是比较有趣。首先我们肯定是要维护这么一个高精的,但是如果直接维护肯定鉴定为寄。考虑其他维护方法。首先要知道\(dij\)是肯定不能少的。我们思考\(dij\)主要有两个操作
  • 2022-11-08CF464E The Classic Problem
    题意给定一张图,边权为\(2^x,x\le10^5\),求\(s\)到\(t\)的最短路以及方案。Solution直接上最短路!现在的问题是如何高效存储路径上权值的加和。这题有个特殊之处就是
  • 2022-09-01CF464E The Classic Problem
    传送门思路\(2^{100000}\)?别想了,普通高精度肯定不行但我们发现,求最短路的过程中,其实是用到了比较大小和加法操作细想比较大小的过程,当长度相同的数,我们会先略过前面
  • 2022-08-16CF464E The Classic Problem
    题解:首先要注意到一个数+$2^k$的在二进制中的运算过程是将一段连续都为1的区间都赋0,然后将下一个为0的位置改为1想到可持久化数组然后dij一下就好了有几个值得留下的
  • 2022-08-14CF464E The Classic Problem(线段树 最短路)
    CF464ETheClassicProblem\(\bigstar\texttt{Hint}\):发现没有什么好的突破口?为什么不想想怎样才能实现题目中\(2^x\)的加减法呢?可见每次加减法,我们要做的是将添加的