该文被密码保护。 阅读全文
摘要:
NOIP2024集训Day71 贪心 A. [BalticOI2016 Day2] 交换 看到 \(x\) 和 \(\displaystyle\left\lfloor\frac{x}{2}\right\rfloor\) 我竟然没有想到树形结构,怕不是要废了 将 \(x\) 和 \(\displays 阅读全文
摘要:
新高一暑假第一期集训新课【笛卡尔树】(补) B. Beautiful Pair 如果构建一棵笛卡尔树的话那么两个点之间的 \(max\) 就在笛卡尔树的 \(\operatorname{LCA}\) 位置。 所以对于每个位置维护一个线段树,然后每次暴力枚举小的那棵子树在大子树的线段树中查询即可。然后 阅读全文
摘要:
NOIP2024集训Day65 贪心 A. [NOI2015] 荷马史诗 简化题意,即构造一颗 \(k\) 叉树,每个节点的权值为其所有孩子的权值之和,给定的 \(n\) 个数必须使用,其余空缺处用 \(0\) 补全。 考虑使用优先队列,首先弹入 \(n + (n-1) \% (k-1)\) 个元素 阅读全文
摘要:
新高一暑假第一期集训恢复性训练【数据结构-线段树晚测】(补) A. [CF1045G] AI robots 我们先按视野降序排序,这样一个一个考虑,如果后面的能看到前面,那前面的也肯定能看到后面。 这样,就是对于每一个机器人,在他前面有几个智商在 \([q-k,q+k]\),位置在 \([x-r,x 阅读全文
摘要:
新高一暑假第一期集训恢复性训练【树状数组巩固小练】(补) A. [POJ2182] Lost Cows 不难发现要从后往前确定每头牛的身高,这样每头牛的身高就是 \(1\sim n\) 中没被选过的第 \(a_i + 1\) 大的数(因为有 \(a_i\) 头比自己矮),那么我们只需用树状数组维护一 阅读全文
摘要:
新高一暑假第一期集训恢复性训练【数据结构-晚测】(并查集)(补) [CF1290C] Prefix Enlightment 带权扩展域并查集。 任意三个子集的交集为空集,显然,一个点最多只能在两个集合中出现,这样所有集合的大小之和是 \(\Theta(n)\) 的。 一个在两个集合中出现的点ii相当 阅读全文
摘要:
新高一暑假第一期集训恢复性训练【数据结构-杂题小练】(并查集)(补) A. [JOISC2014 Day2] 交朋友 首先,我们把从 \(x\) 连出去两条边的都合并,然后再去合并从 \(x\) 连出去一条原有边与一条新边的情况。 第一种情况直接枚举就行,第二种情况来一个多源 bfs 即可。 B. 阅读全文
摘要:
NOIP2024集训Day58 字符串 C. [CEOI2011] Matching 发现要做的是排名串的匹配。 考虑把它转成这个位置之前有多少个数小于当前这个数,这样就只要每个位置都对应相等的,那就一定是合法的。 然后就可以类似 KMP 的预处理出一个 \(nxt\) 数组,然后再类似 KMP 的 阅读全文
摘要:
NOIP2024集训Day57 哈希 A. [CF213E] Two Permutations 考虑到都是排列,值域连续,于是 \(a\) 都加 \(x\) 之后相当于在值域上平移了一段,也是连续的。由于要进行比较,个很容易想到哈希。\(a\) 的哈希值很好维护,每次平移一位加上 \(\sum ba 阅读全文