#2 2023.10.14
用 .xlsx 来记真是太傻逼了。换个 .md 来记。
256. xsy5244 数数 (calc)
打个表嬴麻了。
257. xsy5255 树树(tree)
长剖推推推,差分一下过了。
258. xsy5256 数树(graph)
按照值域分块,每个块记最前最后两个点。过了。
259. pjudge21792 【NOIP Round #6】抉择
不会做。考虑乱搞!
设 表示前 个数,最后一个选的数是 的权值。记 ,发现对于 的 其实可以直接扔掉。写了这个玩意,跑得飞快。
然后 fst 了(草)。发现是忘记判 的转移了。无能狂怒。
260. pjudge21793 【NOIP Round #6】重生
每个任务拆成两种思考。当场二分答案。然后发现是贪心地思考能思考的东西里权值最大的。
261. pjudge21794 【NOIP Round #6】遍历
圆方树板子题。
262. pjudge21795 【NOIP Round #6】排序
考虑如何 sort 一个 01 序列。先把相邻的同色块合并。注意到一次操作之后倒过来看,相当于区间 reverse。0101010101 这个东西,按照 2|1|2|1|2|1... 分段,所以 01|0|10|1|01|0|1 -> 1000111001,每次连续段会除以 3。做完了。
263. arc167c MST on Line++
不会做!身败名裂。
考虑计算 的贡献,就是选 个 0,然后对于每个 0 之间的空位,长度 的话贡献减一。那就枚举 ,声称 是 0,这一对的贡献就是 。
264. arc167d Good Permutation
从小往大扫。考虑第 个,找到最小的和它不在同一个环的点 。如果 ,就 。否则如果第 个所在的环有且仅有 ,也要 。
265. arc167e One Square in a Triangle
神仙构造。首先几个小的 不合法判掉(?。
考虑 是偶数的情况,取个以 为底的三角形,这是容易的。
考虑 是奇数的情况。令 。 则构造 ,这个三角形。考虑合法的正方形 。 显然无解。 有个 。注意到 在三角形的边上,所以 也无解。
266. lg9746 「KDOI-06-S」合并序列
记 表示 这个区间能不能缩成一个点。
。
设 表示最大的 ,使得存在 。
对于固定的 ,枚举 。发现这相当于要找看 里能不能找到 。那记个 表示最大的 。每次算完 之后顺便更新一下即可。
267. cf1868d Flower-like Pseudotree
想题的时候神志不清,当场暴毙。。
首先特判掉一些平凡的情况。比如是不是一个大环之类的。
扔掉所有叶子,然后假装环的长度是 2,把 deg 最大的两个点当作环点,变成两条链。发现如果链长度相等就做完了。链长度不相等考虑把多出来的那个点扔上去。发现扔不上去只有 种情况。大力分讨就行了。
268.cf1864g Magic Square
考虑如果有两行移动了且移动距离相等,并且有一列移动了,则一定不合法。交换行列同理。
对于每一行,如果有数操作完行不变,这一行的移动距离只能是列的变化量。如果没有数操作完行不变,说明每一列都移动了,和上面矛盾。
那就对于当前局面,发现会有若干个合法的行或列,并且行和列只能存在一种。同时有就非法了。那就把答案乘上 。合法行的定义是转完之后,每个元素的列到了目标位置。行和列只能存在一种的证明是容易的,考虑交点即可。
269. xsy5247 树数(greedy)
鉴定完毕,不太想写。
考虑操作 2 怎么做。
假装 在 子树里面。记 表示 和 的所有轻子树里到 的最小距离。枚举 这条重链上的每个点 ,往里的答案就是 。所以记 ,维护 即可。往外的答案可以通过维护 计算。维护 即可。
在外面的是容易的。发现操作 3 跟上面的讨论没啥区别。不管了。
考虑 。每条重链 的是重链的一个前缀。非常好维护啊.jpeg。然后有 的 需要处理,非常好维护啊.jpeg。
270. cf1731f Function Sum
非常傻逼的一个题。直接枚举每个点,权值,左右两边的信息。是个多项式,随便插插就搞定了。
271. cf623d Birthday
有点意思。
设 是第 时刻依然存活的概率。答案就是 。
注意到 ,其中 是这个人被抓的次数。发现每次选最优的人抓必然不劣。暴力模拟 轮即可。
272. cf923d Perpetual Subtraction
把式子写出来,发现是线性变换的形式,大概是要把一个上三角矩阵对角化。上三角矩阵的特征值就等于对角线上的值。所以特征向量可以直接 大力求出来。然后你发现 的 和 都非常好看,就做完了(?。
273. cf1427g One Billion Shades of Grey
感觉比较牛逼。
第一个思路是假装这东西是 的保序回归!所以还是可以整体二分。至于向 取整的证明,感觉不是很会证,也懒得看题解了,假装它是对的!
第二个思路是假装上面向 取整是对的。假装它是 01 序列,每个值都 01 一下就做完了。发现 次 的图都差不多,所以可以暴力退流降一下复杂度。
274. 浅谈保序回归问题 高睿泉
我来写个阉割版的学习过程!
前面的若干东西咕了。
保序回归的定义:有一个 DAG(*), 表示 。对每个点有 要求最小化 ,其中 。
*:我也不太确定是不是一定要 DAG。感觉有些情况下不是 DAG 也能做(?)。有无懂哥指导一下。
称数列向 取整,即小于 的变成 ,大于 的变成 。记 为满足 最小时的 的取值。在 的情况下, 是一个区间。在 的情况下, 是一个点。
引理:我们声称,对于一个区间 ,如果不存在集合 使 ,且存在原问题的答案序列 满足均不在 内,则 向 取整后等于令 的答案。证明可以使用若干调整和反证法!我不会证!我感性理解。
然后注意到, 时, 总是满足上述条件。就可以快乐二分了!
注意到,上述引理是成立的。但是要找个合适的区间。因为 构成的数集是稀疏的,可以取常见的区间 。此时分别计算 的权值和 的权值。同除 之后发现就是原函数在 处的导数。至于 的条件可以看作 ,可以最小权闭合子图实现。这样可以求得原问题的 实数 解。
的整数解
假装我们现在正在进行 。
当 的时候,我们可以用上述算法递归 和 。
当 是容易的。
当 时,不能使用上述算法!但是此时只有两种取值,所以也可以做一个最小权闭合子图,这样就做完了。
要求最小化 ,同样有 的偏序关系。
可以当场二分答案,然后做个 上 ,是 的。
后面的部分咕了。
275. loj #3301. 「联合省选 2020 A」魔法商店
我草来活了。
看一眼,发现价格最低的限制相当于以 做基,然后对于 ,连边 。价格最高同理。
那就是裸的 的保序回归。
276. cf1615h Reindeer Games
尼玛,这位更是重量级。
277. cf1854e Game Bundles
没猜错的话,大概是随若干个值很小的,和等于 30 的数。前面大力做背包。然后后面放 > 30 的数。
猜对了。
278. pjudge21739 【NOIP Round #5】青鱼和序列
把整个序列看作 01 序列,0 代表正的 ,1 代表反的。
发现要么全是 0,要么 0 和 1 数量相等。直接算就行了。
279. pjudge21740 【NOIP Round #5】青鱼和怪兽
大概暴力转移会成环。那就二分答案,设 ,看最后自己能不能更新自己。
280. pjudge21741 【NOIP Round #5】青鱼和区间
草怎么没做出来。
设覆盖 的集合是 ,问题转化成不能有 。
考虑第一个没被选进区间的 ,找到一个最右的 满足 ,把 看作一个子区间。假装这样可以搞出 个区间,贡献就是内部瞎选乘上 。
背包即可。
281. cf1838f Stuck Conveyor
假装我们已经找到了问题点的方向,那就可以很简单地 次操作找出它的位置。
用 次询问找到方向是容易的。可能会有点 corner case,不管了。
282. cf1781g Diverse Coloring
不会做呜呜呜呜呜呜呜呜。
声称除了四个点的菊花图,其余所有树的答案都是 。
考虑构造。链和点数 是容易的。否则以某个三度点为根,记 表示 子树内,另外一种颜色减去 的颜色的个数。对于不是根的点,容易做到 。
接下来暴力合并 ,枚举 的每个可能的儿子的状态,发现把 卡进 是相对容易的。其中有一种情况需要反转一条链。不过不重要!那就做完了。
283. pjudge21622 【ExPR #1】守卫 2
可以看出,每个点的答案,就是以它为根,进行某种直链剖分,最后前 长的链距离和。所以一个点的最优解是它的长链剖分。
考虑以直径的两端分别 dfs,最后答案取 max。钦定 有一条链通向 。考虑 的变化,按照 是否是 的长儿子讨论,只会加入/删除 条链,所以做完了。
题解看起来只用 dfs 一次,看起来和我差不多,但不钦点 有 的链。换根的时候讨论一下就行。
284. pjudge21620 【ExPR #1】下降
草怎么还是不会。
考虑描述下降的过程。发现是从后往前扫,记录一个 数组。扫到 的时候,找到 的第一个 的位置 ,那么这个位置最终就会是 。如果 ,就把 复制成 。
考虑如何 dp。设 表示当前从后往前扫完 , 数组最底下的连续段长度恰好是 的方案数。假装我们不区分每个数的第一次和第二次出现。设 前面有 个非 0, 个 0。
扫到一个 0 的时候,。因为不区分第一次和第二次出现,所以最后一段共有 个空位,然后前面有 个数已经填了。
扫到一个 1 的时候,考虑这个数是否会让 变化。如果不变,就是随便扔到上面去,。否则枚举 ,。 是选 个数,恰好填满 个连续的格子的方案数。
285. pjudge21614 【PR #1】守卫
怎么又不会。自闭了。
只有最小生成树上的边有用。从大到小尝试删边,合法性用 flow 判断。然后就对了。困了不想写了。
286. cf1034d Intervals of Intervals
绷。二分,考虑求出 的线段数。考虑用 set 维护线段。扫描线,一个线段 覆盖旧的线段 ,意味着 的贡献 += 线段长度。然后双指针即可。
287. cf1845e Boxes and Balls
傻逼题。0 看作 -1。发现前缀和的差至多是根号。暴力 dp 即可。
288. cf870f Paths
发现有且仅有 1 和 的质数不能被到达。
一步到达的大概是 。
两步能到达的是 。枚举 和 计算即可。
三步一定能到达,因为 。
代码懒得写了。
289. cf1083f The Fair Nut and Amusing Xor
什么答辩题。考虑令 。发现一次操作就是 和 同时异或 。那就模 分段,相当于问有多少个点的前缀 是 0。值域很小,分块瞎搞搞就做完了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端