随笔分类 - OI 遗作
昨日之盛,明日之盛
摘要:知识点:状压 DP 原题面:Loj Luogu 扯 题目中的一句话: 寿司的美味度为从 $2$ 到 \(n\)。 什么是良心出题人? 这就是良心出题人! 题意简述 给定 \(n,p\),求:从 $2\sim n$ 取出两个集合(可以为空),使得分属两个集合中的数均互质的方案的数量 \(\bmod p
阅读全文
摘要:知识点:换根 DP 原题面:Luogu 扯 换 根 D P 入 门 题意简述 给定一 \(n\) 个结点的树,求出一个节点,使得以该节点为根时,所有节点的深度和最大。 一个节点的深度定义为该节点到根的简单路径上边的数量。 $1\le n\le 10^6$。 时限 2s,内存 128M,SPJ。 分析
阅读全文
摘要:知识点:换根 DP,up and down 原题面:Codeforces 上古时期的古代人类的涂鸦。 第一次正式地接触换根 DP = = 写这么个破题写了好长时间。 另外,up and down 似乎是 cdx 时代的叫法/jk 简述 给定一棵大小为 \(n\) 树。 可以进行一种修改:删去任意一条
阅读全文
摘要:知识点:线段树 原题面:Codeforces 题意简述 给定一长度为 \(n\) 的数列 \(a\),给定 \(m\) 次询问。 每次询问给定区间内,出现过偶数次的权值 的异或和。 $1\le n,m\le 106$,$1\le a_i\le 109$,时限 3.5s。 分析题意 根据异或的自反性,
阅读全文
摘要:知识点:堆,小技巧 原题面:Luogu 简述 定义两个组合数 \(a_i\choose b_i\) 与 \(a_j\choose b_j\) 不同,当且仅当 \(a_i\not = a_j\) 或 \(b_i\not ={b_j}\)。 给定参数 \(n,k\),要求选出 \(k\) 个不同的组合数
阅读全文
摘要:知识点:线段树 原题面:poj 扯 练手题,区间修改不写懒标记,傻逼! 题意简述 给定一长度为 \(n\) 的序列 \(a\),参数 \(T\)。 给定 \(m\) 次操作,每次操作是下面两种形式之一: 区间修改为给定值。 查询区间内权值种类数。 $1\le n,m \le 10^5$,$1\le
阅读全文
摘要:知识点:莫队,bitset Link:Luogu darkbzoj 扯 dark 能下数据还是很爽的。 用自带容器前务必详细阅读说明文档:C++ 参考手册。 简述 给定一长度为 $n$ 的序列 $a$,给定 $m$ 个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的
阅读全文
摘要:知识点:二分答案,可持久化线段树 原题面: Luogu 用到了和这题同样的套路:「TJOI / HEOI2016」排序。 简述 对于一长度为 \(n\) 的数列 \(a\),定义其「中位数」为排序后数列的第 \(\frac{n}{2}\) 个数,下标从 0 开始。 给定一长度为 \(n\) 的数列
阅读全文
摘要:知识点:DP Updated on 10.4:感谢 @七色丶人偶使 指出错误! 原题面: Luogu 扯 考试题,场上写挂爆零了没到 300= = 写错变量名就是真的离谱。 题意简述 给定两数列 \(a,b\),长度分别为 \(n,m\),可以做如下操作: 删除 \(a\) 的最后 \(x(x\ge
阅读全文
摘要:知识点:线段树,二分答案,01 条件转化 原题面:Loj Luogu 学线段树合并屯的题= = 用奇怪的方法过去了。 简述 给定一 \(1\sim n\) 的排列,给定 \(m\) 次修改。 每次修改给定一区间,对该区间进行升序/降序排序。 求所有修改操作完成后,一个给定位置的值。 \(1\le n
阅读全文