nesting 762f tree cf

CF350E Wrong Floyd

什么一眼构造题 首先要卡Floyd的关键就是存在某两个点\(x,y\),满足这两个点之间的所有最短路经过的点中(除\(x,y\)本身)至少有一个非关键点 因此很容易想到如下构造法,先随便找一个关键点\(K\),然后把所有非关键点和\(K\)连边(当然如果所有点都是关键点就显然无解) 接下来先随便连边 ......
Wrong Floyd 350E 350 CF

CF638D Three-dimensional Turtle Super Computer

什么大力爆搜题 不妨考虑枚举要拿掉的位置,考虑怎么检验它是某两个点之间必经之点 简单手玩一下会发现如果存在这么一条路径,那么我们一定可以把该路径的端点定为与要拿掉的点距离为\(1\)的点上(即与要拿掉的点上下左右前后\(6\)连通) 因此我们把这些点找出来后爆枚点对,判断路径是否唯一就直接爆搜即可 ......

CF73D FreeDiv

首先先把原图中的连通信息求一下,不妨设其中有\(tot\)个连通块,每个连通块的大小为\(sz_i\) 考虑第二步操作时我们需要连\(tot-1\)条边使得图连通,而每个连通块中只有\(\min(sz_i,k)\)个点可以参与连边 因此如果\(\sum_{i=1}^{tot} \min(sz_i,k ......
FreeDiv 73D CF 73

CF543B Destroying Roads

好经典的题,因为暑假前集训做过类似的思想的题所以知道怎么处理 这题由于要求最多的删去的边数,则等价于求最少保留几条边,很显然留下的边一定是最短路上的 但问题是如果两条路不相交的话很简单,可事实是两条路径可以重叠一些部分,这些边用了两次可能可以使答案变优 关于这种图上两条路径的题有一个经典结论,即两条 ......
Destroying Roads 543B 543 CF

CF513G3 Inversions problem

CF513G3 Inversions problem 更好的阅读体验 推式子题。 task 1 直接爆搜,统计每种结果的答案,最后加在一起除以总方案数。 task 2 数据范围变大,显然不能记录整个数组的状态,考虑拆位算贡献。设 \(f_{i,j,k}\) 表示交换了 \(k\) 步,\((i,j) ......
Inversions problem 513G 513 CF

Huffman Tree in C

// // main.c // HuffmanTree // // Created by steve xiaohu zhao on 2023/10/18. // #include <stdio.h> #include <stdlib.h> // 定义一个 Huffman Tree 的节点 struc ......
Huffman Tree in

CF557D D. Vitaly and Cycle

小清新分类讨论题 首先不难发现这题加边的上界就是\(3\),并且只有当图中一条边没有时才会取得,方案数就是\(C_n^3\) 而一条边不加的情况也很容易,可以先跑个染色看下有没有奇环,如果有的话就直接输出即可 而加两条边的情况也比较简单,当图中都是孤立边和孤立点时(即所有点度数均\(\le 1\)) ......
Vitaly Cycle 557D 557 and

CF1873B题解

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

vue双端算法代码分析、数组转树(tree)结构

let oldArray = [1, 2, 3, 4, 5]; let newArray = [1, 2, 6, 4, 5]; function patch(oldArr, newArr) { let oldStart = 0; let oldEnd = oldArr.length - 1; let ......
数组 算法 结构 代码 tree

CF1868C Travel Plan 题解

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

【前缀和优化 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

[题解] CF1790E - XOR Tree

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

[CF1168C] And Reachability

And Reachability 题面翻译 题目描述 Toad Pimple 有一个整数数组 \(a_1,\dots,a_n\)。 当 \(x < y\) 且存在 \(x = p_1 < \dots < p_k = y\) 的数列 \(p\) 满足 \(a_{p_i} \& a_{p_{i+1}} ......
Reachability 1168C 1168 And CF

[题解]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

CF484D Kindergarten

看着没思路就推性质呗。 如果一段数不是严格单调就可以弄成两半使得差的和至少不减小。具体方法如下: 最大值与最小值有一个不在两端。直接将不存在最大值与最小值的一段割掉。因为一段的值为非负数所以差的和不会减少。 最大值与最小值均在两端。从前往后或者从后往前找到第一个不满足单调性的位置割开,最坏情况下差的 ......
Kindergarten 484D 484 CF

CF529B Group Photo 2 (online mirror version)

看值域这么小,考虑枚举最大高度 \(maxh\): \(h_i>maxh\) 且 \(w_i>maxh\),不合法。 \(h_i>maxh\) 且 \(w_i\leq maxh\),必须换。 \(h_i\leq maxh\) 且 \(w_i>maxh\),不能换。 \(h_i\leq maxh\) ......
version online mirror Group Photo

Cactus Wall (CF E)

思路: 自己想的是 记忆化搜索 题解 是 在合法点建图连边 本来有仙人掌 就边权为0, 不然为1, 从左端到达有段的最短路径 由于边权是1 或者0 , 直接双端bfs 即可, deque, 0放前面, 1放后面, deque<> q; ......
Cactus Wall CF

CF837G Functions On The Segments

CF837G Functions On The Segments Functions On The Segments - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 目录CF837G Functions On The Segments题目大意思路code 题目大意 你有 \(n\) ......
Functions Segments 837G 837 The

[CF1178 F2] Long Colorful Strip

F2 - Long Colorful Strip 很牛的题! 首先,我们可以将颜色相同的一段区间缩成一个点,那么每次加入一个新的颜色时,最多只能将其所覆盖的那个颜色所属的区间分成三部分(原本:00000000,加入1后\(\rightarrow\)0001111000),也就是增加了两个点,那么也就 ......
Colorful Strip 1178 Long CF

CF814B An express train to reveries

思维好题,保证有解大大降低了代码难度。 显然最多有两个位置不同,不然根据鸽巢原理一定有一个序列不同位置超过一个。 然后大力分类讨论: 仅有一个位置不同。此时其余位置与排列相同,否则一定有一个序列不同位置超过一个。然后将没有用过的那个数丢到这个位置即可。 有两个位置不同。此时其余位置显然也与排列相同。 ......
reveries express train 814B 814

CF1470B Strange Definition

\[\frac{\operatorname{lcm}(x,y)}{\gcd(x,y)}=p^2 \]\[xy=(p\times\gcd(x,y))^2 \]可以看出 \(x\) 与 \(y\) 有关联等价于 \(xy\) 是完全平方数,也就是说每个质因子出现次数的奇偶性必须相同,而这东西是有传递性的 ......
Definition Strange 1470B 1470 CF

CF1068B LCM

\[\frac{\operatorname{lcm}(a,b)}{a}=\frac{\frac{a\times b}{\gcd(a,b)}}{a}=\frac{b}{\gcd(a,b)} \]因为 \(a\) 最大可以到 \(10^{18}\),而 \(b\) 最大只有 \(10^{10}\),对于 ......
1068B 1068 LCM CF

CF841B Godsend

首先偶数是可以忽略的,因为拿了不影响奇偶性,并且序列中只有偶数或没有数均为先手必败,所以两人拿多少也都没有关系。 考虑奇数的个数,如果有奇数个奇数,先手直接拿完获得胜利。 否则先手可以先拿奇数个奇数,剩下仍然有奇数个奇数,而后手只能拿偶数个奇数,这就保证了下一轮的奇数个数变成了奇数,先手仍然必胜。 ......
Godsend 841B 841 CF

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

2023香山杯nesting详解

nesting 通过函数分析 ,有一个VM的指令解析器,也看不懂,VM的题看起来特别费劲 在sub_16BC里面找cmp的flag比对指令,0x1E21和0x1EC9。最终发现输入正确的字符和错误的字符,0x1E21处的指令执行次数不一样,可以通过输入fo,fl,fi,其中fl是正确的字符,发现正确 ......
nesting 2023

CF1213 合集

CF1213A Chips Moving 考虑是一道非常简单的入门题 就是奇数的个数和偶数的个数取 \(\min\) 即可 code #include<bits/stdc++.h> using namespace std; const int NN = 108; int n; int a,cnt[2 ......
1213 CF

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