这个题目要求把一个无向连通图里面的所有边,分成 两个一对,只能出现一次,而且一对边必须是连在一起的,点可以复用 但边不可复用可解条件很易得,因为图是连通的,只要边数为偶数即可。一开始我借着做欧拉回路的方法,直接DFS暴搜,沿路做标记,遇到未标记的连续两条边 输出即可不过 事实证明这个算法是错的暴搜能...
分类:
其他好文 时间:
2014-07-07 09:20:18
阅读次数:
158
hdu2824 The Euler function(欧拉函数个数)...
分类:
其他好文 时间:
2014-07-03 17:42:32
阅读次数:
209
题目链接:uva 10692 - Huge Mods
题目大意:给出一个数的次方形式,就它模掉M的值。
解题思路:根据剩余系的性质,最后一定是行成周期的,所以就有ab=abmod(phi[M])+phi[M](phi[M]为M的欧拉函数),这样就可以根据递归去求解。
#include
#include
#include
const int maxn = 15;
int A[...
分类:
其他好文 时间:
2014-07-03 15:47:56
阅读次数:
204
下面内容摘自维基百科:五边形数定理[编辑]五边形数定理是一个由欧拉发现的数学定理,描写叙述欧拉函数展开式的特性[1][2]。欧拉函数的展开式例如以下:亦即欧拉函数展开后,有些次方项被消去,仅仅留下次方项为1, 2, 5, 7, 12, ...的项次,留下来的次方恰为广义五边形数。当中符号为- - +...
分类:
其他好文 时间:
2014-07-02 22:39:19
阅读次数:
219
定义
欧拉函数f(n)表示小于n并且与n互质的数的个数
f(n)=n(1?1p1)(1?1p2)…(1?1pk)
(pi为n的质因子)
代码
C++ 单个处理int eulerPhi(int n) {
int m = (int)sqrt(n+0,5);
in ans = n;
for (int i = 2; i m; i++) {...
分类:
其他好文 时间:
2014-07-02 07:53:35
阅读次数:
207
题目链接:点击打开链接
题意:
给定n个点m条边的无向图
求从1点开始经过每条边至少一次最后回到1点的最小路程
显然就是找一条路径可重复的欧拉回路
思路:
首先对于欧拉回路的结论是:所有点的度数都为偶数
因为所有边至少经过一次,那么可以把题意转换成加最少多少条边使得图满足以上结论
而加的边目的是为了把奇度数转成偶度数,先floyd一下得到任意点间加边的最小花费
dp[i]表示状态...
分类:
其他好文 时间:
2014-07-01 14:47:43
阅读次数:
274
链接:http://vjudge.net/problem/viewProblem.action?id=18806描述:给出一堆珠子,每个珠子有两种颜色,有一端颜色相同的珠子可以串在一起,问是否可以把所有珠子串在一起,并求其中一种方案。思路:欧拉回路 以颜色作为节点,以珠子作为边建图,无向图。下...
分类:
其他好文 时间:
2014-07-01 14:09:10
阅读次数:
283
链接:http://vjudge.net/problem/viewProblem.action?id=19492描述:单词接龙思路:求欧拉回路或欧拉道路。 首先建图,以字母为节点,单词为边。因为单词不可能倒序,所以是有向图。 判断图的连通性,dfs就可以做到,把它当成无向图就好了。然后判...
分类:
其他好文 时间:
2014-07-01 12:14:06
阅读次数:
149
最基本的欧拉函数:
欧拉函数:求小于n的与n互质的个数
欧兰函数公式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数
就是要求这样的式子啦,不过求这条式子,相信有很多种方法可以求,这个不是难题;
不过问题是如何巧妙地求,如何简洁地写出代码。
直接硬求,或者求出质因数之后求都不是巧妙的...
分类:
其他好文 时间:
2014-06-29 22:38:17
阅读次数:
266
本题就是以每个节点和节点之间建路,而且说明是无向图,不过这里有个技巧,就是根据题意把它当成有向图来做,就成了直接查找有向图的欧拉回路就可以了。因为题意是需要每条边都走两遍的,而且每次走的方向相反。
观察出这点,那么这道题就好做啦,直接建图,Feury递归求解就可以了。
建图注意需要建邻接表,不要建矩阵,因为建成矩阵,那么会很大很大,而根据题意,建成邻接表最多只需要5倍的顶点数。
打印的顺序是...
分类:
其他好文 时间:
2014-06-27 08:58:59
阅读次数:
187