题解product dice abc

【题解】AtCoder-ARC167

AtCoder-ARC167A Toasts for Breakfast Party 一定不会有空盘,问题转化成 \(2m\) 个数,其中 \(2m-n\) 个是 \(0\),这样一定是最大值和最小值一起,次大值和次小值一起,以此类推。 提交记录:Submission - AtCoder AtCod ......
题解 AtCoder-ARC AtCoder ARC 167

CF1119F Niyaz and Small Degrees 题解

原题 翻译 首先 \(O(n^2 \log n)\) 的 dp 是 simple 的,我们设 \(dp_{i,0/1}\) 表示以 \(i\) 为根, \(i\) 到 \(fa_i\) 这条边删/不删的最小权值和。转移是一个非常 trick 的问题,只需要假设所有都选 \(dp_{i,0}\) ,然 ......
题解 Degrees 1119F Niyaz Small

P9745 「KDOI-06-S」树上异或 题解

P9745 「KDOI-06-S」树上异或 题解 \(x_i = 0\) 这题一看就不是很可做,先考虑部分分。 对于一条链的情况,我们可以枚举上一个断边的位置,然后转移。 一看数据范围,估计和值域有关,所以考虑 \(x_i = 1\) 的部分分,如果全部点权都是 1,那么一种方案只有 0 和 1 两 ......
题解 P9745 9745 KDOI 06

[ARC167D] Good Permutation 题解

题意 对于一个长度为 \(N\) 的排列 \(Q\),定义其为好的,当且仅当 对于任意整数 \(i \in \left[1, N\right]\),在进行若干次操作 \(i \leftarrow Q_i\) 后可以得到 \(i = 1\)。 给定一个排列 \(P\),定义一次操作为交换两个数。定义 ......
题解 Permutation 167D Good ARC

[ABC235G] Gardens

[ABC235G] Gardens 题目描述: 有三种不同颜色的球,分别有 \(A,B,C\) 个。(相同颜色的球之间不区分) 将球放入 \(N\) 个不同的盒子中,要求: 每个盒子至少放了一个球 每个盒子不能存在两个相同颜色的球 可以不放完所有的球 求放置方案数对 \(998244353\) 取模 ......
Gardens 235G ABC 235

UVA12046 题解

前言: 有些虚高,建议降蓝。感觉比 CF55D 要简单。 题目大意: 定义一个数为好数,满足以下要求: 每个数位都能整除原数。 每个数位都小于等于 \(6\)。 求长度为 \(n\) 的好数有多少个。 思路: 首先,\(0\) 整除任何数都没有意义,可以不枚举。其次,要满足条件二,所以每个数位可以只 ......
题解 12046 UVA

「解题报告」[ABC267F] Exactly K Steps

