subsequences greedy 1132g cf

题解 CF1090D【Similar Arrays】

一道简单构造题。 如果 $m=\frac{n(n-1)}{2}$,此时任意两个数都要有偏序关系,但是又要求第二个数列有两个数相等,因此无解。 否则一定有解。不难想到构造两个数列使它们几乎完全相等。可以找到两个没有偏序关系的下标 $(i,j)$,在第一个数列中分别赋值为 $n-1,n$,在第二个数列中 ......
题解 Similar Arrays 1090D 1090

训练记录-cf-di2-866(A-C)

手速场 但是wa了两发 血亏 上蓝了 纪念一下( 不过我还是菜鸡 什么都不会orz A. Yura's New Name 题意:要形成^^或者^_^的笑脸 最少加多少个^ 思路:特判单个^输出1 单个_输出2 首是_ +1 尾是_ +1 其次计算连续的__ ans加上cnt-1个 #include< ......
cf-di 866 A-C cf di

「解题报告」CF1129D Isolation

水题,但是调了好久 qwq 显然是 DP,出现次数显然分块,那就数据结构优化 DP 呗。 我们可以维护出当前点到每个点这段区间内有多少个出现次数为 $1$ 的数,这个右端点每拓展一位修改的左端点一定是连续的区间。分块维护这个东西,如果是散块暴力重构暴力加,如果是整块那给整块打个加标记。 发现,加标记 ......
Isolation 报告 1129D 1129 CF

CF1592F2 题解

题意 传送门 给定一个 $n$ 行 $m$ 列的目标矩阵,矩阵元素只有 W 或 B ,并且你有一个初始矩阵,元素全为 W 。 现在你可以矩阵实施以下操作: 使用一块钱,选定一个包含 $(1,1)$ 的子矩阵,把矩阵中的元素全部反转( W 变 B , B 变 W )。 使用三块钱,选定一个包含 $(n ......
题解 1592F 1592 CF F2

「解题报告」CF983E NN country

水点简单数据结构题! 考虑从两个点开始往上跳,每次肯定尽可能跳到最浅的点。两个点跳到再跳一步就能到达 lca 的位置的时候,此时再看看有没有路径连接这两个点,如果有那么一步就可以跳到,否则就要跳到 lca 再跳一步,两步跳到。跳的过程显然可以用倍增处理。 然后我们考虑处理出每个点能跳到的最浅的点。假 ......
country 报告 983E 983 CF

题解 CF1764G Doremy's Perfect DS Class (Extra)

题解 CF1764G Doremy's Perfect DS Class (Extra) 题意 交互库有一个 $1\sim n$ 的排列 $p$,你每次可以想交互库给定三个整数 $l,r,k(1\le l\le r\le n,1\le k\le n)$,交互库会返回 $\lfloor p_l/k\r ......
题解 Perfect Doremy 1764G Class

「解题报告」CF1528F AmShZ Farm

$$ \begin{matrix} \text{Countin' is what to do}\\ \text{Countin's when I think of you}\\ \text{Countin's what clears my soul}\\ \text{Countin's what ... ......
报告 1528F AmShZ 1528 Farm

CF1163F Indecisive Taxi Fee

删边最短路 这篇题解的特点 其实其他的题解都有几处证明跳跃的点。比如,怎么证明删边最短路只强制经过一条边就足够,而不需要强制经过两条,三条边呢?这个结论的证明并不如想象中简单,而且我想读者阅读完其它题解后也很难意识到这个结论只在 无向正权图 上成立,只要负权 / 零权 / 有向,这个结论就立刻失效了 ......
Indecisive 1163F 1163 Taxi Fee

「解题报告」CF960G Bandit Blues

无脑的 APJ 用最无脑的方法解题!!!~~做了两天图论脑子爆炸后的 apj 寻求精神慰藉~~ 首先考虑 $n$ 一定是从前往后的最大值与从后往前的最大值,这样我们只需要求出长度为 $n$,有 $k$ 个前缀最大值的排列数量,记作 $f_{n, k}$。 考虑每次将当前排列中的最大值与最大值后面的排 ......
报告 Bandit Blues 960G 960

CF1473D 题解

题目传送门 题目分析 线段树、前缀和、$\text{ST}$ 表题解都有了,我补一发猫树题解吧。 由于每次操作只能将大小改变成跟原来差 $1$,所以只需要知道这段操作中的最大值和最小值,最后所求的答案的范围就被卡住了。对于每一次操作,我们把操作序列拦腰斩断,那么分别求两边的范围,最后减去重复的部分即 ......
题解 1473D 1473 CF

CF1758D 题解

前言 题目传送门! 更好的阅读体验? 用一种非常麻烦的做法把自己写自闭了,和题解区不一样,但是方法困难很多。 思路 代码 属于混乱邪恶了,凑合着看看。 #include <iostream> #include <cstdio> #include <cmath> using namespace std ......
题解 1758D 1758 CF

CF R864 div2

A 发现最劣的方案就是把其中一个围起来,答案为 $4$,当 $x=1/x=n/y=1/y=m$ 时答案有可能为 $2/3$ 分类讨论即可 B 要将原图形变为中心对称,若$(x,y)!=(n-x+1,n-y+1)$我们必须操作,若步数有剩,剩余步数是偶数时对一个方块一直操作即可;剩余步数为奇数时,我们 ......
R864 div2 864 div CF

CF698F Coprime Permutation 题解

题意 给定一个未填满的数组 $p$,求有多少种 $1\sim n$ 的排列 $p$ 满足对于任意 $i<j$,都有 $[\gcd(i, j)=1]=[\gcd(p_i, p_j)=1]$,答案对 $10^9+7$ 取模。 题解 部分参考这篇题解(感觉这篇题解应该是目前为止最详细的吧)。 记 $P$ ......
题解 Permutation Coprime 698F 698

【CF1797C 题解】

题意 这是一道交互题。 定义一个位置 $(x, y)$,移动一步后的位置为 $(x\pm1,y\pm1)$。 你需要找到一个位置 $(x, y)$。 你至多进行 $3$ 次询问,每次询问格式为 ? a b。 交互库会返回 $(x, y)\to (a, b)$ 的最小移动步数。 题解 还是比较有趣的一 ......
题解 1797C 1797 CF

CF1525F 题解

题意 有一个 $n$ 个点的 DAG,现在有 $k$ 波进攻,第 $i$ 波有 $i$ 个人,它们每个人会选择一条 DAG 上的路径,并占领这个路径上的所有点,路径之间是不能相交的。第 $i$ 波进攻前可以做一些准备,可以花 $1$ 秒关闭某个点的所有入边,或关闭某个点的所有出边。第 $i$ 波进攻 ......
题解 1525F 1525 CF

cf-div2-856c

题目链接:https://codeforces.com/contest/1816/problem/C 我是傻逼,否了自己的第一直觉。。。 思路: 构造方法:以最后一个值的数值$x$为基准,把所有的的数字(除第一个)调整为$x$。 以n的奇偶性分为两种情况。 当n为奇数时: $第一个数字y小于等于x, ......
cf-div 856 div cf

练习记录-cf-div2-865(A-C)

反转就是写的非常烂 Awa10 其他还行吧 丢人 A. Ian Visits Mary 如果这两个数的gcd是1 可以直接过去 如果是0 那就绕一个1 过去 变成三角形 不然就用 (1,b-1) 到(a,1) 这样就是两次的1 不会遇到 #include<bits/stdc++.h> #define ......
cf-div 865 A-C div cf

CF864div2

#CF864div2 ##小的总结 这是我的第一场CF比赛,习惯了中文题面之后确实有一点点不适应,不过还好,在脱离谷歌翻译与百度翻译的情况下还是把题意理解清楚了,虽然虽然一个题没做出来 用四个字来说呢就是到此一游,更简单的说法就是坐牢 我真的真的一直在修改一直在提交...一直在WA ##A题 先来看 ......
div2 864 div CF

CF486D 题解

题目传送门 题目分析 不算很难的树形 $\text{dp}$。 令 $dp_i$ 表示以 $i$ 为根的子树中联通子图的个数。 在更新的时候,考虑儿子的联通子图和自己的,则有: $$dp_u = dp_u \times (dp_v + 1)$$ 选根的时候将 $a$ 最大的作为根节点。还要注意另外一 ......
题解 486D 486 CF

CF1797E Li Hua and Array

个人思路: 线性筛求出来 $\phi(x)$,然后 $x$ 成为 $\phi(x)$ 的儿子,建树。 然后接下来就和 $\phi$ 没关系了,令第 $i$ 个数初始直接对应点在 $a_i$ 上。 1 操作相当于区间跳到父亲 2 操作相当于求区间内所有点到 LCA 的距离之和。 1 暴力删就行了,维护 ......
1797E Array 1797 Hua and

CF1599A. Weights

题意 给出n个物品,第i个重量a[i](互不相同) 每次任意选一个物品放到秤的左右两边,使得放完之后 左>右 或 左<右 给出a[i] 和 大小关系s[i],构造方案 题解 必定有解 把a排序,假设当前选了LRLRLR,发现在最后加L可以瞬间反转,在最前加R可以保持不变 即,当前选了一段连续的a[i ......
Weights 1599 CF

练习记录-cf-div2-856(A-C)

vp的 写出4道 C感觉目前不是能力范围 以后有机会留下来打比赛的话再说 A - Prefix and Suffix Array 给出字符串的前缀和后缀 问是不是回文 我采用枚举 长度为n-1和1的拼凑 但是这并不奏效 一直wa3 后来改用拼两个n/2的 就过了 如果有大佬看到了 希望能解答一下qw ......
cf-div 856 A-C div cf

练习记录-cf-div2-864(A-D)

状态不怎么好 场上就写出3道 还磨磨蹭蹭推错结论qwq 警钟长鸣 A. Li Hua and Maze 一开始以为要切割 发现就把其中一个包起来就行了 计算包某个块需要的最小块数 #include<bits/stdc++.h> #define close std::ios::sync_with_st ......
cf-div 864 A-D div cf

【cf864】赛后结

属实是失踪人口了,想了一下还是把题解打到这儿。conteset地址:https://codeforces.com/contest/1797 A. 题目大意:n*m的方格上给两个点,询问最少增加的障碍格子使得这两个点不连通。 解题思路:水题,但是手速有点慢。直接问靠不靠墙,靠几面墙,不靠墙答案4,靠一 ......
864 cf

【题解】CF472G Design Tutorial: Increase the Constraints

《正解分块 + FFT 跑 1min,__builtin_popcount 暴力跑 10s》 《没人写正解,CF 也不卡》 思路 正解:分块 + FFT 乱搞:__builtin_popcount 首先我们知道哈明距离可以用一种 $O(|字符集| |S|)$ 的算法求。 具体考虑枚举字符集中的每一个 ......
题解 Constraints Tutorial Increase Design

CF1810E 题解

一、题目描述: 给你一个 n 个点,m 条边的无向图,点带权,起点可任意选择。 每走过一个新的点,你的能力值会 +1 。一开始你的能力值为 0 。 你只能经过点权小于等于你能力值的点。每条边,每个点都可以经过无限次,问能否走遍整个图。 如果可以,输出 "YES" 。否则输出 "NO" 。有 t组数据 ......
题解 1810E 1810 CF

cf-edu-146b

题目链接:https://codeforces.com/contest/1814/problem/B 只有残缺的思路,还不足以解决这道题。 完整思路:对于一个数x来说,如果一个数a除以它的余数为y,商为z,所需步数为y+z+(x-1),那么反过来(x变为它的商,z为除数,所需步数依然是不变的,可以举 ......
cf-edu 146 edu cf

CF1798C Candy Store

CF1798C Candy Store 点击查看代码 #include<bits/stdc++.h> #include<vector> #include<map> #include<queue> #define int long long #define inf 1e18 #define inc 0 ......
1798C Candy Store 1798 CF

4月CF杂题

Codeforces Round 862 (Div. 2) E. There Should Be a Lot of Maximums 题意:定义一棵点有颜色的树的 $\text{MAD}$ 为树上编号最大的出现了至少两次的颜色。对于树上每条边,求出断开它后生成的两棵树的 $\text{MAD}$ 的 ......

cf-div.3-863d

题目链接:https://codeforces.com/contest/1811/problem/D 思维题,昨天被E题搞太久了,这题认真想的话应该可以出的。 思路:不断循环,判断x和y是否在合法区间内。 代码: #include <bits/stdc++.h> using namespace st ......
cf-div 863 div cf