【模板】C++ 手动扩栈
今天考试考了一道需要递归 $10^5$层的题目。。。 然后我就发现我爆栈了 然后我就手写模拟栈递归浪费了很多时间 虽然其实评测的时候带了编译开栈命令,但是那个命令是 Windows 底下的,所以我 Ubuntu 就没辙了。 然后去网上搜手动开栈,但都是很久以前的代码,目前的 G++编译器已经不能编译 阅读更多…
今天考试考了一道需要递归 $10^5$层的题目。。。 然后我就发现我爆栈了 然后我就手写模拟栈递归浪费了很多时间 虽然其实评测的时候带了编译开栈命令,但是那个命令是 Windows 底下的,所以我 Ubuntu 就没辙了。 然后去网上搜手动开栈,但都是很久以前的代码,目前的 G++编译器已经不能编译 阅读更多…
首先看看选手的表现 : 由于是 oj 上的比赛,所以我就不写暴力的做法了 A change 首先你需要知道你要求的答案是图上最小生成树的边权之和再加一 你还要知道这张图是需要加边和删边的 可持久化 LCT 动态最小生成树应该都会写,如果不会的可以先去做 NOI 的魔法森林 其实可以线段树分治,Luo 阅读更多…
结合多阶差分的 DP 递推方程 如果用 $f[x]$表示加入了 x 个周围的点后的方案数,我们首先想到的递推式是: $$ f[i]=\sum_{j=1}^{i}f[i-j]\cdot j $$ 意思是,最后加入的 j 个点每个都可能与中心点连边,将所有方案数累加即可。 但是,我们遇到一个问题:第一个 阅读更多…
说实话要不是 Google-pinyin 的联想功能真的差(因为没有云端细胞词库),我才不用 Sogou 呢,老崩溃╮(╯▽╰)╭ 之前我每次用 sogou 输入法连续输入 “ku”(比如输入 “快速幂”)就会直接闪退。。。非常烦恼 QvQ。。。找了好久终于找到方法了,于是分享一下啦 QvQ 1. 阅读更多…
并查集,顾名思义,就是把元素并到一个集合里,然后还可以查找某个元素在哪一个集合里; 这其实就是并查集了,思想很简单,而且很好写,不过很少会有题专门考并查集,但是,不可否认的是,并查集是一个极为有用的辅助算法,或者说是思想,再或者是一种实现方式; 并查集有几个主要操作: Ⅰ 初始化:我们会把每一个点放 阅读更多…
蒟蒻的 Q 啦:1208247864 owo dalao 们来加啦 这个题很容易想到树上做背包 复杂度 O(nm^2) 完全可过 具体做法就是说我们先建边,然后去 dfs 令当前节点为 x 即将要去的节点为 go 由于是有向边,所以没必要判断 go == fa[x] 然后处理 go 返回后,在 x 阅读更多…
上面是我的 logo 叽哩嘎啦哈哈哈哈 蒟蒻的 Q 啦:1208247864 owo dalao 们来加啦 这个题啊,真像个费用流 然而呢 费用流也能跑 就是可能不 AK (我没试,不知道啊) 然后呢,我们考虑正解 首先我们知道我们要把所有的点放给两侧,使之最后 ans 最小 那么,我们又发现 m 阅读更多…
课前预习 Q: 什么题目使用插头 dp? A: 关键词:超小数据范围,网格图,连通性。 Q: 什么是 “插头”? A: 一个格子通过某些方向与另一个格子相连,这些连接的位置叫做 “插头”。形象地理解,网格图上每一个格子是一块拼图,那么两块拼图的接口就叫做 “插头”。 Q: 什么是 “轮廓线”? A: 阅读更多…
插头 Dp 接水管问题 两个黑色格子内应该填入什么方块才能使两路水管联通呢?这显然是一个” 胎教+幼儿园-“ 的题目 (参照洛谷的评级方式),但是将其应用到 Dp 上问题或许会变得较为复杂。 比如我们能否用蓝色的水管铺成若干回路,占满一个 n*m 的平面?下面我们将着 阅读更多…