cf

「杂题乱刷」CF1620E

一道好题。 题目链接 考虑离线操作。 我们可以设 \(a_i\) 为当前 \(i\) 表示的数字,然后直接倒序操作,运用并查集的思想,可以 \(O(n)\) 通过此题。 参考代码: #include<bits/stdc++.h> using namespace std; long long n,a[ ......
1620E 1620 CF

CF1481D

考虑二元环 要是二元环相同 那么显然怎么构造都可以了 否则 我们考虑 没有二元环相同 要是m是奇数 我们随便跑跑就行 要是m是偶数 情况呢 我们需要构造一种情况 我们肯定用的点数越少越好 我们考虑三个点 要是两个二元环都是 a 出 或者 b 出的 就可以构造出来了 void solve(){ int ......
1481D 1481 CF

CF1493C

以前写挂了 今天又拿出来写 手玩一下样例发现 我们从高位贪是肯定的 尽可能让该位置和原串一样 然后我们可以枚举该位改成什么字母 然后计算后面的放是否合法 写的很屎 其实就是复制粘贴了一坨 我们先找到 最远的位置可以修改 再修改为最小的即可 void solve(){ int n,k;cin>>n>> ......
1493C 1493 CF

CF1379C

想了好久的策略发现都wa了 后面仔细思考了一下 我们肯定只选一种bi 那我们不妨枚举bi 然后比bi大的ai我们都选 我的写法有点问题 要加特判 其实是可以二分找到大于bi的点 更好写一些 明天吧这个题 和 上一个拓扑的题写一下简单写法 void solve(){ int n,m;cin>>m>>n ......
1379C 1379 CF

CF1385 E

我们发现好像和拓扑序有关 我们做拓扑序的时候 要是一个点没有 有向边出去 或者进来 我们好像可以随意钦定该点其他无向边 要是有 有向边入 和 有向边出 那么肯定寄 有一种就直接钦定为该点其他有向边的方向就可以了 其实 具体实现的时候我们可以直接有向边拓扑序 之后 无向边钦定 由拓扑序小的指向拓扑序大 ......
1385 CF

[CF980D] Perfect Groups 题解

[CF980D] Perfect Groups 题解 思路 第一个观察就很难观察到: \[ab = x^2, bc = y^2\Longrightarrow \exist z, ac = z^2(a, b, c \ne 0) \] 证明: 两个条件式相乘得到: \[ab^2c = x^2y^2\\ ......
题解 Perfect Groups 980D 980

CF1205题解

CF1205 Expected Value Again 首先算 \(\sum f^2(s)\),一个很经典的转化:任选 \(i,j < n\) 满足 \(i,j\) 同时是 border。 摆出几个结论: \(r\) 是 \(s\) 的 border 等价于 \(|s| - r\) 是 \(s\) ......
题解 1205 CF

CF1592F2 Alice and Recoloring 2

题意 给定一个矩阵,有两种颜色 \(W\) 和 \(B\)。 你可以花 \(1\) 的代价反转一个包含 \((1, 1)\) 的矩阵。 你可以花 \(3\) 的代价反转一个包含 \((n, 1)\) 的矩阵。 你可以花 \(4\) 的代价反转一个包含 \((1, m)\) 的矩阵。 你可以花 \(2 ......
Recoloring 1592F Alice 1592 and

CF213E Two Permutation 题解

CF213E Two Permutations 题解 题意: 给出两个排列$a,b $,长度分别为 \(n,m\),你需要计算有多少个 $ x $,使得 \(a_1 + x,a_2 + x,...a_n + x\) 是 \(b\) 的子序列。 \(n \leq m \leq 2 \times 10^ ......
题解 Permutation 213E 213 Two

CF571E Geometric Progressions

CF571E Geometric Progressions 洛谷:CF571E Geometric Progressions Codeforces:CF571E Geometric Progressions Problem 给定 \(n\) 以及 \(n\) 个正整数对 \(a_i, b_i\)。 ......
Progressions Geometric 571E 571 CF

CF301D Yaroslav and Divisors

因为是排列,所以数对总数是调和级数的 \(O(n\log n)\),可以暴力枚举。 容斥,区间左右端点均在 \([l,r]\) 中的数对数量等于左右端点均在 \([1,r]\) 中的数对数量减去左右端点均在 \([1,l-1]\) 中的数对数量,再减去左端点在 \([1,l-1]\) 中且右端点在 ......
Yaroslav Divisors 301D 301 and

CF1500F Cupboards Jumps 题解

题目链接 点击打开链接 题目解法 感觉是一个融合了许多技巧的题,很巧妙 题目要求 \(\max(h_i,h_{i+1},h_{i+2})-\min(h_i,h_{i+1},h_{i+2})=w_i\),这可以转化成另一个只和两项有关的形式为:\(\max(|h_i-h_{i+1}|,|h_i-h_{ ......
题解 Cupboards 1500F Jumps 1500

CF 1612 E

看到k等于20 我们大胆猜测这个选择的个数不会超过20条 枚举我们要选i条 然后计算权值的话 要是大于等于i的k都是算1的 否则就算 k/i 我们按照这个给每一个计算一下权值 选最大的i条即可 void solve(){ int n;cin>>n; vector<int>t[21],cz[21],v ......
1612 CF

[Codeforces] CF1737C Ela and Crickets

CF1737C Ela and Crickets 题意 给定一个 \(n\times n\) 的棋盘,棋盘上有且仅有三颗排成 \(\text{L}\) 形的棋子。 对于 \(\text{L}\) 形的定义,有且仅有以下四种情况: 棋子的移动规则和跳棋相同。它可以水平、垂直或斜向移动。当且仅当一个棋子 ......
Codeforces Crickets 1737C 1737 Ela

[CF839E] Mother of Dragons

最优方案一定是选择一个团,并在团里平均分配点权。 实际上,定义一个点 \(u\) 的权重 \(w_u\) 为 \(\sum\limits_{(u,v)}s_v\),那么如果方案中 \(w_x>w_y\),将 \(y\) 去掉并将其点权加在 \(x\) 上一定更优,所以答案一定会被调整成一个团。 对于 ......
Dragons Mother 839E 839 CF

CF1900D Small GCD

Link 这是一个需要欧拉反演的题目 首先,可以知道只和数字之间的大小有关,数列的顺序无关,那么就可以首先排一个序方便解决该问题。 根据欧拉函数的性质,知道\(n=\sum_{d|n}\phi{(n)}\) 那么我们每次先确定中间的数\(a_j\),然后根据公式,得他它得贡献是\(\sum_{i=1 ......
1900D Small 1900 GCD CF

CF1388D

最开始以为有环 发现没环之后 发现是有负数的 把第三个样例画出来 发现疑似是拓扑序之后要是该点为正肯定 放前面 否则放后面 但是发现好像 有些点为负数的可以通过+变回正的也要放前面 那我们贪心跑一遍即可 void solve(){ int n;cin>>n; vector<int>a(n+1),b( ......
1388D 1388 CF

CF1793C Dora and Search

CF1793C Dora and Search Difficulty:1200 题意翻译 题目描述 给定一个长度为 \(n\) 的排列 \(a\) ,问是否存在正整数 \(l,r\) 使得 \(a_l,a_r\) 均不为 \(a_{l...r}\) 中的最大值或最小值。 输入输出格式 第一行一个正整 ......
Search 1793C 1793 Dora and

CF1368H2 Breadboard Capacity

题面传送门 首先这个是比较经典的最大流:从源点向红点连 \(1\) 流量的边,网格中每条边流量为 \(1\),蓝点向终点连流量为 \(1\) 的边,最大流就是答案。 最大流不好算,我们考虑最小割。最小割相当于给每个点染上红色或者蓝色,要使得两端点异色的边最少。 直接做还是不好做,我们考虑挖掘一点性质 ......
Breadboard Capacity 1368H 1368 CF

CF1253F Cheap Robot

题意 给定一个图,走过一条边的花费为权值,其中有 \(k\) 个充电点。 你需要确定一个电量的上限,使得满足从 \(a\) 走到 \(b\)。 Sol 先对于每个点求出她走到充电点最近的距离,用 \(dij\) 随便跑跑。 考虑从 \(a \to b\) 一条边的贡献。设当前的电量上限为 \(c\) ......
1253F Cheap Robot 1253 CF

CF 思维题随记

CF1487B Cat Cycle 首先小猫 A 的行动是确定的,我们可以算出它走的圈数和最后的位置。然后根据 \(n\) 分情况讨论: 偶数不会相遇,直接做。 奇数。如果猫 A 不动那么猫 B 每圈只需要走 \(n-1\) 步。现在猫 A 会动其实就是猫 A 每多走一圈,它们就多相遇一次,猫 B ......
随记 思维 CF

CF1610H Squid Game

题意 给定一棵树,以及 \(m\) 条路径。 让你选出最少的点,使得对于每一条路径,都有一个点距离链上的点离端点更近。 Sol 考虑将每一条路径分为直链和曲链考虑。 注意到所有的曲链最多对答案有 \(1\) 的贡献。 考虑直链的情况。 注意到一个很显然的东西。 对于一个选择的点,如果她的上方不是端点 ......
1610H Squid 1610 Game CF

[CF1603E] A Perfect Problem

A Perfect Problem 题面翻译 一个序列是好的当且仅当集合最大值乘上集合最小值大于等于集合元素的加和; 一个序列是完美的,当且仅当这个序列的任何子序列都是好的(包括自己不包括空集); 你要求的是:长度为 \(n\) 的并且每一个元素都大于等于 \(1\) 并且小于等于 \(n+1\) ......
Perfect Problem 1603E 1603 CF

[CF1253F] Cheap Robot

Cheap Robot 题面翻译 给你一张 \(N\) 个点的带权无向连通图,其中结点 \(1,2,…,k\) 为充电中心。 一个机器人在图中行走,假设机器人的电池容量为 \(c\),则任何时刻,机器人的电量 \(x\) 都必须满足 \(0\le x\le c\)。如果机器人沿着一条边权为 \(w\ ......
1253F Cheap Robot 1253 CF

「杂题乱刷」CF1272D

题目链接 CF1272D Remove One Element 题意简述 给定一个长度为 \(n\) 的序列,你需要求出至多删除一个数后的这个序列的最长上升子串。 解题思路 首先我们可以想一下这题的弱化版,给定一个长度为 \(n\) 的序列,你需要求出至多删除一个数后的这个序列的最长上升子序列。 这 ......
1272D 1272 CF

[CF704E] Iron man

题目链接 树的情况不好做。先树剖,现在变成了链的问题。 考虑对时间扫描线,会发现所有人的相对顺序变化的时候,就是有人相遇了。所以他的相对顺序可以用一个 set 维护。而将会相遇的人一定是插入时相对顺序相邻的人,可以 check 一下取个最小值。可以把时间线设成全局变量,这样就可以跑 set 的排序了 ......
704E Iron 704 man CF

[CF1592F2] Alice and Recoloring 2

题目链接 操作 2 和 3 可以用另两个代替,没有任何用。 设 W 表示 \(t_{i,j}=0\),B 表示 \(t_{i,j}=1\) 考虑差分。设 \(t_{i,j}=s_{i,j}\oplus s_{i+1,j}\oplus s_{i,j+1}\oplus s_{i+1,j+1}\),那么目 ......
Recoloring 1592F Alice 1592 and

[CF1416F] Showing Off

题目链接 如果把方向看做有向边,整个图是一个内向基环树。 所以考虑哪些点有可能放在基环树的非环部分上,当且仅当一个点周围有严格小于他的点。 由于图一定是二分图(黑白染色),没有奇环,所有偶环一定可以拆成二元环,所以可以看做找匹配。两个点能匹配当且仅当他们 \(s\) 相等。 发现一个周围没有严格小于 ......
Showing 1416F 1416 Off CF

CF1899 C Yarik and Array 题解

Link CF1899 C Yarik and Array Question 给定一个数组,求数组中连续子数组之和的最大值,但要求子数组必须满足:相邻两项奇偶性不同 输出最大总和 定义 \(F[i]\) 为以 \(i\) 为终点的连续子串的最大加和 \(F[i]\) 初始为 \(a[i]\) 如果 ......
题解 Array Yarik 1899 and

CF1899 E Queue Sort 题解

Link CF1899 E Queue Sort Question 给出一个序列 \(\{a\}\) ,可以进行一种操作:把第一个数放到最后,然后向前移,直到前面的那个数比它小为止 求把序列变成非降序列的次数 Solution 先来考虑无法变成非降序列的情况 如果第一个数最小,在一次操作后,第一个数 ......
题解 Queue 1899 Sort CF
共2319篇  :10/78页 首页上一页10下一页尾页