蓝桥 题解2017

[ARC143D] Bridges 题解

[ARC143D] Bridges 题意:给定 \(2n\) 个点和 \((u_1,v_1) , \cdots , (u_m,v_m)\),选择让 \(u_i\) 连 \(v_i+n\) 或 \(v_i\) 连 \(u_i+n\),以最小化图中桥的个数。 有种技巧叫拆点,把一个点拆成入点和出点,看这 ......
题解 Bridges 143D ARC 143

洛谷P5444 [APIO2019] 奇怪装置 题解

奇怪装置 找到循环就很简单了。 很显然 \(y\) 是每 \(B\) 次一循环的,对于每个相邻的 \(y\) 循环 \(x\) 的值均相差 \(B+1(\bmod A)\)。 因此总的循环就是 \(B+1\) 对于 \(A\) 的循环乘上 \(B\)。 即 \(\frac{A}{\gcd(A,B+1 ......
题解 装置 P5444 5444 2019

CF1178F1 Short Colorful Strip 题解

Short Colorful Strip 考虑设 \(f[i,j]\) 表示:假设区间 \([i,j]\) 里面一开始所有格子的颜色都是相同的,那么,染成目标状态共有多少种染法。 我们找到 \([i,j]\) 中最小的那个颜色,设为 \(mp\)。则显然,我们下一步要染上 \(mp\) 这种颜色。 ......
题解 Colorful 1178F Short Strip

洛谷P4158 [SCOI2009] 粉刷匠 题解

所有的 \(DP\) ,只要式子一推出来(不管复杂度),那就很简单了,因为优化是成千上万种的…… 思路1: 我们考虑设 \(f[i][j][k]\) 表示:当前 \(DP\) 到第 \(i\) 块木板的第 \(j\) 个位置,共涂了 \(k\) 次,所能获得的最大收益。因为还要枚举当前这次涂是从哪到 ......
题解 P4158 4158 2009 SCOI

洛谷P3300 [SDOI2013] 城市规划 题解

[SDOI2013] 城市规划 题意:给你一个 \(6 \times n\) 的网格题,单点修改,询问区间联通块数,\(n \le 10^5\)。 解:看起来就很显然的一道题......线段树每个点用一个 ufs 维护连通性; 我为了方便思考把图转成横着的了。 写起来真是毒瘤...... 重点在于: ......
题解 城市规划 城市 P3300 3300

【ABC320C】题解

AtCoder Beginner Contest 320 Problem C - Slot Strategy 2 (Easy) 题解 题目简述 给定 \(3\) 个长度为 \(m\) 的转盘,转动过后三个转盘分别可以在不同的时间停下,求停下时所有转盘都显示相同数字的最小时间。 思路 由于这题 \(m ......
题解 320C ABC 320

【ABC320D】题解

AtCoder Beginner Contest 320 Problem D - Relative Position 题解 题目保证不矛盾,就可以直接 vector 建图,然后 dfs 一遍,边权为 \((w_x,w_y)\) 表示坐标的差,从 \(u=1\) 开始搜索,设点 \(u,v\) 有一条 ......
题解 320D ABC 320

题解 Frog 3

题目描述 将一个序列分成若干段,每一段的价值为 \((h_i-h_j)^2+C\),求价值和的最小值。 具体思路 设 \(f_i\) 表示前 \(i\) 个数分成若干段的价值和的最小值,并且 \(j+1 \sim i\) 被分成了一段。 那么 \(f_i\) 的状态应该由 \(f_j\) 转移过来。 ......
题解 Frog

【题解】Fibonacci-ish II

传送门 题目分析 根据题目范围 \(n\le 30000\) 并且此题可以离线维护这个很恶心的东西,所以我们考虑莫队。由于要求访问到任意一个区间都要求知道它有序之后的序列,所以这个东西可以用权值线段树维护。因此,此题正解是莫队+权值线段树。 我们分类讨论一下加上一个数,删除一个数对答案的影响。 加上 ......
题解 Fibonacci-ish Fibonacci ish II

题解 P3894【[GDOI2014] 传送】

难倒不难,128MB 的空间限制快恶心死我了。 我们设 \(d_{u_0,u_1}\) 表示到节点 \((u_0,u_1)\) 距离最近的叶子的距离,这个可以很容易换根 DP 求出。设 \(p_{u_0}\) 表示树 \(u_0\) 中距离最近的两个叶子的距离。设 \(dis(u_0,u_1,v_0 ......
题解 P3894 3894 2014 GDOI

【ABC322C】题解

AtCoder Beginner Contest 322 Problem C - Festival 题解 Meaning - 题意简述 给定 \(N\) 和 \(M\),还有 \(M\) 个正整数 \(a_1 \sim a_n\),对于每个 \(i \le n\),求出 \(a\) 中第一个大于等于 ......
题解 322C ABC 322

P1220 关路灯 题解

Description 给定 \(n\) 个点的位置 \(a_i\) 和每秒的花费 \(b_i\),你的初始位置是 \(s\),你删掉一个点的时间为 \(0\) 秒,走 \(1\) 个单位长度的时间是 \(1\) 秒。请你确定一种关灯顺序,使得所有点的最终花费最小(删掉点后这个点不会再花费)。 So ......
题解 路灯 P1220 1220

【ABC322D】题解

AtCoder Beginner Contest 322 Problem D - Polyomino 题解 Meaning - 题意简述 给定三个字符矩阵,求它们能不能拼在一起变成一个 \(4 \times 4\) 的全部是 # 的矩阵。 Solution - 题解思路 大模拟。说简单也不简单,很复 ......
题解 322D ABC 322

【LG-P7617】题解

题解 思路 不用关心每个数的每一位是什么、哪几位相同,我们只需记录每个数出现了哪几个数字,可以使用类似于状态压缩的思想记录每个数的状压形式,比如一个数为 \((4)_{10}\),那么他的状态压缩形式为 \((00001)_2\)。 当两个数在状态压缩表示下有一位相同,我们就认为这两个数是一对,每个 ......
题解 LG-P 7617 LG

汉诺塔(河内塔)题解

汉诺塔(河内塔)题解 我们定义 \(T_n\) 为根据规则将 \(n\) 个圆盘从一根柱子移动到另一根柱子的最少移动步数,按照这样的定义,本道题的答案实际上就是 \(T_n\)。 通过手动模拟,可得到 \(T_1=1,T_2=3\)。同时显然有 \(T_0=0\),即表示 \(0\) 个圆盘根本无需 ......
题解

一些水题的题解。

快退役了我都不知道自己还能写几条博客就写着玩玩把反正也算不上浪费时间既能经验++也能陶冶身心放松精神我觉得挺好的你说对吧 ......
题解

CF1142D Foreigner题解

CF1142D Foreigner题解 前言: 题目含义真的好难理解呜呜。 遇到的 dp 套 dp 的第三题,所以深入进行了理解。 参考博文:https://www.cnblogs.com/AWhiteWall/p/16479483.html 题意简化: 先定义了不充分。 首先数字 $[1,9]$ ......
题解 Foreigner 1142D 1142 CF

题解 CF457F 【An easy problem about trees】

尝试理解,感谢 cz_xuyixuan 的题解。 算作是很多情况的补充说明。 我们不妨先二分答案,将 \(\ge mid\) 的设为 \(1\),\(<mid\) 的设为 \(0\),于是问题转化为了权值均为 \(0/1\) 的版本。 我们称一棵树的大小为其非叶节点数。 我们称一棵大小为奇数的树为奇 ......
题解 problem about trees 457F

P6631 [ZJOI2020] 序列题解

难度:困难 主要算法:贪心 题目链接:https://www.luogu.com.cn/problem/P6631 解题思路 简化问题:定义直线为覆盖ai,ai+1,ai+2 的操作,跳线为覆盖ai,ai+2,ai+4的操作。题意简化为使用一些直线和一些跳线使每个位置被覆盖正好ai次。 小范围思考: ......
题解 序列 P6631 6631 2020

题解 - CF1972E - Divisors and Table

这题正解是虚树,本解法卡常,仅适合不会虚树的。(例如本人) 注意:下文中根节点深度定义为 1 . 第一步: 转化问题 我们把 $ g(x,y,z) $ 拆开,考虑每个质数是哪些点的因子。 包含这个质数的点构成一个点集,我们只需求这个点集 S 的 $ \sum\limits_{x,y,z\in S } ......
题解 Divisors 1972E Table 1972

【题解】CodeForces-1876/1877

CodeForces-1877A Goals of Victory 答案是 \(-\sum_{i=1}^{n-1} a_i\)。 提交记录:Submission - CodeForces CodeForces-1876A Helmets in Night Light 按 \(b_i\) 排序,贪心取 ......
题解 CodeForces 1876 1877

P4801题解

解题思路: 确实是一道很好的贪心,但由于加上了水这个影响因素,使题目复杂度上升了不少。(考虑的东西多了嘛) 输个入。 对饼干温度无脑排序。 求最小值。 求最大值(用双指针做,后面会讲)。 解题过程: 先输入(这个步骤就不用我讲了) int a[1000005]; long long n,ws; lo ......
题解 P4801 4801

CF1877 Div2 A-E 题解

A 显然 \(n\) 个队的得分之和为 \(0\),因此答案为这 \(n-1\) 个数的和的相反数。 赛时代码 B 小贪心。 将所有人按 \(b\) 升序排序,\(b\) 相同时按 \(a\) 降序,对每个人按 \(b\) 进行分类讨论: 若 \(b< p\),那么我们一定要选这个人,因为选了这个人 ......
题解 1877 Div2 A-E Div

P4652 [CEOI2017] One-Way Streets

P4652 [CEOI2017] One-Way Streets 基础图论。 题目中是关于无向图边方向的问题,而边双有一个优秀的性质:边双内的任意两点间至少有两条不经过同样的边的路径,因此对于边双内的边无论有没有题目中 \(x\) 能走到 \(y\) 的限制,它的方向都是不能确定的,因此首先边双缩点 ......
One-Way Streets P4652 4652 2017

AtCoder Regular Contest 166 AB题题解

A - Replace C or Swap AB 个人感觉挺有意思的一道思维题(好久没做思维题了,竟然卡了一个小时)。 除去C不看,我们发现X序列中的A只能向后移动,B只能向前移动,且可以移动任意次数。 所以假如没有C的话,做法是这样的: 从前往后分别统计X和Y序列中的A的数目,若某一时刻发现X中A ......
题解 AtCoder Regular Contest 166

Codeforces Round 902 (Div. 2) (CF1877) B、C、D 题解

B 题目大意 你要传话给 \(n\) 个人,每传一下话需要花费 \(p\) ,当一个人被传话后,他可以最多传给 \(a_i\) 个人,每次花费 \(b_i\) 。问把话传给 \(n\) 个人的最小花费。 分析 首先传给第一个人只少要 \(p\) 下来贪心,每次让花费最小、且能够传话的人去传话。 考虑 ......
题解 Codeforces Round 1877 902

题解 尼克的任务

有一种和题解区完全不同的做法。 首先将所有任务按照时间从小到大排序,接着用 \(f_i\) 表示处理前 \(i\) 个任务所能得到的最大空闲时间。 回顾一下需要满足的条件:再某个有任务的时刻,如果尼克是空闲的,就必须从中选择一个任务做。那么我们对于第 \(i\) 个任务,枚举上一个做的任务 \(j\ ......
题解 任务

P7710 [Ynoi2077] stdmxeypz 题解

P7710 [Ynoi2077] stdmxeypz 题解 我的第一道 Ynoi 题,体验感不高,调了大半天,最后发现有个地方 \(B_1\) 写成 \(B_2\) 了。 分析 树上问题,明显是要转到树下的,所以 DFS 序是一定要求的。 有关树上距离,所以 \(deep\) 数组也是一定要求的。 ......
题解 stdmxeypz P7710 7710 2077

「Round C10 B」间隔 题解

简要题意 本题有 \(T\) 组数据。 给定一个由 \(n\) 个元素构成的正整数数列 \(a_1,a_2,a_3...a_{n-1},a_n\)。 问至少需要插入多少个整数才能使得 \(a\) 的各相邻元素之差相等(不能插入在头尾)。 \(a\) 数列保证是单调不减的。 \(1 \le n \le ......
题解 Round C10 10

题解 ARC142E【Pairing Wizards】

problem 给定 \(n\) 个元素,每个元素有两个属性 \(a_i, b_i\)。 你可以花费 1 的代价使得其中一个元素的 \(a\) 属性 +1。 问最少多少代价,可以使得给定的 \(m\) 组 \((i,j)\) 关系符合: 要么满足 \(a_i >= b_i \land a_j >= ......
题解 Pairing Wizards 142E ARC