题解

CF1665E MinimizOR 题解

CF1665E 直接做不是很好下手,考虑找些性质。 有一个比较显然的贪心,就是按位从高到低的考虑,如果当前位至少有 \(2\) 个 \(0\),就可以去掉该位为 \(1\) 的数。但是时间上显然是不行的。 假如没有重复的数,可以发现扫到最后一位时,剩下的数的数量是 \(\log V\) 的,证明省去 ......
题解 MinimizOR 1665E 1665 CF

P8512 [Ynoi Easy Round 2021] TEST_152 题解

P8512 直接做不好做,考虑离线。这个覆盖操作和这道题很像,可以直接对某些段暴力修改,可以直接上 ODT。发现当 ODT 执行这些操作时,是容易求出不执行某些操作后带来的值的影响的,即可以直接用树状数组维护每个位置现在是被那个操作覆盖,求出 \(1\) 到 \(x\) 操作还覆盖了那些位置,以及这 ......
题解 P8512 Round 8512 2021

CF1870F Lazy Numbers 题解

CF1870F 题意:给一个长度为 \(n\) 的排列,求在其在 \(k\) 进制下按字典序排序后 \(\sum[p_i=i]\) 的值(\(n\le10^{18}\))。 直接做是不好办的,只能在一些数中找到 \(p_i\) 的大小关系。 在手摸的过程中会发现一些长度相等的数之间会插入一些其它长度 ......
题解 Numbers 1870F 1870 Lazy

P4700 [CEOI2011] Traffic 题解

P4700 简单的,但是考试的时候没看到是平面图,就只想到了缩点后 DAG 判断能到达哪些点。用 bitset 维护做到 \(\mathcal{O}(\frac{nm}{w})\) 的时空复杂度,但是空间会炸。 由于这个图是平面图,稍微推一下就可以知道所有能它最终所能到达的点一定是从西侧出发所能到达 ......
题解 Traffic P4700 4700 2011

P4657 [CEOI2017] Chase 题解

P4657 树形 dp。 首先,追逐者遇到的铁球的数量显然不会少于逃亡者遇到的铁球数量。 令 \(ss_i\) 表示与 \(i\) 相邻的点的权值之和。\(\mathcal{O}(n^2v)\) 的 dp 是很简单的。 令 \(dp_{i,j,0/1}\) 表示根节点到 \(i\) 的路径上,用了 ......
题解 P4657 Chase 4657 2017

P9715 「QFOI R1」头 题解

