题解1203 div cf
CF842A Kirill And The Game
如果考虑 \([x,y]\) 中什么位置能乘到 \([l,r]\) 就比较麻烦,简单的做法是考虑 \(l\) 和 \(r\) 对应到 \([x,y]\) 中的位置。左边界至少是 \(\frac{l-1}{k}+1\),右边界至多是 \(\frac{r}{k}\),判断一下与 \([x,y]\) 是否 ......
CF1467B Hills And Valleys
修改一座山可能改变其两侧山的类型。贪心地考虑,要么是修改成其左侧山的高度要么是修改成其右侧山的高度,这样能够在使得当前山不成为山峰和山谷的同时让两侧的山尽可能不成为山峰和山谷。如果不在左右两座山高度之间,那一定是山峰或者山谷,修改后肯定不劣。 修改第一座山或最后一座山也是无意义的,完全可以修改第二座 ......
# [Codeforces Round 898 (Div. 4)] E. Building an Aquarium
Codeforces Round 898 (Div. 4) E. Building an Aquarium You love fish, that's why you have decided to build an aquarium. You have a piece of coral made ......
CF49E 题解
problem & blog。 提供一个逻辑顺畅的思路(然而做法相同的)。 手玩样例,Sample1 是 \(\texttt{ac}\to[\texttt{a}][\texttt{baba}]\) 与 \([\texttt{a}][\texttt{ba}]\)。很显然样例有分段性质,所以 DP,\( ......
9.20模拟赛T3题解【限时公开,阅后即焚】
考场做法。 复杂度是优美的\(\Theta(n^2 \log n)\)。 强烈谴责高复杂度碾标算行为 考虑一个观察:对于一个左上角 \((x, y)\) ,如果我们确定了它的边长一个区间 \([L,R]\),使得这个区间内 至少存在 \(k\) 行 \(k\) 列1,(可能还有一些多余的1),那么我 ......
[题解] CF1873H - Mad City
CF1873H - Mad City 知识点:基环树找环 题意 给定一张具有 \(n\) 个点 \(n\) 条边的无向图。现在有两个人,第一个人在 \(a\) 点,第二个人在 \(b\) 点,第一个人要追到第二个人。 两个人每一回合都同时进行操作,要么停留在当前位置,要么走邻接的下一个点。同时,第一 ......
NOIP2023-div2模拟赛4
2023.9.22 期望得分:\(100+100+50+0\) 实际得分:\(100+100+50+0\) A. 整数 我们把每一个实数转化成分数。因为小数位不超过 \(9\) 位,所以实数乘上 \(10^9\) 一定变成了一个实数,可以将一个实数 \(x\) 表示成 \(\dfrac{x \tim ......
题解 P8670 [蓝桥杯 2018 国 B] 矩阵求和
题目描述 \[\sum_{i=1}^n \sum_{j=1}^n \gcd(i,j)^2 \]具体思路 solution 1 显然可以每次枚举 \(\gcd(i,j)\) 的取值。 \[\sum_{k=1}^n k^2 \sum_{i=1}^n \sum_{j=1}^n [\gcd(i,j)=k] ......
Codeforces Round 898 (Div. 4)
Codeforces Round 898 (Div. 4) A Short Sort 直接枚举许所有情况即可 /* * * Author: north_h * Time: 2023-09-21 22:35:49 * * Problem: A. Short Sort * Contest: Codefo ......
Codeforces Round 898 (Div. 4)
Codeforces Round 898 (Div. 4) A. Short Sort 解题思路: 遍历所有交换情况,看是否有\(abc\). 代码: #include <bits/stdc++.h> using namespace std; using ll = long long; const ......
CF38H 题解
problem & blog。 远古场翻到的一个不错的题,提供一个好想很多的做法。 求出任意两点的路径在全部路径中是第几个。然后随便找两个人,钦定他们是 Au 吊车尾与 Cu Rank1。这样子就可以直接求出全部人可以是否可以拿 Au Ag Cu 了。 然后就是傻子 DP 了,往状态里塞 Au 与 ......
MUH and Cube Walls 题解
MUH and Cube Walls 前言 怎么题解区同质化这么严重,16 篇题解全是 差分 + KMP,就没有人写别的做法吗。 (好吧其实是我一开始没想到差分才有了这么多奇怪做法) 题目大意 给定两个序列 \(a,b\),求 \(b\) 在 \(a\) 中出现了多少次。 我们定义 \(b\) 在 ......
CF1873F
二分+前缀和。 要求使得区间和小于 \(k\) 的子区间长度,显然可以二分处理。二分区间长度,枚举区间左端点,check 两项内容:区间是否合法(符合 \(h_i \mod h_{i+1}=0\) ),区间和是否小于 \(k\)。对于当前区间长度,只要有一个区间满足条件,即返回真。 区间和可以通过前 ......
P1417 烹调方案 题解&贪心杂谈
## _Description_
一共有 $n$ 个食物,每个食物有3个属性,分别为 $a,b,c$,其中 $c$ 表示做这道菜的耗时。
一个食物的贡献为 $a-b\times t$,其中 $t$ 表示做完这道菜的总耗时,求在 $T$ 个单位时间内,最多能产生多少贡献 ......
CF1738F Connectivity Addicts
题目链接 这类题着重于抓住充分条件进行构造。 解决这道题,就得抓住题目中最为特殊的条件:\(s_c\leq {n_c}^2\)。我们不难找出一种关于它的充分条件:\(\max_{u\in S_c}d_u\leq n_c\)。 尝试在此充分条件下设计构造方法:不妨按照 \(d_u\) 进行排序,之后从 ......
CF797E Array Queries
这种位置弄来弄去的题一般就分两种,倍增预处理或者根号分治。 现在步长种类很多,只能考虑后者,对步长 \(k\) 进行根号分治: \(k>\sqrt n\),直接暴力,最多跳 \(O(\sqrt n)\) 次。 \(k<\sqrt n\),最多有 \(O(\sqrt n)\) 种 \(k\),预处理它 ......
容斥原理应用Acwing890借鉴题解
参考文献 简单的容斥原理介绍请看下图: C++ 代码 简单的容斥原理介绍请看下图: 本题思路: 将题目所给出的m个数可以看成是m位的二进制数,例如 当p[N]={2,3}时,此时会有01,10,11三种情况 而二进制的第零位表示的是p[0]上面的数字2,第1位表示p[1]上面的数字3 所以当i=1时 ......
CF1872E Data Structures Fan
考查异或的基本性质。 对于操作2,用两个变量 \(X_0,X_1\) 记录 \(s_i=0/1\) 位置的异或和,在查询时直接输出即可。那么,在操作 1 如何更新 \(X_0,X_1\)? 如果操作 1 只改变一个数,比如将 \(s_i\) 从 \(0\) 改为 \(1\),那么我们只需将 \(a_ ......
CF311B Cats Transport
原题 翻译 感谢\(xjk\)大佬推荐的好题 这里只说前半部分的转化,后半部分直接暴力\(dp\)+斜率优化即可 我们考虑如何朴素\(dp\),我们发现一个猫的要求时间是他结束游玩的时间\(-\)他所在的位置,及\(T_i - D_{H_i}\) 我们把猫咪按照\(T_i - D_{H_i}\)从小 ......
CodeTON Round 6 (Div. 1 + Div. 2, Rated, Prizes!)
Preface 这场因为晚上去做大物实验了,到寝室洗完澡都11点了,就没现场打了的说 后面补题发现前5题都很一眼,虽然补题的时候E题FST了(T在了42个点,如果放在比赛就FST了),F题还是很有意思的一个题目的说 A. MEXanized Array 简单讨论一下即可 #include<cstdi ......
题解 ARC141D【Non-divisible Set】
这个题不是网络流。 problem 我们说一个集合 \(D\) 是一个好的集合,当不存在集合中的两个不同元素 \(a,b\) 使得 \(a\) 是 \(b\) 的约数。 给定 \(N\) 个整数的一个集合 \(S\),值域均落在 \([1, 2*M]\) 内。 对 \(S\) 中的每个元素 \(A_ ......
Little Victor and Set 题解
Little Victor and Set 题目大意 在 \([l,r]\) 中选不超过 \(k\) 个相异的数使得异或和最小,输出方案。 思路分析 分类讨论: 当 \(k=1\) 时: 显然选 \(l\) 是最优的。 当 \(r-l+1\le 10\) 时: 直接 \(O(n2^n)\) 暴力枚举 ......
CF1805D A Wide, Wide Graph
原题 翻译 如果距离越长越优的题要考虑树的直径 我们发现这题对于一个\(k\),我们对于每个点,让他从最远的点连过来得到的图的连通性等价于原图的连通性 而对于一个点最远的点就是他到直径两个端点的距离 因此我们求出树的直径,然后对于两个端点\(dfs\),求出他们的深度,对于每个点,距离他们最远的距离 ......
CF671D Roads in Yusland
1D8 ya。 设 \(f_{u,i}\) 表示覆盖了 \(u\) 子树并且向上覆盖到了深度为 \(i\) 的最小代价。 考虑合并儿子 \(v\): \[f'_{u,i}\gets \min\left(f_{u,i}+\min\limits_{j=1}^nf_{v,j},f_{v,i}+\min\l ......
题解 P9019 [USACO23JAN] Tractor Paths P
显然,对于给定的 \(l,r\),最短路可以贪心求出,即每次走与当前区间相交且左端点最大的区间,这个可以用倍增加速。 定义 \(f_{i,j}\) 表示从区间 \(i\) 往右走 \(j\) 步后到达的区间,\(g_{i,j}\) 表示往左走的情况。 正反遍历一下即可求出 \(f_{i,1}\) 和 ......
To_Heart—题解——不算很少!
1.AGC061C link && submission 很神仙的一道题。先考虑所有的人都选择 \(a_i\) 时刻登记。那么对于一个人来说他变成 \(b_i\) 的时会增加贡献当且仅当 \([a_i,b_i]\) 之间有其他人被登记。 定义 \(C\) 数组, \(C_i\) 为 0 表示第 \( ......
To_Heart—题解——好多好多!
很多时候它们只是路过我的天空变化出许多场景让我哭了笑了不用再说。有好多多的题,多的 trick 你不在我脑子里。 ......
P3958 [NOIP2017 提高组] 奶酪 - 洛谷题解
题目链接 :[P3958] NOIP2017 提高组] 奶酪 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 这道题可以用并查集求解,我参考了一些大佬的题解,判断底层和顶层是否连通的条件可以为 find(0) == find(n + 1) 其中0为底层,n+1为顶层。 #inclu ......
题解 P8905 [USACO22DEC] Strongest Friendship Group G
显然不同连通块互不影响,答案分开算。 对于当前连通块,假如我们希望所选的子图中最小的度数为 \(x\),那么只需要保留度数大于等于 \(x\) 的所有点,然后将这些点能连的边连上,再保留其中度数合法的,以此类推,最后剩下的点数就是子图最大的大小。 这些操作就相当于,对于当前图,如果度数最小的点不满足 ......