随笔分类 - 图论-最短路(树)
摘要:新技能get✔。 线段树优化建边主要是针对一类连续区间和连续区间之间建边的题,建边非常的优秀。。 这题中,每次要求$[l1,r1]$每一点向$[l2,r2]$每一点建无向边,然后单元最短路。 暴力建边,边数$O(n^2m)$,时空双炸。 优化一点的建边,对于一个区间的点,把他们统一向一个虚点连零边,
阅读全文
摘要:关于Kruskal重构树可以翻阅本人的最小生成树笔记。 这题明显裸的Kruskal重构树。 然后这题限制$\le p$的边不能走,实际上就是要满足走最小边权最大的瓶颈路,于是跑最大生成树,构建Kruskal重构树。 通过倍增跳到最浅祖先位置,就get到了一个点可以走到的点集(子树所有叶子)。这些点里
阅读全文
摘要:题意:求$K$的倍数中数位和的最小值。 一开始有一种思路:由于产生答案的数字可能非常大,不便枚举,考虑转化为构造一个数字可以有$x\mod k=0$。然后二分答案数位和,数位DP检验是否存在,但是由于数位DP还是局限于有限大小的数字,所以并不可行。````` 套路见少了。实际上,这种构造数字满足某些
阅读全文
摘要:你们都说这题简单可是我想了好久,可能还是太菜,泪拉了下来 由于这题网上全部是一句话题解,我并不能理解个中原因,向hkk神仙请教被以“很显然的做法”驳回。。神仙做题全都是显然吗? 最后自己yy出了一种新做法应该叫新的科学严谨的理解方法,不知道是不是一种正确思路 首先尝试优化建边,对于一个点对,他们连一
阅读全文
摘要:显然分层图裸题,做这题纯粹是为了填坑,不解释。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 #include<queue> 7 #defin
阅读全文
摘要:声明:关于这题的$O(mn)$尚且未深入理解,虽然之前有跟这位神仙聊过做法但并没太懂。。 $O(mn\log m)$同余最短路做法: 首先不妨抽出最小的$a_i=m$,那么剩余的$a$如果可以表示出$x$,那么$x+km$的所有数都可以表出。所以对于$m$的同一个同余类$i\in[0,m)$,我们希
阅读全文
摘要:$n$非常的小,结合题目计算式可以想到$O(n^3)$暴枚$s,t,v$,看$v$在不在$s\to t$最短路上($dis_{s,v}+dis_{v,t}=dis_{s,v}$是$v$在两点最短路上的充要条件——很好证),在则统计$\frac{cnt_{s,v}\times cnt_{v,t}}{c
阅读全文
摘要:首先$O(n^2\log n)$暴力很好想,直接每个点出发跑一遍最短路,排$dis$统计一下即可。考虑怎么优化。发现$rank$很小,考虑从$rank$入手。换一种统计方法,看每个点$x$如果作为别的点的兴趣点,可能产生多少贡献。那么别的点$i$到他的最短距离设为$dis_i$,$i$到所有$ran
阅读全文
摘要:有生以来做过的bzoj比A+B还简单的最水的题。(确信) 不解释。 UPD:据说这题正解应当是矩阵树定理?但是这个不是用来最小生成树计数的么?有生之年会补的。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include
阅读全文
摘要:orz极速暴切此题的hkk。 如果没有保护限制,直接跑最短路,现在到达某些点要先经过保护点,那么在跑dijkstra时候每一轮可以先减少这些点保护数量,如果有恰好点没有保护了,说明这个点就可以走了,且这个点$dis$应当是走完所有保护点时间和走到他本身时间的$max$,把他压入堆。这样之后,如果又有
阅读全文
摘要:一个最小环裸题。最小环的两种求法dijkstra和Floyd直接参见这里我就是从这里学的,不想写了。 注意这里最重要的一个点是利用了Floyd的dp过程中路径上点不超过$k$这一性质,来枚举环上最大编号并枚举连边,这样另外枚举的两个点的最短路肯定不会经过和$k$连的边。 坑点: 平常inf都开0x3
阅读全文
摘要:这题以前就被灌输了“打表找规律”的思想,所以一直没有好好想这道题,过了一年还不太会qwq。虽然好像确实很简单,但是还是带着感觉会被嘲讽的心态写这个题解。。。而且还有一个log做法不会。。。 法1:(一开始没看懂,后由hkk神仙教导ORZ) 因为$ax+by=k$如果无视$\{x,y\}$非负整数解的
阅读全文
摘要:感觉和以前做过的一个推箱子很像,都是可以用bfs解决的,而且都是手玩出结论。 因为起始棋子肯定是要和空格交换的,所以第一件事是先把空格移到棋子旁边。然后讨论怎么设计搜索状态。由于和推箱子实在太像了,所以直接借鉴,发现空格总是要贴着棋子走的要不然就是换个贴的方向继续走(这里的走就是指交换)。于是绑定两
阅读全文
摘要:显然这里的$n^2$级别的边数不能全建出来,于是盯住xor这个关键点去 瞎猜 探究有没有什么特殊性质可以使得一些边没有必要建出来。 发现一个点经过一次xor $x$,花费$x$这么多代价(先不看$C$),到达另一个点$u\text{xor}x$。 结合异或性质,发现其实这个过程完全可以通过把$x$拆
阅读全文
摘要:初中组。。唉 题意有点误解,当前在x点走一步,gps产生代价条件是沿非x到n的最短路走。 直接倒着跑两遍$i\sim n$的两种最短路,然后枚举每条边走的时候是否可以在两种最短路上,不是就产生1个代价,然后以这个代价重新建图正着跑一遍最短路即可。 1 #include<iostream> 2 #in
阅读全文
摘要:Task1 这个是USACO 2019 JAN Gold的原题,可能因为过于水,所以我即使八点多才开始做也提前ak。。。来写一篇题解。。 A. Cow Poetry 显然押同一韵的行只需要最后一个词属于一个韵部,前面长度$K-s_i$随便排,DP一下长度$i$的有多少种,类似于背包转移,只是把物品放
阅读全文

浙公网安备 33010602011771号