摘要:
单源最短路: 堆优化的Dijkstra: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (register int i = (a); i <= (b); i++) const int inf = 0x3f 阅读全文
摘要:
原题地址 LCT裸题,注意一下加法标记和乘法标记的下传顺序即可。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define int long long #define rep(i, a, b) for (register int i 阅读全文
摘要:
原题地址 非常基础的增删边 + 询问,没什么好讲的。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (register int i = (a); i <= (b); i++) const 阅读全文
摘要:
原题地址 LCT的裸题,如果u能到v就link(u, v),如果会被弹飞就link(u, n + 1); 第二个操作先cut再link然后赋值就行了。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) 阅读全文
摘要:
原题地址 退役第二天也要坚持用珂朵莉树水题。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define IT set<node>::iterator #define rep(i, a, b) for (register int i = 阅读全文
摘要:
原题地址 即使被强制退役也要坚持用珂朵莉树水题。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define IT set<node>::iterator #define rep(i, a, b) for (register int i 阅读全文
摘要:
原题地址 继续用珂朵莉树水题。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define int long long #define IT set<node>::iterator #define rep(i, a, b) for (r 阅读全文
摘要:
原题地址 用珂朵莉树水题。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define int long long #define IT set<node>::iterator #define rep(i, a, b) for (reg 阅读全文
摘要:
原题地址 国内珂朵莉树的起源,同时也是板子题。 网上就能找到很多资料,在此我就不赘述了。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define int long long #define IT set<node>::iterato 阅读全文
摘要:
原题地址 套splay的板子就能过了,但要注意当x无前驱或无后继时要返回inf。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (register int i = (a); i <= (b 阅读全文
摘要:
原题地址 前缀和水题,没什么好讲的,注意横纵坐标加1。 另外此题空间有点紧。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (register int i = (a); i <= (b); 阅读全文