摘要:
线段树空间 下面“空间”是指实际维护的区间长度所占空间 指针版动态开点由于 C++ 里 struct 的“对齐”操作,会额外占用内存。所以内存非常紧张的时候还是必须牺牲一点效率写数组版动态开点。 zkw 线段树由于必须是一颗有 $2^k$ 个叶节点的满二叉树,所以需要 4 倍空间 。 普通线段树需要 阅读全文
摘要:
Disjoint Set Union On Tree ,似乎是来自 Codeforces 的一种新操作,似乎被叫做“树上启发式合并”。 在 不带修改的有根树子树信息统计 问题中,似乎树上莫队和这个 DSU On Tree 是两类常规操作。 先对树按轻重链剖分。对于每个节点,先计算轻儿子为根的子树信息 阅读全文
摘要:
A. 阅读全文
摘要:
A. 函数 include include include include using namespace std; define SC(a, b) (static_cast(b)) typedef long long ll; double K; struct data { int x, y; da 阅读全文
摘要:
A. 试卷 B. 果实 据说是另一道题的弱化版,原题带修改,好像需要用 set 维护节点。这题数据非常友善,可以用莫队水过(块长卡了 $n^{\frac{1}{2}}$ 但没卡 $n^{\frac{2}{3}}$ )。 问题可以用 dfn 序转化为求区间不同元素个数。离线做。将询问根据左端点排序,然 阅读全文
摘要:
NKOJ 上可以搜索到题目。 A. Candies BFS 一下就可以了。注意这题不满足二分性质。 B. Cards "BZOJ3262 陌上花开" 弱化版,没有相同元素。三位偏序问题(第一维排序,第二维分治,第三维数据结构)。同时这题非常良心,不同数据采用不同算法,即暴力 dp 或者 topsor 阅读全文
摘要:
1218, pcy333 和 skywalker 的互测题 | 题目 | 源文件 | 空间限制 | 时间限制 | | | | | | | A. 邪恶的戳戳 | evil.cpp | 256M | 2s | | B. 顽皮的仙童 | naughty.cpp | 128M | 2s | | C. 先知和 阅读全文
摘要:
A. 三级包 比赛时没什么想法,五分钟写了个暴搜 + 最优化剪枝竟然就可以过 90 分。比赛结束后试了发卡时,竟然就过了 OrzOrzOrz 。还是积累下经验吧,比赛的时候就算觉得暴力完全不可能过,也应该顺手卡一下时的。毕竟有时候人品攒够指不定就 A 了呢…… 可以 A 的暴搜 + 剪枝 + 卡时 阅读全文
摘要:
A. 井字棋 记忆化搜索水过。当 $9$ 个格子,每个有未讨论、黑、白三个状态时,一个较大的搜索总次数是两万左右。但实际由于双方轮流出牌,并且一旦获胜就终止游戏,实际上的状态数只有 $5000$ 左右。 $f_S$ 表示当前局面的白方胜利、失败、或者平局。考虑后面能到的状态 $S'$ 如果有一个是胜 阅读全文
摘要:
A. ‘+’ 和 ‘√’ 考虑第 $k$ 轮时应把数字 $x_k$ 增加到 $t_k$ ,使得 $\sqrt{t_k}$ 是 $k + 1$ 倍数,同时 $t_k$ 本身是 $k$ 的倍数。即 $t_k = f \cdot (k + 1)^2 \cdot k$ , $f$ 是整数。由于 $t_k$ 阅读全文