「解题报告」[ABC267F] Exactly K Steps 大家好,我是个毒瘤,我非常喜欢没脑子做法,于是我就用点分治过了这个题 . 离线在每个点存下与其相关的询问 . 考虑如何计算跨重心的答案 . 记录下每个点在当前重心下的深度,同时开一个桶 \(t_{k, 0/1}\) 存下当前深度为 \( ......
Exactly 报告 Steps 267F ABC

UVA1366 Martian Mining 题解

这个题可以用动态规划解决。 令\(sbe_{i,j}\) 为第 \(j\) 列 \(1\) 至 \(i\) 个格子 \(BE\) 矿总和,令\(snw_{i,j}\) 为第 \(i\) 行 \(1\) 至 \(j\) 个格子 \(NEW\) 矿总和。 \(dp_{i,j,0}\) 表示为以第(\(i ......
题解 Martian Mining 1366 UVA

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

P8854 [POI2002] 超级马 题解

这题其实就是搜索,不知道怎么评绿的。 题意 有一个大小无限的棋盘,有一只马,给定 \(n\) 种跳法,判断马是否能跳到棋盘所有点。 题解 搜索马是否可以跳到他上下左右的四个点,因为只要能跳到这四个点,就可以以这四个点为基础跳到其他所有的点。 这里有一些细节需要处理: 因为每次操作能是横纵坐标加减 1 ......
题解 P8854 8854 2002 POI

CF1870E Another MEX Problem 题解

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

AT_abc301_h [ABC301Ex] Difference of Distance

AT_abc301_h [ABC301Ex] Difference of Distance 更好的阅读体验 一道基础图论,很好口胡,但是实现不太简单。 考虑离线,把询问挂在边上,按边权从小到大处理。 处理到一个边权时,把边权小于它的边的两端用并查集合并,对于等于这个边权的边在并查集上建图,跑一边 t ......
Difference 301 Distance AT_abc ABC

ABC262E - Red and Blue Graph

原题 翻译 诈骗诈骗诈骗诈骗诈骗诈骗诈骗诈骗!!! 第一眼看上去很像一个 NP-Hard 问题,完全没有思路 然后以为 dp ,然后看数据范围一眼寄 首先遇到 01 染色问题,而且一边连接的两点颜色相同/不同(其实主要是不同)会产生贡献的问题,要考虑一下能不能先统一染成一个颜色,然后看改变颜色后会产 ......
Graph 262E Blue ABC 262

第二届“梦羽杯”题解

前言 特别鸣谢出 (蒯) 题人:CJY A 原题:NOIP2008普及组T4 《立体图》 B 原题:HAOI2007 反素数 C ......
题解 第二届

题解 AcWing 1272. 与众不同

题目描述 定义完美序列:若一个序列内没有重复的数,称这个数列为完美数列。 每次给定一个区间 \([l,r]\),求这个区间内最长的完美序列长度。 具体思路 设 \(len_i\) 表示从 \(i\) 出发往右的最长完美序列长度。 我们定义一个指针 \(st\),表示当前枚举的区间左端点,同时定义多一 ......
题解 与众不同 AcWing 1272

ABC159F Knapsack for All Segments

原题 翻译 \(O(n^3)\) 的朴素 \(dp\) 是 simple 的 考虑定义一个子序列是”好的子序列”当且仅当 \(a_l\) 和 \(a_r\) 都在子序列中,容易发现他对答案的贡献是包含他的区间,即 \(l \times (n - r + 1)\) 先说我自己的做法:设 \(dp_{i ......
Knapsack Segments 159F ABC 159

ABC324

T1:Same set 代码实现 n = int(input()) a = list(map(int, input().split())) if len(set(a)) == 1: print('Yes') else: print('No') T2:3-smooth Numbers 把 \(N\) ......
ABC 324

[CF1137C] Museums Tour 题解

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

ARC167D Good Permutation 题解

题意 给定一个长度为 \(N\) 的排列 \((P_1,P_2,\cdots,P_N)\)。称一个排列 \(P\) 为“好排列”当且仅当对于所有 \(1\leq x\leq N\),都能通过不停地使 \(x\leftarrow P_x\) 将 \(x\) 变成 \(1\)。 通过最小次数操作将 \( ......
题解 Permutation 167D Good ARC

[CSP-S2019] 树的重心 题解

[CSP-S2019] 树的重心 因为这道题令我十分兴奋,所以来写一下做完后的思考。 这道题用到了树的重心的种种性质,在写解法的时候会一一点出其用处。 首先,枚举每一条边,然后各自 \(O(n)\) 扫一次的 \(O(n^2)\) 做法是简单的。 那么接下来,就会出现不同的解法了: 优化 \(O(n ......
题解 重心 CSP-S 2019 CSP

P9290 Luna likes Love 题解

原题:[洛谷P9310]([P9310 EGOI2021] Luna likes Love / 卢娜爱磕 cp - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 题目大意 给定一个长度为 \(\large 2n(n\leq 10^5)\) 的序列,序列中 \(\large 1\si ......
题解 P9290 likes 9290 Luna

2023 香山杯 RE部分题解

URL从哪里来 main函数断点下载这里 然后可以看到TempFileName,是out.exe.tmp,还包含路径,直接提取出来用IDA打开,一开始被url误导了,看到了下面的RC4加密去了,使用findcryt软件,看到一个base64加密, 交叉引用 在这 动态调试这个函数 里面的a1,有一串 ......
题解 部分 2023

ABC318E Sandwiches

ABC318E Sandwiches 第一次场切 E 题,感动。虽然比较水 注意到 \(\{a_n\}\) 的值域上限为 \(n\),考虑值域相关算法,对每一个 \(a_i\) 开一个 std::vector ,记作 \(pos_{a_i}\),存储 \(a_i\) 所有的出现位置。 枚举 \(x ......
Sandwiches 318E ABC 318

ABC202E Count Descendants

ABC202E Count Descendants 线段树合并模板题。 每次询问就是给定有序数对 \((u,d)\),求有根树 \(T\) 上,点 \(u\) 的子树内有多少点 \(v\),使得 \(v\) 的深度恰好等于 \(d+1\)。定义根节点深度为 \(1\)。 考虑对每一个点开一个长度为 ......
Descendants Count 202E ABC 202

【ZROJ2730】简单题 可持久化分块题解

Description 给定一棵 \(n\) 个节点的树,每次询问编号为 \([l, r]\) 的点中有多少个是祖先关系。 \(n, q \le 10^5\)。 Solution 直接做的话树上的祖先关系不好统计,那么转化到 \(\texttt{dfs}\) 序上,如果 \(u\) 是 \(v\) ......
题解 ZROJ 2730

AtCoder Beginner Contest 324 DF题题解

比赛链接 D - Square Permutation 其实比较简单,但是比赛时候脑子不转了,竟然在尝试枚举全排列,然后算了一下复杂度直接不会做了。 正解应该是枚举完全平方数,底数枚举到 \(sqrt(10^{14})\) 即可,因为 n 最大为 13。 然后统计一下这个完全平方数各个数字出现了多少 ......
题解 Beginner AtCoder Contest 324

解谜游戏《哈士奇再现》题解

哈士奇再现 题解 目录哈士奇再现 题解题目地图及其分数分题解答及剧情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 解析 这道题考场上 ......
题解 P9517 drink 9517

P9686 Judg. 题解

P9686 Judg. 题解 Part 1 提示 题目传送门 欢迎大家指出错误并私信这个蒟蒻 欢迎大家在下方评论区写出自己的疑问(记得 @ 这个蒟蒻) Part 2 更新日志 2023-10-02 15:50 文章完成 2023-10-04 12:37 文章通过审核 Part 3 解析 一道简单模拟 ......
题解 P9686 9686 Judg

ABC324题解

A/B 赛时没打。 C 暴力判断是相等 s[i] == t 还是替换了一个字符,或者是添加/删除了一个字符。 最后两个判断只需要交换一下 \(s\) 和 \(t\) 的顺序就可以共用一个函数了。 D 注意到 \(N\le 13\),所以平方数不会超过 \(v=10^{13}\),很容易想到暴力枚举 ......
题解 ABC 324