摘要: 单源最短路: 堆优化的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 阅读全文
posted @ 2019-06-11 17:01 雲裏霧裏沙 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 原题地址 LCT裸题,注意一下加法标记和乘法标记的下传顺序即可。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define int long long #define rep(i, a, b) for (register int i 阅读全文
posted @ 2019-08-23 15:47 雲裏霧裏沙 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 原题地址 非常基础的增删边 + 询问,没什么好讲的。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (register int i = (a); i <= (b); i++) const 阅读全文
posted @ 2019-08-22 15:22 雲裏霧裏沙 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 原题地址 LCT的裸题,如果u能到v就link(u, v),如果会被弹飞就link(u, n + 1); 第二个操作先cut再link然后赋值就行了。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) 阅读全文
posted @ 2019-08-22 15:18 雲裏霧裏沙 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 原题地址 退役第二天也要坚持用珂朵莉树水题。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define IT set<node>::iterator #define rep(i, a, b) for (register int i = 阅读全文
posted @ 2019-08-17 18:05 雲裏霧裏沙 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 原题地址 即使被强制退役也要坚持用珂朵莉树水题。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define IT set<node>::iterator #define rep(i, a, b) for (register int i 阅读全文
posted @ 2019-08-16 21:07 雲裏霧裏沙 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 原题地址 继续用珂朵莉树水题。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define int long long #define IT set<node>::iterator #define rep(i, a, b) for (r 阅读全文
posted @ 2019-08-16 15:51 雲裏霧裏沙 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 原题地址 用珂朵莉树水题。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define int long long #define IT set<node>::iterator #define rep(i, a, b) for (reg 阅读全文
posted @ 2019-08-16 15:49 雲裏霧裏沙 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 原题地址 国内珂朵莉树的起源,同时也是板子题。 网上就能找到很多资料,在此我就不赘述了。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define int long long #define IT set<node>::iterato 阅读全文
posted @ 2019-08-16 15:45 雲裏霧裏沙 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 原题地址 套splay的板子就能过了,但要注意当x无前驱或无后继时要返回inf。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (register int i = (a); i <= (b 阅读全文
posted @ 2019-08-03 10:42 雲裏霧裏沙 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 原题地址 前缀和水题,没什么好讲的,注意横纵坐标加1。 另外此题空间有点紧。 代码实现如下: #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (register int i = (a); i <= (b); 阅读全文
posted @ 2019-07-17 11:52 雲裏霧裏沙 阅读(170) 评论(0) 推荐(0) 编辑