eddy专题

【HDU】2204 Eddy's爱好 容斥原理

传送门:【HDU】2204 Eddy's爱好 题目分析:首先,对于所有形如M^K的数我们都可以转化成M^(p1^k1 * p2^k2 * p3^k3 * ... )的形式,其中p1,p2,p3..为素数。则所有的M^K都可以转化成M'^p,其中p为素数。我们意识到2^60>10^18,所以只要求出前60以内的所有素数即可。然后,由于2*3*5*7>60,其中一个K的质因数最多只有三种。

hdu 1162 Eddy's picture(基础最小生成树)

题目:         连接:点击打开链接 题意:         n个点,是每个点相互连通(直接间接),求最短距离。 思路:         prim()最小生成树。把点的距离存在map中。 代码: #include<iostream>#include<cstdio>#include<cmath>#include<cstring>using namespace std;

hdu 1161 Eddy's mistakes(字符串:读入一行)

很水的一道题,考察的就是读入一行字符串 之前一直没有认真学习过,今天发现了一篇很不错的博客 分享一下: AC代码如下: #include <cstdio>#include <iostream>#include <cstring>using namespace std;char str[1001];int main(void) {while(cin.getline(str, 1

hdu 1165 Eddy's research II(数学:等差 等比公式)

给出一个递归形式,推出通项公式即可 很容易推得A(1,x) = x+2 则A(2, x) = A(1, A(2, x-1)) = A(2, 0) + 2*x = A(1,1) + 2*x = 2*x+3 A(3, x) = A(2, A(3, x-1)) = 2*A(3, x-1) + 3; 令f(x) = A(3, x), 则可得f(x) = 2*f(x-1) + 3 令g(x) =

hdu1164 Eddy's research I(数论:唯一分解式)

一道很简单的水题有木有啊!! 我又TLE了好几次 原因是我用的是逗号表达式,今天听学长说了才知道,逗号表达式的结果就是最后一个逗号后表达式的结果 所以我的程序会一直判断正确,一直继续执行... 看到题目想都没想就用欧拉函数变形,TLE后我还以为真的是算法问题 想了想和打表差的也不多啊... 欧拉定理15ms: #include <math.h>#include <stdio.h

HDU 2204 Eddy's爱好 容斥

题意: 输入n,求出1~n中,有多少个值可以表示为M^K(K>1)。 思路: 容斥。这题算是我的容斥第一题吧。现在回头看容斥原理,就是奇数个集合就加,偶数个集合就减(说得貌似顶简单,在做题过程中找该容斥什么也蛮累的= =)。 首先看这个,对于2^4和4^2,如果直接计算个数,这样会导致重复。因此指数应该强制为质数(素数),则可以避免这个问题(根据算术基本定理,一个大于1的值总能表示为素数的

Hud 1162 Eddy's picture[MST(kruscal)]

题目链接:点击打开链接 还是很基础的最小生成树 #include<cstdio>#include<algorithm>#include<cmath>using namespace std;const int N=105;const int Max=5005;int n,top,father[N];struct Point{double x,y;}point[N];str

Eddy's research I HDU - 1164(DFS大爆搜)

红红最近喜欢上了一个叫做素数的东西,她发现,所有的数都能够被分解成几个素数的乘积,可是她太懒了,所以想请你写一个程序来完成这个过程。   Input 多组输入数据,每组数据占一行,包含一个数x(1<x<=65535) Output 在一行内输出符合题意的解(如果有多个素数因子则按字典序输出) Sample Input 3292 Sample Output 32*2*73 对于

hdu 2204 Eddy's爱好 容斥原理

给你一个正整数N,确定在1到N之间有多少个可以表示成M^K(K>1)的数。 我们可以由n^(1/p),知道指数为p的有多少个数。 通过观察,可以发现若一个数可以表示成x^(k*t),则可以表示成(x^k)^t。因此指数必然为素数。 枚举素数便可以得到指数为p的个数,但是可能出现重复,例如:x^3=y^5,其中x=t^5,y=t^3。 运用容斥原理,设a[i]表示指数为第

HDU 2200 Eddy's AC难题

Eddy's AC难题 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6821    Accepted Submission(s): 3280   Problem Description Eddy是个ACMer,他不仅喜欢做ACM

Eddy's AC难题 2200

Problem Description Eddy是个ACMer,他不仅喜欢做ACM题,而且对于Ranklist中每个人的ac数量也有一定的研究,他在无聊时经常在纸上把Ranklist上每个人的ac题目的数量摘录下来,然后从中选择一部分人(或者全部)按照ac的数量分成两组进行比较,他想使第一组中的最小ac数大于第二组中的最大ac数,但是这样的情况会有很多,聪明的你知道这样的情况有多少种吗? 特别