题解complete compress atcoder
P6859 蝴蝶与花 题解
题意: 有一个长度为 $ n $ 的序列 $ a $ ,其中所有元素都为 $ 1 $ 或 $ 2 $ ,要求进行 $ q $ 次操作,每次操作为以下之一: $ A $ $ s $ :询问是否存在 $ a $ 的连续子序列满足其中元素总和为 $ s $ ,若有合法的方案,输出这个方案的左右端点位置(多 ......
CF1835D Doctor's Brown Hypothesis 题解
题目链接 点击打开链接 题目解法 首先只有在一个强联通分量里的点对才可能合法,因此我们这里说的图默认为强联通图 但是上面的条件成立只需要满足 \(k\ge n\),考虑用好 \(k\) 可以认为是极大的性质 所以说我们可以通过图中所有的环 \(+\) 路径来凑出 \(k\) 不难发现,所有的环能构成 ......
CF249题解
CF249 link CF249E link CF249E题意 给你一个形如下图的矩阵 并有 \(T\) 组询问 每组询问给出 \(x_1,y_1,x_2,y_2\)。 求 \(\sum_{i=x_1}^{x_2}\sum_{j=y_1}^{y_2}A[i][j]\)。 其中 \(A[i][j]\) ......
P7110 晚秋绝诗 题解
好有意思的题目啊。 出题人太厉害了。 思路 考虑一个结论: 我们将两个没插旗的点与中间的点称为一段,其中中间的点必须全部插旗。 那么这一段如果已知两座山的高度,就一定可以得知所有的高度。 考虑为什么。 加入这一段是 \(a\sim b\)。 \[\begin{cases} h_a+h_{a+2}=2 ......
Advent of Code 2023题解 [Mathematica/Python]
Day 1 Part 1 (*读取文件*)lines = ReadList["E:\\ExplorerDownload\input.txt", String]; (*计算校准值*) calibrationValues = ToExpression[ StringJoin[#[[1]], #[[-1] ......
像使用stl一样使用线段树 ——AtCoder Library(转载https://zhuanlan.zhihu.com/p/459579152)
地址:https://zhuanlan.zhihu.com/p/459579152 我这里翻译一下官方的文档。 首先需要满足几个性质。 (注意 ∗ 是个操作,不是单纯的一个乘号) 1)操作满足结合律 即 (a∗b)∗c=a∗(b∗c)2)操作需要有个幺元(基本元/单位元) a∗e=e∗a=a 如果你 ......
【AtCoder Beginner Contest 330)】[E - Mex and Update ] 线段树+二分
本题可以用线段树+二分的方式实现。代码如下: import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.StreamTokenizer; // Pr ......
qoj3542 Very Simple Sum 题解
题目链接 点击打开链接 题目解法 首先不知道 \(a_x+a_y+a_z+a_w\) 和 \(b_x\oplus b_y\oplus b_z\oplus b_w\) 肯定没法做,所以考虑求出和为 \(i\),异或和为 \(j\) 的方案数 考虑 \(x,y,z,w\) 都是在 \([1,n]\) 的 ......
CF1198题解
CF1198 Codeforces Round 576 (Div. 1) CF1198A link CF1198A题意 有一种数字化一段录音的常用方式,是记录每一个时刻的强度值。这些非负的强度值就可以代表一段音频 对于一段音频,若有 \(K\) 个不同的强度值,那么每一位我们都需要 \(k = \l ......
[AGC052B] Tree Edges XOR 题解
题目链接 点击打开链接 题目解法 怎么感觉这场 \(B\) 比 \(C\) 思维量更大 考虑一步很妙的操作:把边权变成点权,以达到简化操作的目的 使每条边的边权为两端点的异或和,手画一下可以发现,操作简化成了交换两端点的点权 我们定义 \(d_{1/2,i}\) 定义为在 \(1/2\) 树上,\( ......
CF1684题解
CF1684 Codeforces Round 792 (Div. 1 + Div. 2) CF1684A link CF1684A题意 有一个用十进制表示的没有前导零的正整数 \(n\) 。Alice 和 Bob 正在用这个数玩一个游戏。Alice 先手,他们轮流进行游戏。 在她的这一轮中,Ali ......
[AGC052C] Nondivisible Prefix Sums 题解
题目链接 点击打开链接 题目解法 好题! 一个序列是不合法的,必定满足某些结论,我们不妨猜测一下 首先如果和为 \(P\) 的倍数,必定不合法 然后手玩几个可以发现,最极限的情况是 \(P-1\) 个 \(1\;+\;\) \(b_i\; + \;\) \(P-b_i\) 如果在这个情况下再加一个 ......
CF689题解
CF689 Codeforces Round 361 (Div. 2) CF689A link CF689A题意 题目描述 迈克在海滩游泳时不小心将手机放入水中。他买了一个带有老式键盘的手机。键盘只有十个数字大小的键,位于以下方式: 1 2 3 4 5 6 7 8 9 0 联系人与他的旧手机一起消失 ......
P3295 [SCOI2016] 萌萌哒 题解
题目链接 点击打开链接 题目解法 暴力并查集 \(merge\) 肯定不可行 对于限制是 \(O(n^2)\) 的,查询却是 \(O(n)\),所以考虑均衡复杂度 可以用倍增的思想求解 令 \(fa_{i,j}\) 为 \([i,i+2^j-1]\) 的并查集数组,记录的是祖先的下标 这样限制不难做 ......
[KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) E
KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) - AtCoder E E - Our clients, please wait a moment (atcoder.jp)(分层图最短路) 因为只能从坐公司汽 ......
AtCoder刷题记录
2023-11-29 AtCoder Beginner Contest 042 排序 #include<bits/stdc++.h> using namespace std; void solve() { vector<int> a(3); for(auto &x : a) cin >> x; so ......
CF1841C Ranom Numbers 题解
题意: 思路: 考虑修改同种字符: 如果要将其修改变大,修改最左侧的字符一定最优。 证明:将一个字符修改变大,自身的贡献可能增加或减少,其左侧的字符的负贡献一定增加,正贡献一定减少。考虑一左一右的两个同种字符,分别将其变大,其自身带来的贡献是相等的,但是修改靠右的字符,只会使左侧更多的字符的负贡献增 ......
CF1843F1 Omsk Metro (simple version) 题解
题意: 维护一棵树,初始有一个编号为 $ 1 $ ,点权为 $ 1 $ 的根节点,后续进行 $ n $ 次操作,操作分为两种: $ + $ $ v_i $ $ x_i $ :表示添加一个点权为 $ x_i $ $ (x_i \in $ { $ -1,1 $ } $ ) $ 的节点,并使其与点 $ v ......
CF1648D Serious Business 题解
题目链接 点击打开链接 题目解法 先考虑朴素的 \(dp\) 不难发现有两个断点 \(x,y\) 是重要的,即 \([1,x]\) 在第 \(1\) 行,\([x,y]\) 在第 \(2\) 行,\([y,n]\) 在第 \(3\) 行 不妨枚举断点 \(y\),然后统计最优的 \(x\) 令 \( ......
CF1846E2 Rudolf and Snowflakes (hard version) 题解
题意: \(T\) \((\)\(1\) \(\le\) \(T\) \(\le\) \(10^4\)\()\) 组询问:是否存在一个满 \(k\) (\(k\) \(\ge\) \(2\)\()\) 叉树节点数恰好为 \(n\) \((\)\(1\) \(\le\) \(n\) \(\le\) \ ......
题解 P8061 [JSOI2016] 炸弹攻击1 - 数据加强版
本篇题解参考 @djwj223,但是本人太弱了,对着代码看了 INF 年才看懂。因此写一篇具体讲解实现方面的题解。在此先表示感谢。 思路 考虑最终的答案圆会是怎样的。第一种是半径达到了 \(R\) 的上界,不能继续扩充。显然这种情况可以把圆移动一下使某个点在圆上,以此进行计算。第二种是楼上所说的与两 ......
luogu2839题解
[国家集训队] middle 题目分析 代码如下。 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned long long ull; const int MAXN=2e4+10; in ......
CF1827C Palindrome Partition 题解
题目链接 点击打开链接 题目解法 首先考虑一个朴素的 \(dp\) 令 \(f_i\) 表示以 \(i\) 结尾的合法子串的个数 为了不重不漏,我们令 \(le_i\) 表示以 \(i\) 为右端点,离 \(i\) 最近的偶回文串的左端点,然后不难得到转移为 \(f_i=f_{le_i-1}+1\) ......
ISCTF 逆向题解
ISCTF 逆向题解用一个晚上的时间看了看ISCTF,有的题还蛮难的(毕竟得嘎嘎猜出题人想法)CrackMewinhex打开exe,修改标识头PFX为UPX然后放进UPXshell里面试试脱了,放进ida,直接反编译得到flagEasyReexeinfo看看这个是什么64位,放进ida反编译得到一段 ......
ICPC2022Xian L Tree 题解
Link ICPC2022Xian L Tree Question 给出一个根为 \(1\) 的树,需要将树分成几个块每个块,一个块中的节点需要满足以下条件中的一个: 对于所有的 \(u,v \in S,\ u \neq v\) ,满足 \(u \in subtree(v)\) 或 \(v \in ......
[ABC277G] Random Walk to Millionaire 题解
题目链接 点击打开链接 题目解法 首先 \(O(n^3)\) 的 \(dp\) 是显然的,令 \(f_{i,j,k}\) 为第 \(i\) 步在 \(j\),当前等级为 \(k\) 的 \([i,n]\) 步获得钱数的期望,转移枚举出边即可 一个很妙的优化是:贡献都是 \(k^2\) 的形式,所以我 ......
[ARC139D] Priority Queue 2 题解
题目链接 点击打开链接 题目解法 弱化题目 考虑一个常用的转化(更多用于期望):枚举答案,将 \(=\) 变成 \(\le\) 或 \(\ge\) \(\sum\limits_{i=1}^mi\times c(x=i)=\sum\limits_{i=1}^mc(x\ge i)\) 枚举 \(i\), ......
Codeforces Round 731 Div3 A-G题解
Codeforces Round #731 (Div. 3) 在家打了好久COD和战雷,偶尔也得学习一下,要不然感觉时间都浪费了,游戏玩多了也腻,保持适当学习才能爽玩游戏。申请完了也不想做太难的题了,那么就来一场div3保持一下思维敏捷度吧。 A. Shortest Path with Obstac ......
【题解】CF1621G Weighted Increasing Subsequences
常规,但不常规。 思路来自 @gyh. 思路 BIT 优化计数。 本来考虑的是对 LIS 进行计数,得到一个对 \([]\) 形式的值套三层求和的方式,然后再瞪眼找优化方法,但是没有发现什么好的处理方法,于是只能考虑转换计数方法。 考虑通过每个位置对答案的贡献计数。假设某个位置 \(x\) 被一个合 ......