题解codeforces round 879

SP26719题解

考虑动态规划。 思路 设 \(dp_{i,j}\) 为 \((1,1)\) 到 \((i,j)\) 的方案数,而如果要到这个点,肯定是从左边和上边来。 所以递推公式为:\(dp_{i,j}= dp_{i,j-1} + dp_{i-1,j}\)。 预处理:将横或纵坐标为 1 的点赋值为 1,因为到达这 ......
题解 26719 SP

P9700题解

思路 看数据范围,发现范围很小,直接用搜索。 搜索时枚举每个点,如果有棋子就枚举方向,如果这个方向合法,则将剩余棋子数减一,继续搜索。 搜索时参数只需要传当前棋子数就行了。 有以下几点需要注意 多组数据每次需要初始化。 判断是否合法时要注意。 每次记得回溯棋子。 AC CODE #include<b ......
题解 P9700 9700

CF1873B题解

这题其实可以数学方法差小积大解决。 差越小积越大,那肯定是让最小的数加一啦。将所有数的积除以最小值再乘上最小值加一。 #include<bits/stdc++.h> using namespace std; signed main(){ int T; cin>>T; while(T--){ long ......
题解 1873B 1873 CF

AT_abc134_d Preparing Boxes题解

简述题意 这什么破翻译,看了 AtCoder 的英文才看懂。 给定一个长度为 \(n\) 序列 \(a\),要求构造一个数列 \(b\),使得对于任意 \(i\),满足: \(1 \le i \le n\) 将 \(b\) 序列下标为 \(i\) 的倍数的值相加使得这个总和模 2 等于 \(a_i\ ......
题解 Preparing AT_abc Boxes 134

P4899 [IOI2018] werewolf 狼人 题解

P4899 [IOI2018] werewolf 狼人 题解 题目描述 省流: \(n\) 个点,\(m\) 条边,\(q\) 次询问,对于每一次询问,给定一个起点 \(S\) 和终点 \(T\) ,能否找到一条路径,前半程不能走 \(0\thicksim L-1\) 这些点,后半程不能走 \(R+ ......
题解 werewolf P4899 4899 2018

【题解 P8773】 选数异或

[蓝桥杯 2022 省 A] 选数异或 题目描述 给定一个长度为 \(n\) 的数列 \(A_{1}, A_{2}, \cdots, A_{n}\) 和一个非负整数 \(x\), 给定 \(m\) 次查询, 每次询问能否从某个区间 \([l, r]\) 中选择两个数使得他们的异或等于 \(x\) 。 ......
题解 P8773 8773

CF1868C Travel Plan 题解

原题 翻译 发现所有长度相同的简单路径的权值可能情况相同,且最长的简单路径长度为 \(O(\log n)\) 级别,考虑维护所有长度的简单路径在一棵树上出现的次数,每种简单路径的权值在所有树上出现的次数,相乘即使答案。 我们考虑长度为 \(x\) 的路径对答案的贡献,考虑枚举这条路径的贡献 \(k\ ......
题解 Travel 1868C 1868 Plan

【dp】【竞赛图的性质】ARC163D Sum of SCC 题解

ARC163D 发现这个竞赛图一定能被分为两个集合 \(A\),\(B\)。满足 \(\forall u\in A,v\in B\),均有 \(u\to v\in E\)。答案就是划分这两个集合的方案数。 证明: 首先,竞赛图缩完点后一定是一条链,对强连通分量进行标号,满足编号小的强连通分量指向编号 ......
题解 性质 163D ARC 163

【根号分治】P9212 「蓬莱人形」 题解

P9212 看到除法相关容易想到根号分治。 先对 \(x,y\) 进行讨论,不妨令 \(0\le x,y<m\)。 \(x<y\) 时,当满足 \(a_i+y < m\) 或 \(a_i+x\ge m\) 时,即当 \(a_i<m-y\) 或 \(a_i\ge m-x\) 满足 \((a_i+x)\ ......
根号 题解 人形 P9212 9212

【前缀和优化 dp】CF1542E1 Abnormal Permutation Pairs (easy version) 题解

CF1542E1 首先时间复杂度肯定是 \(\mathcal{O}(n^3)\) 的。 容易想到先枚举最长公共前缀,然后枚举 \(p_{len+1}\) 和 \(q_{len+1}\),再枚举逆序对数进行统计。 令 \(f_{i,j}\) 表示有 \(j\) 个逆序对的 \(i\) 阶排列的个数。 ......
题解 前缀 Permutation Abnormal version

【前缀和优化 dp】CF1542E2 Abnormal Permutation Pairs (hard version) 题解

CF1542E2 首先时间复杂度肯定是 \(\mathcal{O}(n^3)\) 的。 容易想到先枚举最长公共前缀,然后枚举 \(p_{len+1}\) 和 \(q_{len+1}\),再枚举逆序对数进行统计。 令 \(f_{i,j}\) 表示有 \(j\) 个逆序对的 \(i\) 阶排列的个数。 ......
题解 前缀 Permutation Abnormal version

【树上背包】CF1856E1 PermuTree (easy version) 题解

CF1856E1 发现题目的要求只需要相对的大小关系,考虑一个子树时,不妨令子树内部编号连续。类似于一个 dp,这样也可以更好地将信息由儿子转移到父亲。 设 \(u\) 的孩子为 \(v_1,v_2,\dots,v_k\)。由于每棵子树内的编号是连续的,令以 \(v_i\) 为根的子树的编号为 \( ......
题解 背包 PermuTree version 1856E

【区间 dp】P5189 [COCI2009-2010#5] ZUMA 题解

P5189 容易想到区间 dp,考虑设计状态。 首先如果只有 \(l,r\) 两维的话,是无法转移的。然后发现 \(m\) 是转移的一个必要的条件,可加入 \(m\) 这一维。由于是区间 dp,所以只需考虑向左或向右加珠子,不妨令 \(f_{i,j,k}\) 消除 \([i,j]\) 以及 \(i\ ......
题解 区间 P5189 5189 2009

【dp】【进制】P3464 [POI2007] WAG-Quaternary Balance 题解

P3464 显然的,先将原数变为四进制的数。 由于算的是进位/不进位的代价最小值和方案数,容易想到 dp。 这里假定该四进制数是从高位到低位的,顺序显然是由低位到高位。 令 \(f_{i,0/1}\) 表示第 \(i\) 位进 / 不进位的最小代价,\(g_{i,0/1}\) 表示的是最小代价下的方 ......

Educational Codeforces Round 152 (Rated for Div. 2) B. Monsters

有 \(n\) 个怪物,第 \(i\) 个怪物的血量为 \(a_i\) 。英雄一次攻击可以造成 \(k\) 点伤害,但只会攻击当前生命值最高的怪物。若有多个最高血量的怪物,则选择编号最小的怪物攻击。当怪物的血量 \(\leq 0\) 时则被消灭。 输出一个排列,表示怪物被消灭的编号顺序。 容易想到, ......
Educational Codeforces Monsters Round Rated

Codeforces Round 888 (Div. 3) C. Tiles Comeback

有 \(n\) 个瓷砖和一个正整数 \(k\) ,第 \(i\) 个瓷砖染色为 \(c_i\) 。你一开始在第 \(1\) 块瓷砖上,可以向右跳到任意一个位置的瓷砖。你可以得到一个长为 \(p\) 的路径,长度代表你曾经站过的瓷砖。 你需要确定是否存在一条长度为 \(p\) 的路径满足以下条件: 路 ......
Codeforces Comeback Round Tiles 888

Codeforces Round 888 (Div. 3) C. Tiles Comeback

有 \(n\) 块瓷砖和一个正整数 \(k\) ,第 \(i\) 块瓷砖染色为 \(c_i\) 。一开始站在第 \(1\) 块瓷砖往,然后可以开始往右跳吗,到第 \(n\) 块瓷砖停止。你可以得到的路径长度 \(p\) 为你从 \(1\) 到 \(n\) 踩过瓷砖的数量。 你需要确定是否存在一条长度 ......
Codeforces Comeback Round Tiles 888

Codeforces Round 893 (Div. 2) C. Yet Another Permutation Problem

有一个 \(gcd\) 游戏,按以下步骤进行: 选择一个 \(n\) 的排列 \(p_1, p_2, \cdots, p_n\) 。 对于每个 \(i\) ,\(d_i = gcd(p_i, p_{i \% n + 1})\) 排列 \(p\) 的 \(score\) 为数组 \([d_1, d_2 ......
Permutation Codeforces Another Problem Round

[题解] CF1790E - XOR Tree

CF1790E - XOR Tree 题意 给定一颗无根树,在可以改变任意一个点的点权操作基础上,让树上任意简单路径的异或和不为 \(0\) ,问最少需要多少次操作。 思路 假设某个点为根,设 \(pre_x\) 为 \(x\) 点到根的树上前缀异或和, \(a_x\) 为 \(x\) 的点权,则 ......
题解 1790E 1790 Tree XOR

Codeforces Round 892 (Div. 2) B. Olya and Game with Arrays

一系列 \(n\) 个数组,第 \(i\) 个数组的大小 \(m_i \geq 2\) 。第 \(i\) 个数组为 \(a_{m_1}, a_{m_2}, \cdots, a_{m_i}\) 。 对于每个数组,你可以移动最多一个元素到另一个数组。 一系列 \(n\) 个数组的 \(beauty\) ......
Codeforces Arrays Round Olya Game

Codeforces Round #870 (Div. 2) A. Trust Nobody

题解 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <algorithm> #include <iostream> #include <stack> #include <bitset> ......
Codeforces Nobody Round Trust 870

[题解]CF514D R2D2 and Droid Army

思路 首先,可以转化题意,找到一个极长的区间 \([l,r]\) 使得(其中 \(mx_i\) 表示 \([l,r]\) 区间中属性 \(i\) 的最大值): \[\sum_{i = 1}^{m}mx_i \leq k \]显然对于这个东西当 \(l,r\) 发生移动时,是极其好维护的,所以想到双指 ......
题解 Droid 514D Army R2D2

四舍五入的数字 round(列名,小数点位数)

select sal as '原始数据', round(sal) as '四舍五入后的数据' ,round(sal,1) as '四舍五入1个小数点后的数据'from emp; ......
小数点 小数 位数 数字 round

题解——2023年码谷提高组模拟赛1016

题解——2023年码谷提高组模拟赛1016 一套被各种转来转去的题;参考:https://blog.csdn.net/liuziha/article/details/127353981、https://www.luogu.com.cn/blog/Chen5201314/xiao-nei-bi-sai ......
模拟赛 题解 2023 1016

「BZOJ2505」tickets 题解

preface 网上目前还没看到我的方法,就大概讲一下做法 solution 首先想到贪心,考虑 \([l, r]\) 的最大次数,一定是找到最小的 \(x\) 满足 \(l \sim x\) 的位数的和大于等于 \(k\),然后递归的求解 \([x + 1, r]\),易证。 还是考虑将 \(Qu ......
题解 tickets BZOJ 2505

Codeforces Round 886 (Div. 4) (E,G,H)

E. Cardboard for Pictures 如果没有过可能是爆LL,在循环判断即可 二分枚举宽度大小,比较两者面积 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 2e5+10,mod=1e11; #defi ......
Codeforces Round 886 Div

CF1879F Last Man Standing 题解

原题 翻译 观察题目,容易发现当题目难度为 \(x\) 时一个 OIer 存活时间为 \(h_i \lceil \frac{a_i}{x} \rceil\) 发现 \(a_i\) 较小,所以我们先考虑暴力枚举 \(x \in [1, \max a_i]\) ,然后把原数组按 \(a_i\) 排个序, ......
题解 Standing 1879F 1879 Last

CF1680F Lenient Vertex Cover 题解

CF1680F Lenient Vertex Cover 题解 这道题和「JOISC 2014 Day3」电压非常类似,或者说就是一道题。 题意就是给你一个图,问能否对所有点黑白染色,允许最多一条边的两个顶点都染成黑色。 黑白染色后其实就是一个二分图,那如果有一条边的两个顶点染成黑色,就是说去掉该边 ......
题解 Lenient Vertex 1680F Cover

题解:CF237D

题目传送门 思路 构造 \(k\) 个集合,使这些集合满足以下性质: 集合的并集为 \(V\)。 对于树 \(s\) 中的任意一条边 \((a,b)\),都能在 \(k\) 个集合中找到一个集合 \(x\) 使得 \(a,b\in x\)。 对于树 \(s\) 中的任意一个点 \(a\),所有在 \ ......
题解 237D 237 CF

题解 P7468【[NOI Online 2021 提高组] 愤怒的小 N】

题解 P7468【[NOI Online 2021 提高组] 愤怒的小 N】 problem 首先是有一个字符串 \(S=\texttt{"0"}\),做无限次“将 \(S\) 的每一位取反接在 \(S\) 后面”的操作,形如 \(S=0110100110010110\cdots\)。 另外给一个 ......
题解 Online P7468 7468 2021