题意: 定义f(x) 为数x的所有数字的乘积. 求满足f(k)=f(x)的不同的不含数字1的k的个数. x的长度小于50. 不超过1000组数据.Solution: 由于函数是乘积的形式,可以由质因子着手分析: 数字的范围是1~9,1~9中只有2,3,5,7 四个质数,即f(...
分类:
其他好文 时间:
2015-04-22 20:26:21
阅读次数:
158
前言:很久以前看过了线性筛,没怎么注意原理,但是后来发现线性筛还有很有用的。。比如上次做的一道题就需要找出每个数的最小质因子,先筛再找就太慢了。。一看线性筛发现就可以直接在筛的过程中处理出来了!今天又学习了屌炸天的jzp线性筛,可以在o(n)的时间内求出欧拉函数, 莫比乌斯函数等积性函数原理:首先j...
分类:
其他好文 时间:
2015-04-21 22:35:02
阅读次数:
155
题目链接:Codeforces 490D Chocolate
两个种变换方式无疑是减掉一个因子3加上一个因子2和减掉一个因子2,所以从因子的角度出发,如果两组数存在不同的质因子肯定是不可以的。剩下的就是构造答案了。
#include
#include
#include
#include
using namespace std;
const int maxn = 105;
int A...
分类:
其他好文 时间:
2015-04-16 19:58:07
阅读次数:
157
题意:有n个点均匀的分布在圆周上,每个点有0,1两种状态,问你所有 1的点能否主城正多边形。解题思路:数论 + dp ,假设可以组成正 t 边形 ,那么 t 一定要是 n的因子 ,又因为如果能组成 正t边形 ,一定能组成 正 2*t 边形,3*t边行等等,所以只需要质因子。然后用 0 去排除这些质因...
分类:
其他好文 时间:
2015-03-20 23:23:05
阅读次数:
178
通过这道题学到了2个知识:
1.一个数的质因子一定小于等于这个数的开根
2.一个数的因子(约数)数等于 π(各质因子数+1)
#include
#include
#include
#include
using namespace std;
const int maxn = 55555;
//#define DEBUG
int vis[maxn];
int prime[maxn];
int c...
分类:
其他好文 时间:
2015-03-18 14:10:25
阅读次数:
126
把只包含质因子2、3和5的数称作丑数(Ugly Number),例如:2,3,4,5,6,8,9,10,12,15,等,习惯上我们把1当做是第一个丑数。
写一个高效算法,返回第n个丑数。
import static java.lang.Math.min;
import static java.lang.System.out;
public class UglyNumber {
...
分类:
其他好文 时间:
2015-03-14 17:04:26
阅读次数:
123
给定一个大数,分解质因数,每个质因子的个数为e1,e2,e3,……em,
则结果为((1+2*e1)*(1+2*e2)……(1+2*em)+1)/2.
//light oj 1236 大数分解素因子
#include
#include
#include
#include
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2015-03-11 23:31:15
阅读次数:
373
对正整数n,欧拉函数是
例如euler(8)=4,因为1,3,5,7均和8互质。
Euler函数表达通式:euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有素因数,x是不为0的整数。euler(1)=1(唯一和1互质的数就是1本身)。
欧拉公式的延伸:一个数的所有质因子之和是euler(n)*n/2...
分类:
其他好文 时间:
2015-03-11 17:16:23
阅读次数:
157
题意:大概是求前n个数的最大公倍数。解题思路:筛法+质因子分解,敲玩就去睡觉了,没想到没优化被cha了。。。解题代码: 1 // BEGIN CUT HERE 2 /* 3 4 */ 5 // END CUT HERE 6 #line 7 "ThePermutationGame.cpp...
分类:
其他好文 时间:
2015-03-10 08:58:27
阅读次数:
387
poj 1091 (容斥原理)
题意:
给出了n和m,要求出满足最大公约数(x1,x2,...,xn,m)=1的x1,...,xn的组数sum,其中必须满足0
限制:
n
思路:
容斥原理
容斥有两种做法
1. 枚举m的因子来容斥
2. 枚举最大公约数(x1,x2,...,xn,m)包含的质因子来容斥
这里是第二种做法
{CSDN:CODE:606880}...
分类:
其他好文 时间:
2015-02-23 09:41:08
阅读次数:
96