favorite 1523f game cf

CF1873E Building an Aquarium 题解

这题看到第一眼就是二分。 单调性 二分最关键的东西是单调性在哪。单调性是如果高度越高,需要的水就越多,高度越矮,要用的水越少。 不难得出代码: check 函数: int check(int mid){ int sum=0; for(int i=1;i<=n;i++){ sum+=max(0ll,m ......
题解 Building Aquarium 1873E 1873

CF1870E Another MEX Problem 题解

原题 翻译 首先 \(O(n^3)\) 的 dp 是 simple 的。设 \(dp_{i,j}\) 表示前 \(i\) 个划分后异或和为 \(j\) 是否可行。因为转移不具有连续性,故bitset无法优化(其实 \(O(\frac{n^3}{\omega})\) 也跑不过去) 官方做法: 定义对于 ......
题解 Another Problem 1870E 1870

CF863C 1-2-3

わたしが命を賭けるから あげるから あなたは時間をくれたのでしょう? あらゆる望みの総てを叶えたら ああ果たせたら あなたに会いたい 星に願いをかけて ......
863C 863 CF

Educational Codeforces Round 90 (Rated for Div. 2) B. 01 Game

\(Alice\) 和 \(Bob\) 在玩一个 \(01\) 游戏,一开始有一个 \(01\) 串 \(s\) 。\(A\) 先开始,两人轮流操作。在每一步操作中,玩家可以选择 \(s\) 中两个相邻的不同数并且将他们删除。最后不能删数的玩家将失败。询问 \(Alice\) 是否可以获得胜利。 首 ......
Educational Codeforces Round Rated Game

[CF1137C] Museums Tour 题解

[CF1137C] Museums Tour 题解 首先看到 \(d\le 50\),考虑拆点。 把一个点拆成 \(d\) 个点,分别代表到这个点的时候是周几。 然后对于一条有向边,每一天向出边的下一天连边。 这样观察发现,如果两个点在同一个强连通分量内,那么它们可以无限转圈,也就是说,只要到达了一 ......
题解 Museums 1137C 1137 Tour

图形学、01 | GAMES101 + VSCODE + XMake + Win11 作业环境配置

GAMES101 + VSCODE + XMAKE + Win11 环境配置 安装 安装 C++ 编译工具链,如 MSVC(visual studio) 安装 Xmake: Xmake VSCODE 安装插件 C/C++ XMake CodeLLDB 获取作业 git clone https://g ......
图形 环境 VSCODE GAMES XMake

CF1628D2 Game on Sum

题目链接(Easy) 题目链接(Hard) Part1 神奇的博弈类型 \(Dp\) 。 我们发现与当前状态有关的量,有且只有 现在是第几轮,还有 Bob 用了几次加的操作 ,这都会影响之后的决策,而和之前的决策无关,换句话说,当前决策有后效性,没有前效性。那我们考虑倒着 \(Dp\). Part2 ......
1628D 1628 Game Sum CF

CF1867C Salyg1n and the MEX Game

CF1867C Salyg1n and the MEX Game 简单博弈论题。 设给出序列的 \(\text{mex}\) 为 \(x\),那么 Alice 第一次操作时加入 \(x\) 一定是最优的。此时显然有 \(\text{mex(s)} \ge x\)。 因为如果加入的数 \(y<x\), ......
Salyg1n Salyg1 1867C Salyg 1867

CF1873F Money Trees

CF1873F Money Trees 双指针好题,但是我用的队列( 考虑先找出所有极长的、满足任意一个数都能被它后面的那个数整除的连续段。显然这个操作可以在 \(\mathcal{O}(n)\) 的时间复杂度内完成。 求出每个极长连续段的答案,取 \(\max\) 即为最终答案。那么现在的问题就是 ......
1873F Money Trees 1873 CF

CF1867B XOR Palindromes

CF1867B XOR Palindromes 这里是一个关于 \(n\) 的奇偶性分类讨论的做法。 设最终的答案序列为 \(\{ans_{n+1}\}\),它由 \(0,1\) 组成。 首先计算出原序列中有序数对 \((i,n-i+1)\) 的个数,使得 \(s_i \not= s_{n-i+1} ......
Palindromes 1867B 1867 XOR CF

CF1872B The Corridor or There and Back Again

CF1872B The Corridor or There and Back Again 观察第二组样例的解释,注意这句话:“第二个陷阱限制了你”。这启发我们计算经过每个陷阱之后最多还能向前走到哪里,然后取 \(\min\) 得到答案。 现在的问题是如何求出每个陷阱限制的最远可到达点。 由于要求折返 ......
Corridor 1872B Again There 1872

CF1854C Solution

题目链接 题意 给定大小为 \(n\) 的正整数集合 \(S\),\(S\) 中的每个数在 \(1\sim m\) 之间。 每一秒进行如下操作: 从 \(S\) 中等概率随机选择一个数 \(x\)。 将 \(x\) 从 \(S\) 中删去。 若 \(x + 1\leq m\) 且 \(x + 1\n ......
Solution 1854C 1854 CF

CF585F Digits of Number Pi

CF585F Digits of Number Pi 更好的阅读体验 观察数据范围,考虑数位 DP。 首先把长串中 \(len\geq\lfloor \frac{d}{2}\rfloor\) 的串提出来,塞进一个 trie 里,然后建立 ACAM,然后直接 DP 就行了。 设 \(f_{i,j,0/ ......
Digits Number 585F 585 CF

CF660E

题目传送门 description 给定 \(n,m\)。 求所有长度为 \(n\),值域是 \([1,m]\) 中的正整数的序列的本质不同子序列数量和。 \(n,m\leq 10^6\) solution 考虑计算每个长度不超过 \(n\) ,值域为 \([1,m]\) 中的正整数的序列是多少个长 ......
660E 660 CF

CF1657E

题目传送门 description 给定 \(n,k\),求 \(n\) 个点的无向完全图满足其边权为 \([1,k]\) 中的正整数且其最小生成树边权和等于与 1 号点相连的边的权值和。 \(n,k\leq 250\) solution 不妨先确定 1 号点到剩下 \(n-1\) 个点中 \(i\ ......
1657E 1657 CF

CF1264D2 Beautiful Bracket Sequence

第二次听这道题,写个推导过程。 考虑对于给定的括号序列如何算答案,考虑最终答案对应回原序列的位置,于是我们要找到一个位置让其左边的左括号与右边的右括号一样多。因为挪指针时两者之一一定变化,并且两边均单调,所以这个分界点是唯一的。 考虑枚举分界点算答案。假设左边有 \(x\) 个问号,右边有 \(y\ ......
Beautiful Sequence Bracket 1264D 1264

CF237D T-decomposition

原题链接 链式前向星,他来了 通过观察发现,每个集合的大小最小为 \(2\),显然我们需要构造一种方案使得每一个集合的大小都为 \(2\),这样是最优的。 每个集合大小为 \(2\),等价于把每条边转换成新树上的一个点,一共 \(n-1\) 边,对应 \(n-1\) 个集合,每个集合的点对在 dfs ......
T-decomposition decomposition 237D 237 CF

CF1872G Replace With Product 题解

原题 翻译 初看此题,显然感觉有点不对劲,因为感觉如果 \(a_i\) 很大的话肯定是选越多越优秀,但之后并没有什么思路,反而想到线段树上去了(值域这么大做 nm 线段树) 发现如果 \(\prod a_i > 2 \times 10^{14}\) ,那就把做右端点收敛到都不是 \(0\) 的最远位 ......
题解 Replace Product 1872G 1872

CF1204D2 Kirk and a Binary String (hard version) 题解

CF1204D2 Kirk and a Binary String (hard version) 题解 分析 先来分析 \(01\) 串的最长不下降子序列。全是 \(0\) 显然是不下降的,如果中间出现一个 \(1\),为了维护不下降的性质,后面就只能全是 \(1\)。一句话概括一下,\(0\) 后 ......
题解 version Binary String 1204D

CF785D Anton and School - 2 题解

CF785D Anton and School - 2 题解 分析 很明显有一种 \(\mathcal O(n^2)\) 的做法,遍历每一个 (,再枚举 \(k\),左边不包含这一位选 \(k-1\) 个 (,右边选 \(k\) 个 ),求组和即可。 但是数据范围是 \(n \le 2\times ......
题解 School Anton 785D 785

CF & AT 做题记录

选一些 \(\text{div 1}\) 中的好题总结一下 \(\textrm{qwq}\) 从现在开始像 \(\color{red}\text{r} \color{black}\text{ainboy}\) 一样打比赛 \(\textrm{qaq}\) $$\textrm{Codeforces R ......
amp CF AT

Codeforces Round 671 (Div. 2) A. Digit Game

\(R\) 和 \(B\) 在玩一个数字游戏,给一个含有 \(n\) 位的正整数 \(x\) 。俩人轮流操作, \(R\) 先行动。 在每一步中,\(R\) 可以选择 \(x\) 中一个未被标记的奇数位置并标记,\(B\) 可以选择 \(x\) 中一个未被标记的偶数位置并标记。 当最后只剩下一个未被 ......
Codeforces Round Digit Game 671

CF1303D Fill The Bag

贪心,二进制 很容易想到:把 \(n\) 转化为二进制,考虑如何得到每一位。 很显然,用小的数去“凑出”大的数不花费代价,用大的数“分解”出小的数要花费代价。所以。一个简单的贪心是:设当前要得到 \(n\) 的第 \(i\) 位的数 \(2^i\),尽量用小的数凑,若小的数凑不出,再用大的数分出 \ ......
1303D 1303 Fill Bag The

CF1816B

Grid Reconstruction 题面翻译 题目描述 在一个 \(2×n\) 的网格中 (\(n\) 为偶数),标记 \(1,2,\ldots,2n\),但每个数只能被使用 \(1\) 次。 某条路径是从 \((1,1)\) 开始的单元序列,随后不断地向下走或向右走,直到到达 \((2,n)\ ......
1816B 1816 CF

CF1816A

Ian Visits Mary 题面翻译 题目描述 \(\textrm{lan}\) 和 \(\textrm{Mary}\) 是生活在笛卡尔坐标系格点上的青蛙,\(\textrm{lan}\) 在 \((0,0)\),而 \(\textrm{Mary}\) 在 \((a,b)\)。 \(\textr ......
1816A 1816 CF

CF1815A

Ian and Array Sorting 题面翻译 题目描述 为了感谢 \(\textrm{lan}\),\(\textrm{Mary}\) 赠送了 \(\textrm{lan}\) 一个长度为 \(n\) 的序列。为了让他自己看起来聪明,他想要让序列按非递减排序。他可以执行以下操作若干次: 选择 ......
1815A 1815 CF

CF1817A Almost Increasing Subsequence

CF1817A 题面翻译 给定长度为 \(n\) 一个序列 \(a\) 以及 \(q\) 次询问,每次询问给出 \(l\) 和 \(r\),找出序列 \(a\) 在 \([l,r]\) 内最长的几乎递增子序列。 对于几乎递增的定义:如果一个序列中不存在连续的三个数 \(x\),\(y\),\(z\) ......
Subsequence Increasing Almost 1817A 1817

CF1874F Jellyfish and OEIS【容斥,DP】

给定序列 \(m_i\),求有多少排列 \(p\) 满足:对于满足 \(l \le r \le m_l\) 的所有 \((l,r)\),\(p_{l \sim r}\) 都不是 \(l \sim r\) 的排列。答案对 \(10^9 + 7\) 取模。 \(n \le 200\),时限 \(\tex ......
Jellyfish 1874F 1874 OEIS and

题解:CF118E

Tarjan 思路 先来看一下题目给出的无解的这个样例。 不难发现,导致无解的两条边就是 \(6 - 7\) 和 \(2 - 4\) 这两个桥。所以这个题就转换成了求桥,如果存在桥就是无解。 代码 #include<bits/stdc++.h> using namespace std; const ......
题解 118E 118 CF

CF1523F Favorite Game

当前的状态有:传送门的激活状态,已经完成的任务数量,当前的位置(传送门/任务),经过的时间。显然我们会先将所有任务按照 \(t_i\) 升序排序。把前三维列为状态,后一维列为答案,此时我们可以得到一个状态数为 \(O(2^nm^2)\),转移为 \(O(m)\) 的 dp。 状态数很没救,显然要被优 ......
Favorite 1523F 1523 Game CF