[题解](约数)BZOJ_1053_反素数
2024-09-05 11:00:39
三条引理:
1.1~N中最大的反质数,就是1~N中约数个数最多的最小的一个
比较显然,是应该看出来的一条
2.1~N中任何数的不同因子都不会超过10个,且所有质因子的指数之和不超过30:
2*3*5*7*11*13*17*19*23*29*31 > 2*10^9
2^30 > 2*10^9
3.x的质因子是连续的若干最小的质数,质数单调递减
如果有指数不单调,那么可以通过交换质因子的方式证出不是反质数或者更优
通过搜索实现:
枚举每个质因子的指数,根据引理1更新答案,根据引理2、3剪一些枝
不开longlong一时爽,一会提交火葬场
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n;
const int p[]={,,,,,,,,,,};
int ans,numans;//数和约数个数
void dfs(int pos,ll sum,int lst,int sumk,int cnt){//sumk指数之和,cnt为约数个数
if(sumk>)return;
if(pos==){
if(cnt>numans)ans=sum,numans=cnt;
else if(cnt==numans&&sum<=ans)ans=sum,numans=cnt;
return;
}
int s=;
for(int i=;i<=lst;i++){
dfs(pos+,sum*s,i,sumk+i,cnt*(i+));
s*=p[pos];
if((long long)(sum*s)>n)break;
}
}
int main(){
scanf("%d",&n);
dfs(,,,,);
printf("%d",ans);
}
最新文章
- raspbian调整键盘设置
- python基础之运算符
- OJ提交题目中的语言选项里G++与C++的区别(转)
- BZOJ2285 : [Sdoi2011]保密
- mac 下安装jmeter
- 待实验:Android 增量升级
- WebDriver基本API使用手册(基于Java和C#)
- html 实体转换为字符:转换 UEditor 编辑器 ( 在 ThinkPHP 3.2.2 中 ) 保存的数据
- 2013年7月份第4周51Aspx源码发布详情
- ASP.NET定制简单的错误处理页面
- 虚拟化之vmware-网络
- RAC_Oracle集群服务安装前期准备Prepare(案例)
- 使用FFmpeg解码H264-2016.01.14
- 用程序对hdfs进行操作。
- 【算法】超大数组去重(Java语言实现)
- Nagios监控远程主机
- (二叉树 BFS) leetcode 107. Binary Tree Level Order Traversal II
- vue关于html页面id设置问题
- 多wan示意图
- 调试PHP错误
热门文章
- linux常用命令与技巧(不断添加与更新)
- html5--3.8 input元素(7)
- amazon redshift 分析型数据库特点——本质还是列存储
- mongodb给我们提供了fsync+lock机制把数据暴力的刷到硬盘上
- H3C-路由器密码恢复
- DNS多出口分析
- 使用 @RequestMapping 映射请求
- TypeError: Unexpected keyword argument passed to optimizer: amsgrad原因及解决办法
- POJ2406(next原理理解)
- 【Boost】boost库asio详解3——io_service作为work pool