摘要:
题目 "传送门" 题解 首先考虑,如果我们没有这个区间修改怎么做? 只需要用线段树的思想,每个区间维护一个线性基,询问的时候合并线性基即可。 至于如何合并,其实暴力就可以了,具体实现如同: 似乎是十分简单的。 然而,这道题偏偏要给你这个修改。 那么我们考虑如何让这个修改影响尽量方便处理,这个时候我们 阅读全文
摘要:
题目 "传送门" 题解 似乎是一道线段树分治的板题,但是同时也使用了线性基。 考虑将时间建一棵线段树。 再者,一个区间里面,存在一个 $x$ 和存在 $n$ 个 $x$ 是没有区别的,所以我们只需要处理出一个 $x$ 所存在的最大的一个区间,再在这个时间区间里插入 $x$ 即可,最后用一个 $dfs 阅读全文
摘要:
题目 "传送门(带翻译)" 题解 "这是此题的思路弱化版" 有了这道题的思路,很简单便知道,我们可以先找到一条简单路径,然后用图中的环对这条路径进行拓展。 显然,我们先用图中所有的环(除去两点环)做一个线性基,然后考虑怎么做题。 但是由于这道题是针对所有的数,所以我们可以随便建一棵生成树,得到每个点 阅读全文
摘要:
题目 "传送门" 题解 复习 $\text{NIM}$ 游戏的规则——如果盒子中球的个数的异或和为 $0$,那么先手必胜。而这道题我们能改变异或和的,就是从包(盒子)中取出盒子(巧克力棒),这样会改变所有盒子的异或和。 那么,我们只需要让先手把所有的能够使得异或和为 $0$ 的方案全部取出来,这样后 阅读全文
摘要:
题目 "传送门" 题解 对于这道题,我们有一个十分强大的结论,先给出这个结论,再给出一个比较感性的证明。 假设我们有一个集合 $A$,其中 $|A|=n$,而 $A$ 的线性基我们记作 $G$,且 $|G|=k$,那么对于 $A$ 所有子集 $S_i(1\le i\le 2^n)$ 的异或和只会有 阅读全文
摘要:
[TOC] 题目 "传送门" 题解 由于路径价值为异或和,显然一条路如果重复走就没有价值了。 我们可以考虑选取一条从 $1$ 到 $N$ 的简单路径,中间的路径用 环 进行拓展。 但是,我们从简单路径到环,中间还要经过一条路径,这条路径考虑会走几遍:首先,我们从简单路径到环会走一遍,然后我们从环再走 阅读全文
摘要:
题目 "传送门" 题解 线性基入门题 ~~然而我还是看了题解~~ 考虑用 $\text{Number}_i$ 做线性基,当一个 $\text{Number}_i$ 可以被放进线性基中时,就表示它与前 $1\sim i 1$ 异或都不会变成 $0$,那么我们就可以加上它的贡献。 但是,我们的目标是让答 阅读全文
摘要:
[TOC] 题目 "传送门" 题解 假设我们忽略物品 $i$,那么所有的物品我们分成 $1\text{~}i 1$ 的物品和 $i+1\text{~}n$ 的物品这两个部分,在这两个部分里面选择容量不超过 $e_i$ 的物品的最大价值。 那么我们考虑从 $1$ 开始跑部分背包,从 $n$ 开始往前跑 阅读全文
摘要:
题目 不超过 $n$ 个球放入 $m$ 个盒子方案数,盒子可以为空,求方案数。 题解 网上有很多使用公式推导的方法,这里介绍一种纯隔板法分析的思路。 首先分析一个子问题:将 $x$ 个球放进 $y$ 个盒子的方案数,盒子可以为空。 由于 $y 1$ 个板隔开 $y$ 段,那么 $y$ 个盒子等价于 阅读全文
摘要:
题目 给你一个数 $n$,让你求 $C(n,0)、C(n,1)...C(n,n)$ 这 $n+1$ 个数中为奇数的个数。 题解 由 $\text{Lucas}$ 定理可得 $$ C(n,m)≡C(a[n],b[n]) C(a[n 1],b[n 1]) C(a[n 2],b[n 2]) ...C(a[ 阅读全文
摘要:
[TOC] 题目 "传送门" 题解 一道思路十分巧妙的题。 这道题与二进制有关,那么我们从分析二进制入手。 不难发现,二进制运算的每一位都是相互独立的,他们的运算不会影响到其他的数位。 那么我们可以分开运算每一位,把 $0$ 与 $1$ 带入到运算当中,而结果将会有不同的情况 假如经过运算之后,$0 阅读全文
摘要:
变量/函数の定义 变量/函数名 定义/作用 tax[] 将树拍扁时用的临时数组 tail 与 tax[] 配套使用,类似于栈顶指针 son[x][] 点 \(x\) 在树上的左/右儿子 exist[x] 点 \(x\) 存在与否,\(1\) 为存在 val[x] 点 \(x\) 的值 siz[x] 阅读全文
摘要:
[TOC] 题目 题目描述 $\text{Lemon}$ 认为在第一届 $『\text{Citric}』$ 杯模拟赛中出的题目太简单了,于是他决定,这次要给参赛选手们一个下马威! \^_\^ $\text{Lemon}$ 手上有一个长度为 $n$ 的数列,第 $i$ 个数为 $x_i$。 他现在想知 阅读全文
摘要:
经过本蒟蒻大约两天的努力,总算是把后缀数组的模板写出来了 然而 ZXY 大佬已经 AK 了 我们不能和这种神仙比,还是自己比比就好了... 我的后缀数组实现有两个版本,其实他们的本质区别就在于基数排序的实现的部分。 后面会加入求 height[] 的代码,不过现在还是算了吧... 用伪链表实现基数排 阅读全文
摘要:
题目 "点这里" 题解 本题暴力可过,细节不必多说。 这里我主要是说明一下为什么当 $n 11$ 时可以直接输出 $0$ 。 首先,思考二维空间中,我们能保证最多能同时存在多少点,而还有好点存在? 答案是 $5$ 个,为什么? 可以手画一下,二维平面内五个点构成“十”字结构。 在这种情况下,点数最多 阅读全文
摘要:
[TOC] 题目 "传送门" 思路 十分巧妙的差分前缀和好题。 题目板块完结之后,我看到有很多处理此题的方法,但总感觉差分前缀和比较巧妙。 首先,通过输入我们可以将每个人能在 $0$ 号点停留的最大时间区间 $[tl,tr]$ ,并将所有人的 $[tl,tr]$ 取交集,得到 $[ll,rr]$ 即 阅读全文
摘要:
简要说明 对于树链剖分(我更喜欢叫重链剖分),因为它需要定义的东西比较多,对于参数,这里给出一张表格说明 变量名 说明 dep[u] 点 \(u\) 的深度 fa[u] 点 \(u\) 在树上的父节点 dfn[u] 点 \(u\) 的 \(dfs\) 序 siz[u] \(u\) 的子树大小 top 阅读全文
摘要:
代码说明 对于一些变量进行说明: | 变量名 | 说明 | | : : | : : | | | 树根 | | | 点 $u$ 的父节点,特别地, | | | 点 $u$ 的 左/右儿子 | | | 点 $u$ 及其子树大小 | | | 点 $u$ 对应的值 | | | 点 $u$ 对应的 出现的次数 阅读全文
摘要:
[TOC] 题目 背景 这是一道交互题。 一共有 $n$ 个人做成一圈,他们的编号从 $1$ 到 $n$。 现在每个人的手里面都有一个数字 $a_i$ ,并且保证每个人与他周围两个人的数字差为 $1$ ,即 $\mid a_i a_{i\pm 1}\mid =1$ ,特别地,编号为 $1$ 与 $n 阅读全文
摘要:
[TOC] 题目 有许多的青蛙要过河,可惜的是,青蛙根本跳不过河,他们最远只能跳 $L$ 单位长度,而河宽 $W$ 单位长度。 在河面上有一些石头,距离 $i$ 远的地方有 $a_i$ 个石头,每个石头只能使用一次,求最大能有多少青蛙过河。 输入的第一行为两个整数 $W,L(1<l<w<10^5)$ 阅读全文