zoj2562:搜索+数论(反素数)】的更多相关文章

题目大意:求n以内因子数量最多的数  n的范围为1e16 其实相当于求n以内最大的反素数... 由素数中的 算数基本原理 设d(a)为a的正因子的个数,则 d(n)=(a1+1)(a2+1).....*(an+1); 又由反素数的性质2: p=2^t1*3^t2*5^t3*7^t4.....必然t1>=t2>=t3>=.... 我们可以指定搜索策略和剪枝 详见代码和注释 #include <iostream> #include<stdio.h> #include&…
题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最大的一个. 分析:反素数定义:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0<i<x),都有g(i)<g(x),则称x为反素数. 性质一:一个反素数的质因子必然是从2开始连续的质数.性质二:p=2^t1*3^t2*5^t3*7^t4.....必然t1>=t2>=t3>=.... 那题题目相当于求解小于等于N中,…
分析 kuangbin的blog已经讲的很好了,我做一点补充 1.当做x*y>z的比较时,如果x \(\ast\) y过大,可以写成x>z/y 2.分解质因数时选择用f[][0]保存质数,方便查错 3.写程序时分段写,防止变量名写错查很久 一道不错的题(对我来说) #include <bits/stdc++.h> using namespace std; #define ll long long #define F(i,a,b) for(int i=a;i<=b;++i) #…
\([POI2002][HAOI2007]\)反素数 题目描述 对于任何正整数x,其约数的个数记作\(g(x)\).例如\(g(1)=1.g(6)=4\). 如果某个正整数x满足:\(g(x)>g(i) 0<i<x\),则称x为反质数.例如,整数\(1,2,4,6\)等都是反质数. 现在给定一个数\(N\),你能求出不超过\(N\)的最大的反质数么? 输入输出格式 输入格式: 一个数\(N(1<=N<=2,000,000,000)\). 输出格式: 不超过\(N\)的最大的反…
反素数: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数. 有两个特点: 1.一个反素数的质因子必是从2开始的质数 2.如果,那么必有 最常见的问题如下: (1)给定一个数,求一个最小的正整数,使得的约数个数为 (2)求出中约数个数最多的这个数 即是通过搜索建立一个搜索树,递归出合适的所有的情况,再加上剪枝. ZOJ2562 题意: 给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最大的一个. #inclu…
题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最小的一个.(1 <= n <= 10^16) 题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=11781 这时一道反素数的应用. 反素数讲解:http://blog.csdn.net/ACdreamers/article/details/25049767 反素数的定义:对于任何正整数,其约数个数记为,例如,如果某个正整数满…
1053: [HAOI2007]反素数ant Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1497  Solved: 821[Submit][Status] Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6等都是反质数.现在给定一个数N,你能求出不超过N的最大的反质数么? Input 一个数N…
[BZOJ1053][HAOI2007]反素数(搜索) 题面 BZOJ 洛谷 题解 大力猜一下用不了几个质因子,那么随便爆搜一下就好了. #include<iostream> #include<cstdio> using namespace std; int pri[15]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43}; int ans,d,n; void dfs(int x,int s,int D) { if(x==15){if(d<D…
/* 这题1 <= n <= 1016,暴力肯定是TLM,所以看了大牛求解小于N的反素数的算法,思路大致是这样的: 性质1:一个反素数的质因子一定是从2开始的若干个连续质数. 因此可以枚举素因子,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47..最多也就这么几个. 性质2:若有p=2^a1*3^a2*5^a3*......,则必有a1>=a2>=a3>=............an. 另外,如何求p的正约数个数呢,答案就是(a1+1)*(a2…
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3085 题意:求n(<=10^100)之内最大的反素数. 思路: 优化2: int prime[]= { 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101,103,107,109, 113,127,131,137,139, 14…