P9715 不一样的线段树做法。 假如只有 \(t=1\) 的操作是容易的。考虑加上 \(t=0\) 后怎么做。显然地,我们对每一个操作附上一个时间 \(tim\),不妨令 \(tim\) 小的数能覆盖掉 \(tim\) 大的数。这时候就只需要维护区间取 min 和最后的 \(n\) 次求 \(c\ ......
题解 P9715 9715 QFOI

P8386 [PA2021] Od deski do deski 题解

P8386 platelett 讲的题欸。 先考虑给定序列怎么做。 问题显然可以转化为能否将序列分成若干个子序列。令 \(f_i\) 表示前 \(i\) 个数是否能够删完。则有 \(f_i = f_j[a_i=a_j, f_j=1]\)。这样是 \(n^2\) 的,也无法扩展至所有数列的情况。 建立 ......
题解 deski P8386 8386 2021

P4067 [SDOI2016] 储能表 题解

P4067 因为不能直接减去 \(nmk\),先把题目中的式子转化为求 \(i\oplus j \ge k\) 的数的个数与和。 这样就可以进行数位 dp 了。令 \(f_{bt,un,um,lk}\) 表示当前考虑到第 \(bit\) 位,\(n\) 有没有达到上界,\(m\) 有没有达到上界,\ ......
题解 P4067 4067 2016 SDOI

UVA12170 轻松爬山 Easy Climb 题解

UVA12170 7 月份的题了,补一补。场上写挂了一点还是很遗憾的。 容易想到 dp。 但是由于值域非常大,直接 dp 是不行的。但是 \(n\) 非常小,容易想到离散化。 但是离散化后是不能直接加减的。有用的数值初看是有 \(\mathcal{O}(n^2d)\) 的,即 \(h_i + kd( ......
题解 12170 Climb Easy UVA

P9755 [CSP-S 2023] 种树 题解

P9755 upd on 2023.11.20:增加细节说明。 刚开始浪费太多时间了,导致赛时没调出来,有点火大。 如果一开始没有头绪的话可以先看一下特殊性质,链是直接贪心。 考虑一下菊花,发现直接贪心是不可做的,但是发现树的高度随时间增大而增大,可以用二分转化为判定性问题解决。 对于任意的树来说, ......
题解 P9755 CSP-S 9755 2023

P9753 [CSP-S 2023] 消消乐 题解

P9753 法一: 这是赛时想法。 考虑 dp。 令 \(f_i\) 表示 \(i\) 为右端点的合法子串个数,则答案为 \(\sum\limits_{i=1}^{n}f_i\)。 赛时想过匹配指针不断跳的,但当时没敢写,用了一种更直观的方法。 仿照于括号序列,合法的子串只能为 \(cAc\) 或 ......
题解 P9753 CSP-S 9753 2023

P8315 [COCI2021-2022#4] Šarenlist 题解

P8315 T3 写太慢了,就没看这道/gg。错过简单题+1。 不好直接对边或路径进行考虑,但是发现 \(m\) 非常小,考虑容斥。 即每次钦定集合 \(S\),强制包含在 \(S\) 内的路径不合法,其它的都可以,容斥系数就是 \(-1^{|S|}\)。每次可以暴力覆盖染色,然后用一个并查集进行维 ......
题解 arenlist P8315 8315 2021

P9340 [JOISC 2023 Day3] Tourism 题解

P9340 记一下。称 \(\forall j\in[l,r]\) 的 \(c_j\) 为关键点。 法一: 最好想的。 有个显然的结论,将所有关键点按 DFS 序排序,走过的边的数量为排序后相邻的点之间的距离。记走过的边的数量为 \(cnt_e\),则此时这些关键点所构成的虚树的大小为 \(\fra ......
题解 Tourism P9340 JOISC 9340

P7816/CF1610F「Stoi2029」以父之名 题解

CF1610F P7816 *3000 令 \(w_u\) 表示与 \(u\) 直接相连的边的权值和。显然当 \(2\mid w_u\) 时,这个节点是无法满足条件的,因为每次调整只能对 \(\mid d^+(u)-d^-(u)\mid\) 的值造成偶数的影响。 这时候肯定会猜答案就是 \(\sum ......
题解 7816 1610 2029 Stoi

1 月杂题题解

好久没写博客了? 今晚写爽。 P5311 成都七中 这有黑? 对于一个点 \(x\),设其子树任意一点为 \(y\)。 我们可以求出这 \(x\rightarrow y\) 这条路径经过节点的的 \(l,r\)。 遍历 \(x\) 的子树,我们可以得到一些三元组 \((l,r,c)\) 表示 \(x ......
题解

[ABC273D] LRUD Instructions 题解

[ABC273D] LRUD Instructions 题解 很好的一道大模拟,使我爆 \(0\)。 思路解析 大模拟,我们只需要用一个 \(x,y\) 表示我们当前的位置,而对于每一个移动,我们就判断在当前移动方向上离当前点最近的点,若该点在当前行进路线上,则把当前位置设为该点前面的一个。 其中判 ......
题解 Instructions 273D LRUD ABC

CF1045G AI robots题解

题目链接:洛谷 或者 CF 本题考虑转化为 cdq 分治模型 对于 cdq 分治来说,只需要考虑左边对右边的影响,那我们要考虑该怎样设置第一维度的左右对象。很显而易见的是抛开 \(q\) 限制而言,我们着眼于,如何让双方互相看到的严格条件转化为只需要关注单体看见。考虑什么情况下只需要一方看到对方,对 ......
题解 robots 1045G 1045 CF

P8575 「DTOI-2」星之河 题解

题目链接:星之河 比较经典的偏序问题。区别于强制在线类算法:树套树之类的,对于偏序问题,我们有许多种优秀的离线算法,比如此篇要讲的 cdq 分治。 它更偏向于一种思想,它的思想使得它对偏序类问题,往往都有一种非常好的效果。首先来看一张图。 这是所有算法入门选手都会接触的归并排序的过程图。我们考虑两个 ......
题解 P8575 8575 DTOI

[ABC268E] Chinese Restaurant (Three-Star Version) 题解

[ABC268E] Chinese Restaurant (Three-Star Version) 题解 思路 hzl大佬的神仙思路。 考虑菜对轮数做贡献,可以发现一定是形如 \(0,1,2,...n/2,...0,..\) 之中的一段,研究 \(0,1,2...,n/2,...,0\),可以通过二 ......
题解 Restaurant Three-Star Chinese Version

P9247 [集训队互测 2018] 完美的队列题解

题目链接:[集训队互测 2018] 完美的队列 神仙数据结构题,看了很多题解才搞懂。在做此题之前,最好对分块很熟悉,对各类标记非常熟练。考虑题意说的种类是相对于全局的。我们可以考虑局部影响对全局影响。 人为规定:在第 \(m+1\) 时刻,无论队列中还有无元素,我们都把所有队列清空,便于后续的描述 ......
集训队 题解 队列 P9247 9247

百度之星2023决赛简要题解

A 找矩阵 #include<bits/stdc++.h> #define I using #define love namespace #define Elaina std I love Elaina; const int N=3010; int read(){ int x=0,f=1; char ......
题解 简要 2023

CF1392H ZS Shuffles Cards 题解

题目链接 点击打开链接 题目解法 很牛逼的概率题,参考了题解区 定义取到鬼牌,重新洗牌,为一轮 则 \(ans=E(\)轮数\()\times E(\)这一轮取到鬼牌的期望步数\()\),轮数为在 \(S=\{1,...,n\}\) 之前取到鬼牌的次数 先计算 \(E(\)这一轮取到鬼牌的期望步数\ ......
题解 Shuffles 1392H Cards 1392

CF295B Greg and Graph 题解 floyd性质题

题目链接:https://codeforces.com/problemset/problem/295/B 题目描述可参见 洛谷 解题思路完全来自 aiiYuu巨佬的博客 一道很好地利用了 floyd 算法性质的题目。 floyd算法 示例程序: #include <bits/stdc++.h> us ......
题解 性质 Graph floyd 295B

1.3模拟赛 T2题解

题目大意 有一个矩形,上面有若干个关键点,每次随机一个相邻的位置,问全部关键点被选取的期望时间 思路 设每个关键点被选取的时间为 \(t_i\) ,则答案就为 \(E(max(t_i))\) 然后我们发现 \(E(min(t_i))\) 是好求的,只需要保证在此之前全部都不被选即可,所以可以 \(m ......
模拟赛 题解 1.3

1.3模拟赛 T1题解

题意 给一棵树,带点权(可为负),单点修改,求直径,求过某一点的直径 \((n<=100000)\) 思路 发现强制过某一点,可以转化为单点改成正无穷,求直径 于是就只用考虑单点修改求直径 考虑点分树,在每个重心维护到他的最长链,和不同子树中的次长链,全部答案取个max即可(但是被卡常) code ......
模拟赛 题解 1.3

P4402 [Cerc2007] robotic sort 机械排序题解

题目链接:[Cerc2007] robotic sort 机械排序 前置知识点:文艺平衡树 具体的我们会将序号下标作为平衡树的键值,这样一来每个节点其实就是数组中的每个位置,又因为这个位置是具有有序性的,所以我要找某个位置的当前值是可以在树上二分出来的,同时考虑平衡树的一段子树打翻转标记,交换左右子 ......
题解 robotic 机械 P4402 4402

CF1905F Field Should Not Be Empty题解

题目链接:https://codeforces.com/contest/1905/problem/F 题意简述 对一个排列 \(p\),一个下标 \(x\) 被称作“好下标”当且仅当 \(\forall y < x\) 满足 \(p_y < p_x\),且 \(\forall y> x\) 满足 \ ......
题解 Should 1905F Field Empty

[CF594D] REQ 题解

[CF594D] REQ 题解 思路 用欧拉函数的公式来求解,可以发现,对于每一个质因数都只会做一次贡献,然后是区间查询,联想到 HH的项链 一题,考虑离线询问,按右端点排序,在树状数组里面维护最靠右的质因数的位置做贡献,然后区间积一下就有了。 注意质因数分解暴力做根号应该会爆,可以筛质数之后对质数 ......
题解 594D 594 REQ CF

CF676C 题解

使用尺取法(双指针法)。 由于字符种类只有 \(2\) 种,答案一定是全 a 或全 b。 情况 \(1\):全 a 快指针循环移动,并统计字符 b 的数量 \(cntb\),直到 \(cntb\) 即将超过 \(k\)。 情况 \(2\):全 b 同上。 答案即为两种情况取到的最大值。 AC cod ......
题解 676C 676 CF

洛谷P3101 题解

输入格式 第 \(1\) 行,三个整数 \(m,n,t\)。 第 \(2\) 到 \(m+1\) 行,\(m\) 个整数,表示海拔高度。 第 \(2+m\) 到 \(2m+1\) 行,\(m\) 个整数。第 \(i\) 行,第 \(j\) 个整数表示 \(i,j\) 是否为起点。 输出格式 所有起点 ......
题解 P3101 3101
共3455篇  :5/116页 首页上一页5下一页尾页