Uva 11396 爪分解】的更多相关文章

https://vjudge.net/problem/UVA-11396 题意: 给出n个结点的简单无向图,每个点的度数均为3.你的任务是判断能否把它分解成若干爪.每条边必须属于一个爪,但同一个点可以出现在多个爪里. 思路: 一个鸡爪当中,有一个中心点,即度为3的点,还有3个边缘点. 每条边都连接了一个中心点和一个边缘点,于是就是二分图判定. #include<iostream> #include<algorithm> #include<cstring> #includ…
题目链接:https://vjudge.net/contest/166461#problem/A 题意: 给定一个图,特点是每个点的度都是3,求是不是原图可以分解为全部鸡爪:每条边只属于一个鸡爪: 分析: 每一个鸡爪的根对应三个其他的顶点,但是这三个点不能再作为鸡爪的根了, 这样,两个鸡爪根就不能直接相连,这就是二分图染色,其中作为根的在一边,作为附属点的另一边: #include <bits/stdc++.h> using namespace std; ; vector<int>…
原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2391 题意: 就给你一个图,图中每个点的度都为3,问你能不能分解为若干爪印...爪印的定义就是一个中心点,三个叶子的树. 题解: 由于每个点的度都为3,那么每个点要么是爪印的中心,要么是叶子,而且是交替出现的,所以只要黑白染色就好 代码: #include<iostream…
题目大意:给你一张无向图,每一个点的度数都是3. 你的任务是推断是否能把它分解成若干个爪(每条边仅仅能属于一个爪) 解题思路:二分图染色裸题.能够得出:爪的中心点和旁边的三个点的颜色是不一样的 #include <cstdio> #include <cstring> using namespace std; #define N 310 #define M 2010 struct Edge{ int to, Next; }E[M]; int head[N], color[N], to…
求mk整除n!,求k的最大值. 现将m分解质因数,比如对于素数p1分解出来的指数为k1,那么n!中能分解出多少个p1出来呢? 考虑10!中2的个数c:1~10中有10/2个数是2的倍数,c += 5:1~10中有10/4个数是4的倍数,所以c += 2,其中有10/8 = 1个数是8的倍数,所以c += 1: 这样10!中就能分解出8个2 对于每个素数p,求出ci / ki的最小值就是答案. #include <cstdio> #include <cmath> #include &…
把{1, 2, 3,,, n}叫做自然排列 本题便是求有多少个n元排列P要至少经过k次交换才能变为自然排列. 首先将排列P看做置换,然后将其分解循环,对于每个长度为i的循环至少要交换i-1次才能归位. 设有d(i, j)个i元排列至少交换j次才能变成自然排列. 则有d(i, j) = d(i-1, j) + d(i-1, j-1) * (i-1) 对于元素i有两种选择,自己成一个长度为1的循环,此时交换次数不变: 或者加到前面任意一个循环的任意一个位置,有i-1中情况,因为所加入的循环长度加一,…
以“爪”形为单元,问所给出的无向图中能否被完全分割成一个个单元. 分析图的性质,由于已知每个点的度是3,所以“爪”之间是相互交错的,即把一个“爪”分为中心点和边缘点,中心点被完全占据,而边缘点被三个“爪”瓜分.分析到这里,用二分图的性质就可以解决了. #include<cstdio> #include<cstring> #include<vector> #include<queue> using namespace std; ; int color[MAXN…
题意: 对于32位有符号整数x,将其写成x = bp的形式,求p可能的最大值. 分析: 将x分解质因数,然后求所有指数的gcd即可. 对于负数还要再处理一下,负数求得的p必须是奇数才行. #include <cstdio> #include <cmath> ; ]; ], cnt = ; void Init() { int m = sqrt(maxn + 0.5); ; i <= m; ++i) if(!vis[i]) for(int j = i * i; j <= m…
题目链接:https://cn.vjudge.net/contest/209473#problem/C 先谈一下二分图相关: 一个图是二分图的充分必要条件: 该图对应无向图的所有回路必定是偶环(构成该环形的边的数量为偶数).暂时不证明,后证. 那么怎么判断一个图的回路是奇环还是偶环呢? 交叉染色法. 随机选择一个点,染成红色,把所有跟它相邻的点染成绿色,再由被染色的绿点出发,把相邻的点染成红色…… 即对于一个点和他相邻的点(两个点之间有边相连叫做相邻),颜色必定不同,如果相同,那么是奇环. 例如…
对于一个数n 设它有两个不是互质的因子a和b   即lcm(a,b) = n 且gcd为a和b的最大公约数 则n = a/gcd * b: 因为a/gcd 与 b 的最大公约数也是n 且 a/gcd + b < a + b 又因为a/gcd 与 b 互质  所以n的最小的因子和为 所有质因子的和 同理推广到多个质因子 由算术基本定理求出所有的质因子 则 nut = 所有质因子 ^ 个数 的和  自己想一想为什么把... 注意n为1时 #include <iostream> #includ…