P1463 [SDOI2005]反素数ant
题意:
题解:
思维难度不高,考虑到n较大,而反质数个数较少
所以只要算出每个反质数即可
考虑如何计算,可以发现,我们只需枚举计算出约数有x个的最小数,再做一下判断即可
另外约数的个数=(a1+1)(a2+1)(a3+1)......
其次有三个细节需要注意
1.是对约数个数的预计,小了会造成wa
2.相应约数就会相应需要计算2^3000次方,而由于实际答案不超过2e9,所以对于那些在任何一个环节超过2e9的都不用计算
3.在2的基础上,不要将2e9扩大太多,因为在运算中有将其平方的操作
代码:
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define INF 2999999999
#define INF2 2000000000
ll f[],b[][];
bool cmp(ll a,ll b)
{
return(a>b);
}
ll js(ll x,ll y,ll z)
{
if (x==) return(x);
ll tmp=INF;
for (ll i=y;i>;i--)
if (x%i==)
{
ll tmp2=b[z][i-]*js(x/i,i,z+);
if (tmp2!= && tmp2<=INF2) tmp=min(tmp,tmp2);
}
return(tmp);
}
int main(){
ll p=;
ll a[]={,,,,,,,,,,,,,,,};
for (ll i=;i<=p;i++)
{
b[i][]=;
for (ll j=;j<=;j++)
{
b[i][j]=b[i][j-]*a[i];
if (b[i][j]>INF2) break;
}
}
ll n,m=;
cin>>n;
for (ll i=;i<=m;i++)
{
f[i]=js(i,i,);
}
p=m;
ll maxn=;
// for (int i=1;i<=p;i++)cout<<f[i]<<endl;
for (int i=p-;i>=;i--)
f[i]=min(f[i+],f[i]);
for (int i=p;i>=;i--)
if (f[i]<=n)
{
maxn=max(maxn,f[i]);
}
cout<<maxn;
}
P1463 [SDOI2005]反素数ant的更多相关文章
- 洛谷 P1463 [SDOI2005]反素数ant
P1463 [SDOI2005]反素数ant 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i< ...
- [luogu]P1463 [SDOI2005]反素数ant[dfs][数学][数论]
[luogu]P1463 [SDOI2005]反素数ant ——!x^n+y^n=z^n 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足: ...
- 洛谷 P1463 [SDOI2005]反素数ant && codevs2912反素数
题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...
- Luogu P1463 [HAOI2007]反素数ant:数学 + dfs【反素数】
题目链接:https://www.luogu.org/problemnew/show/P1463 题意: 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x ...
- [BZOJ1053][SDOI2005]反素数ant 数学
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1053 假设这个最大的反素数为$x$,那么$1<p<x$中数的因子数都没有$x$ ...
- [SDOI2005]反素数ant
题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...
- 洛谷 1463[SDOI2005] 反素数ant
题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...
- 【BZOJ】【1053】【HAOI2007】反素数ant
搜索 经典搜索题目(其实是蒟蒻只会搜……vfleaking好像有更优秀的做法?) 枚举质数的幂,其实深度没多大……因为$2^32$就超过N了……而且质数不能取的太大,所以不会爆…… /******** ...
- BZOJ 1053: [HAOI2007]反素数ant dfs
1053: [HAOI2007]反素数ant 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=1053 Description 对于任何正整 ...
随机推荐
- 996ICU与程序猿的个人成长
目录 规划 学习 专业领域知识 知识广度 第二职业 理财 借势 添砖加瓦 最近一段时间,996ICU在互联网界引发"大地震",从普通员工.行业大佬甚至官媒都进行了发声,大家对这个问 ...
- spring boot(十):定时任务
springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现. 1.pom包配置 <dependency> <groupId>org.springframework ...
- delimiter 与 存储过程
1.如此执行语句不行,需要在 delimiter IF not EXISTS ( SELECT * FROM information_schema. COLUMNS WHERE table_schem ...
- zabbix 在图形中显示网络设备的接口描述
zabbix原始模板没有提供来显示网络设备接口的描述,我们通常看到的图形显示是下面这样的: zabbix 3之后图形显示变化蛮大的,但我们乍一看,并不知道这个ethernet0/1是什么接口,网络设备 ...
- pt-table-checksum检测不出主从差异处理
几个月前写过pt-table-checksum 3.0.4检测不出主从差异数据,当时的解决方案是使用旧版本,另一个挫方法是自行设置binlog_format='STATEMENT'.现在已经发布到3. ...
- Apple Watch 开发详解
Apple Watch 开发详解 Apple Watch现在对于第三方开发者来说更多的还是一块额外的屏幕.暂时WatchKit没有能给出足够的接口.现在Watch App的主要运算逻辑需要依赖iPho ...
- 判断网络远端服务器是否断开连接(心跳连接:socket.sendUrgentData)
1.socket类的方法isClosed().isConnected().isInputStreamShutdown().isOutputStreamShutdown()等,这些方法都是本地端的状态, ...
- DSO 代码框架
从数据流的角度讲一遍 DSO 代码框架. DSO 的入口是 FullSystem::addActiveFrame,输入的影像生成 FrameHessian 和 FrameShell 的 Object, ...
- Ex 6_19 至多用k枚硬币兑换价格_第七次作业
子问题定义: 定义一个二维数组b,其中b[i][j]表示用i个硬币是否能兑换价格j,表示第i个币种的面值, 递归关系: 初值设定: 求解顺序: 按下标从小到大依次求解数组b每一列的值,最后二维数组b的 ...
- Math对象应用详解
JavaScript中的Math对象提供了大量的算术运算功能和数值操作方法. JavaScript中的Math对象的与众不同之处在于,它是一个全局对象.在使用Math对象之前,既不需要将一个变量声明为 ...