日杂
文章平均质量分 51
Spinach Protection 九
菜
展开
-
牛客小白月赛#58 C 经典枚举
牛客小白月赛#58 C 经典枚举原创 2022-11-10 17:02:20 · 835 阅读 · 0 评论 -
辗转相除法——数组和的关系
辗转相除法——数组和的关系原创 2022-10-29 23:43:51 · 301 阅读 · 0 评论 -
图论/数据结构-并查集
并查集知识点参考主要应用的知识点:带权并查集的作用,如何维护带权并查集(本质是某个点沿多条能到根结点的路径时,这几条路径长度相等或在取模意义上相等)题解数据结构:由题得,所有元素(动物)都是有相互的关系且关系之间具有传递性,因为有关系可以考虑并查集,而有传递性可以考虑带权并查集。并查集用根节点维护,并查集中每个元素传递性关系用到根结点距离的相对关系维护。那就假定与父节点距离为1的节点是吃父节点的,0是同类,2是被父节点吃的,相对距离即为距离取模3后的值。即并查集确定有无关系,带权的距离确定是什么原创 2022-05-22 22:54:44 · 115 阅读 · 0 评论 -
图论/数据结构-并查集-psort
psort题解题意 a数组中第i位只能与a数组中第|i-d[i]|位交换,问a数组最后能否变成b数组思路 如果把所有能够交换的数放在一个集合中,用并查集维护,那么只需比较ab数组中每一位数的父节点是否一致就可以判断这两数能不能完成交换,即可以判断能否在这个位置完成a->b的变化代码#include <iostream>#include <cstring>#include <algorithm>using namespace std;con原创 2022-05-15 09:59:21 · 220 阅读 · 0 评论 -
数论-欧几里得最大公约数- same gcd
same gcd题解题意 给定a,b,问有多少个x(0<=x<b)满足gcd(a,b)=gcd(a+x,b)思路d=gcd(a,b)=gcd(a+x,b)→1=gcd(a+xd,bd)d=gcd(a,b)=gcd(a+x,b)\to 1=gcd(\frac{a+x}{d},\frac{b}{d})d=gcd(a,b)=gcd(a+x,b)→1=gcd(da+x,db)a+xd∈[ad,ad+bd)\frac{a+x}{d}\in[\frac{a}{d},\frac{a}{原创 2022-05-15 09:58:23 · 151 阅读 · 0 评论 -
图论/数据结构-并查集-农田划分
农田划分题解 题目就是想让A B分的田都是联通的以及价值相当的。我们可以知道第n块田价值2n,除了第n块田,剩下田的价值为(2n)-1,所以第n块田一定是给A的,那么除去第n块地,其余的地把联通块中价值大的给B,而由上推导我们可以知道,在除去第n块地之后,应该要把剩余的价值和大的联通地给B,即第n-1块地及其联通的地给B。 联通嘛,那就用并查集维护。因为第n块地确定给A了,所以只把1~n-1之间的田进行并查集维护;上述分析要记录所有与n-1联通的地,故祖宗节点设置为价值大的地(编号大的)。最后输出原创 2022-05-15 09:57:07 · 110 阅读 · 0 评论 -
数论-约数分算
数论/*给定整数n,胖教授想将1~n这n个数字分成两组,每一组至少有一个数,并且使得两组数字的和的最大公约数最大,请输出最大的最大公约数。输入格式一行一个整数n。输出格式输出一行一个整数表示答案。样例输入6样例输出7数据规模对于20%的数据,保证n≤100。对于100%的数据,保证n≤10。*//*题目意思就是求Sn的最大公约数*/#include <iostream>using namespace std;typedef lon原创 2022-05-15 09:55:58 · 107 阅读 · 0 评论