题解p9580 round game
Codeforces Round 637 (Div. 2) - Thanks, Ivan Belonogov! A. Nastya and Rice
纳斯塔亚掉了 \(n\) 个谷物,每个谷物的重量范围在 \([a - b, a + b]\) 。她猜测谷物的总重量范围在 \([c - d, c + d]\) 。询问她的猜测是否正确。 显然,若 \([n(a-b), n(a+b)]\) 和 \([c - d, c + d]\) 有交,则她的猜测正确 ......
Codeforces Round 641 (Div. 2) A. Orac and Factors
定义 \(f(x)\) 为 \(x\) 的 \(> 1\) 的最小因子。 给一个正整数 \(n\ (n \geq 2)\) 。对它执行 \(k\) 次操作:每次让 \(n = n + f(n)\) 。询问 \(k\) 次操作后 \(n\) 的值。 在唯一分解定理下观察 \(n\) :偶数的最小非 \ ......
Codeforces Round 636 (Div. 3) A. Candies
\(vv\) 有 \(n\) 个糖果,\(vv\) 记得这些糖果是按如下方式购买的: 第 \(i\) 天买了 \(2^{i - 1}x\) 个,总共买了 \(k\) 天,\(k > 1\) 。 但是 \(vv\) 忘了 \(x\) 是多少,询问任意一个满足条件的 \(x\) 。保证给出的 \(n\) ......
Testing Round 16 (Unrated) B. Square?
给定一个矩形,然后切成两个矩形。尺寸分别为 \(a \times b\) , \(c \times d\) 。你需要确定开始的矩形是否可能是个正方形。 假设初始矩形为正方形,则两个小矩形的长边是正方形的边长。不妨让 \(a \geq b, c \geq d\) 。只需判断 \(a = c, a = ......
UVA12046 题解
前言: 有些虚高,建议降蓝。感觉比 CF55D 要简单。 题目大意: 定义一个数为好数,满足以下要求: 每个数位都能整除原数。 每个数位都小于等于 \(6\)。 求长度为 \(n\) 的好数有多少个。 思路: 首先,\(0\) 整除任何数都没有意义,可以不枚举。其次,要满足条件二,所以每个数位可以只 ......
UVA1366 Martian Mining 题解
这个题可以用动态规划解决。 令\(sbe_{i,j}\) 为第 \(j\) 列 \(1\) 至 \(i\) 个格子 \(BE\) 矿总和,令\(snw_{i,j}\) 为第 \(i\) 行 \(1\) 至 \(j\) 个格子 \(NEW\) 矿总和。 \(dp_{i,j,0}\) 表示为以第(\(i ......
CF1873E Building an Aquarium 题解
这题看到第一眼就是二分。 单调性 二分最关键的东西是单调性在哪。单调性是如果高度越高,需要的水就越多,高度越矮,要用的水越少。 不难得出代码: check 函数: int check(int mid){ int sum=0; for(int i=1;i<=n;i++){ sum+=max(0ll,m ......
P8854 [POI2002] 超级马 题解
这题其实就是搜索,不知道怎么评绿的。 题意 有一个大小无限的棋盘,有一只马,给定 \(n\) 种跳法,判断马是否能跳到棋盘所有点。 题解 搜索马是否可以跳到他上下左右的四个点,因为只要能跳到这四个点,就可以以这四个点为基础跳到其他所有的点。 这里有一些细节需要处理: 因为每次操作能是横纵坐标加减 1 ......
CF1870E Another MEX Problem 题解
原题 翻译 首先 \(O(n^3)\) 的 dp 是 simple 的。设 \(dp_{i,j}\) 表示前 \(i\) 个划分后异或和为 \(j\) 是否可行。因为转移不具有连续性,故bitset无法优化(其实 \(O(\frac{n^3}{\omega})\) 也跑不过去) 官方做法: 定义对于 ......
题解 AcWing 1272. 与众不同
题目描述 定义完美序列:若一个序列内没有重复的数,称这个数列为完美数列。 每次给定一个区间 \([l,r]\),求这个区间内最长的完美序列长度。 具体思路 设 \(len_i\) 表示从 \(i\) 出发往右的最长完美序列长度。 我们定义一个指针 \(st\),表示当前枚举的区间左端点,同时定义多一 ......
Educational Codeforces Round 87 (Rated for Div. 2) A. Alarm Clock
你总共需要睡满 \(a\) 分钟,第一个闹钟将会在第 \(b\) 分钟的时候响起。如果你醒来的时候睡眠不足,你会将脑子往后调 \(c\) 分钟,然后你需要 \(d\) 分钟的时间进入睡眠。假设第 \(0\) 分钟时你刚进入睡眠状态。 询问你最快能的起床时间,或者说明这是不可能的。 若 \(a \le ......
Educational Codeforces Round 90 (Rated for Div. 2) B. 01 Game
\(Alice\) 和 \(Bob\) 在玩一个 \(01\) 游戏,一开始有一个 \(01\) 串 \(s\) 。\(A\) 先开始,两人轮流操作。在每一步操作中,玩家可以选择 \(s\) 中两个相邻的不同数并且将他们删除。最后不能删数的玩家将失败。询问 \(Alice\) 是否可以获得胜利。 首 ......
[CF1137C] Museums Tour 题解
[CF1137C] Museums Tour 题解 首先看到 \(d\le 50\),考虑拆点。 把一个点拆成 \(d\) 个点,分别代表到这个点的时候是周几。 然后对于一条有向边,每一天向出边的下一天连边。 这样观察发现,如果两个点在同一个强连通分量内,那么它们可以无限转圈,也就是说,只要到达了一 ......
Codeforces Round 653 (Div. 3) B. Multiply by 2, divide by 6
给一个正整数 \(n\) ,每一步可以让 \(n\) 除以 \(6\) 或者让 \(n\) 乘以 \(2\) 。询问进过多少次操作可以使得 \(n\) 变为 \(1\) 。或者回答不可能。 在唯一分解定理下观察 \(n\) 。 如果 \(n\) 除以 \(6\) ,则 \(2^{\alpha_1}3 ......
ARC167D Good Permutation 题解
题意 给定一个长度为 \(N\) 的排列 \((P_1,P_2,\cdots,P_N)\)。称一个排列 \(P\) 为“好排列”当且仅当对于所有 \(1\leq x\leq N\),都能通过不停地使 \(x\leftarrow P_x\) 将 \(x\) 变成 \(1\)。 通过最小次数操作将 \( ......
Educational Codeforces Round 91 (Rated for Div. 2) A. Three Indices
给一个 \(n\) 个整数的排列 \(p_1, p_2, \cdots, p_n\) ,需要找到三个数 \(i, j, k\) 满足: \(1 \leq i < j < k \leq n\) \(p_i < p_j\) , \(p_j < p_k\) 否则回答不可能。 \(key\) :若存在上述 ......
* Codeforces Round 665 (Div. 2) A. Distance and Axis
有一个点 \(A\) 在 \(OX\) 正坐标轴上的 \(x\) 坐标为 \(n\) 。需要找到一个点 \(B\) ,使得 \(||OB| - |AB||= k\) 。 现在给出非负整数 \(n\) \(k\) ,你可以执行任意次以下操作: 每步操作可以使 \(A\) 的坐标加一或减一。 询问最少需 ......
[CSP-S2019] 树的重心 题解
[CSP-S2019] 树的重心 因为这道题令我十分兴奋,所以来写一下做完后的思考。 这道题用到了树的重心的种种性质,在写解法的时候会一一点出其用处。 首先,枚举每一条边,然后各自 \(O(n)\) 扫一次的 \(O(n^2)\) 做法是简单的。 那么接下来,就会出现不同的解法了: 优化 \(O(n ......
P9290 Luna likes Love 题解
原题:[洛谷P9310]([P9310 EGOI2021] Luna likes Love / 卢娜爱磕 cp - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 题目大意 给定一个长度为 \(\large 2n(n\leq 10^5)\) 的序列,序列中 \(\large 1\si ......
2023 香山杯 RE部分题解
URL从哪里来 main函数断点下载这里 然后可以看到TempFileName,是out.exe.tmp,还包含路径,直接提取出来用IDA打开,一开始被url误导了,看到了下面的RC4加密去了,使用findcryt软件,看到一个base64加密, 交叉引用 在这 动态调试这个函数 里面的a1,有一串 ......
图形学、01 | GAMES101 + VSCODE + XMake + Win11 作业环境配置
GAMES101 + VSCODE + XMAKE + Win11 环境配置 安装 安装 C++ 编译工具链,如 MSVC(visual studio) 安装 Xmake: Xmake VSCODE 安装插件 C/C++ XMake CodeLLDB 获取作业 git clone https://g ......
【ZROJ2730】简单题 可持久化分块题解
Description 给定一棵 \(n\) 个节点的树,每次询问编号为 \([l, r]\) 的点中有多少个是祖先关系。 \(n, q \le 10^5\)。 Solution 直接做的话树上的祖先关系不好统计,那么转化到 \(\texttt{dfs}\) 序上,如果 \(u\) 是 \(v\) ......
CF1628D2 Game on Sum
题目链接(Easy) 题目链接(Hard) Part1 神奇的博弈类型 \(Dp\) 。 我们发现与当前状态有关的量,有且只有 现在是第几轮,还有 Bob 用了几次加的操作 ,这都会影响之后的决策,而和之前的决策无关,换句话说,当前决策有后效性,没有前效性。那我们考虑倒着 \(Dp\). Part2 ......
CF1867C Salyg1n and the MEX Game
CF1867C Salyg1n and the MEX Game 简单博弈论题。 设给出序列的 \(\text{mex}\) 为 \(x\),那么 Alice 第一次操作时加入 \(x\) 一定是最优的。此时显然有 \(\text{mex(s)} \ge x\)。 因为如果加入的数 \(y<x\), ......
AtCoder Beginner Contest 324 DF题题解
比赛链接 D - Square Permutation 其实比较简单,但是比赛时候脑子不转了,竟然在尝试枚举全排列,然后算了一下复杂度直接不会做了。 正解应该是枚举完全平方数,底数枚举到 \(sqrt(10^{14})\) 即可,因为 n 最大为 13。 然后统计一下这个完全平方数各个数字出现了多少 ......
Codeforces Round 903 (Div. 3)
[比赛链接] A. Don't Try to Count 直接用string的可加性,每次 s+=s 相当于翻倍了,因为 \(nm<=25\) 所以最多翻倍5次。 判断什么的直接模拟就行。 #include<iostream> #include<algorithm> #include<cmath> ......
pjudge A. 【NOIP Round #6】抉择
原题 这题和绝世好题有异曲同工之妙(虽然赛时也想到了但并没有发现贪心结论 QwQ ) 首先容易想出 \(O(n^2)\) 的 dp :设 \(dp_i\) 表示前 \(i\) 个数 \(i\) 强制选最大值,然后转移枚举上一个选的是什么 考虑正解,发现因为转移方程加上了 \(a_j \& a_i\) ......
解谜游戏《哈士奇再现》题解
哈士奇再现 题解 目录哈士奇再现 题解题目地图及其分数分题解答及剧情EasyProblem题目背景解析解后剧情神秘的串题目背景解析解后剧情猜数字题目背景解析解后剧情Cheat AI题目背景解析解后剧情countBit (周行,追踪哈士奇)题目背景解析解后剧情Embossing(周行,追踪哈士奇)题目 ......
P9517 drink 题解
P9517 drink 题解 Part 1 提示 题目传送门 欢迎大家指出错误并私信这个蒟蒻 欢迎大家在下方评论区写出自己的疑问(记得 @ 这个蒟蒻) Part 2 更新日志 2023-08-12 18:06 文章完成 2023-08-14 15:53 文章通过审核 Part 3 解析 这道题考场上 ......