counting graphs 1857g cf

Sampling from Large Graphs

目录概主要内容 Leskovec J. and Faloutsos C. Sampling from large graphs. KDD, 2006. 概 讨论了不同稀疏化方法对于 large-graph 的`结构' 的保持. 主要内容 作者本文的目的是希望比较不同的'稀疏化'方法: 利用一些方法从 ......
Sampling Graphs Large from

题解 CF1651F【Tower Defense】

一个塔防游戏。 一共有 $n$ 个塔按 $1 \sim n$ 的顺序排成一列,每座塔都有魔力容量 $c_i$ 和魔力恢复速率 $r_i$。对于一座塔 $i$,每过一秒它的魔力 $m_i$ 会变为 $\min(m_i+r_i, c_i)$。每座塔初始时满魔力。 一共有 $q$ 个怪物,每个怪物有两... ......
题解 Defense 1651F Tower 1651

【题解 CF840C & P4448】 On the Bench & 球球的排列

On the Bench 题面翻译 给定一个序列 \(a(a_i\le 10^9)\),长度为 \(n(n\le 300)\)。 试求有多少 \(1\) 到 \(n\) 的排列 \(p_i\),满足对于任意的 \(2\le i\le n\) 有 \(a_{p_{i-1}}\times a_{p_i} ......
题解 amp Bench P4448 4448

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

Robust Graph Representation Learning via Neural Sparsification

目录概符号说明NeuralSparse Zheng C., Zong B., Cheng W., Song D., Ni J., Yu W., Chen H. and Wang W. Robust graph representation learning via neural sparsifica ......

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

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

学习笔记:Graph WaveNet

学习和复现一下经典模型Graph WaveNet,事实证明结果跟现在的比也差不了多少,速度也挺快。目前就先把经典模型都学习一遍吧。 ......
WaveNet 笔记 Graph

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

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