首页 > 其他分享 >P1463 [POI2001] [HAOI2007] 反素数 (DFS)

P1463 [POI2001] [HAOI2007] 反素数 (DFS)

时间:2024-12-10 16:21:15浏览次数:5  
标签:cnt int 质数 POI2001 DFS P1463 HAOI2007 dfs ll

题目链接:

https://www.luogu.com.cn/problem/P1463

找最大的g(x),如果最大值相同,x最小。

由算数基本定理:数x的约数个数是∏(ci+1)。n最大是2e9,2^31>2e9,2*3*5*...*31>2e9。

由此可知:1.ci之和一定不超过30;2.最大的质数不超过29。

由贪心,要找不超过n的最大的反质数,选择的质数要尽量小,这样相乘的结果越不容易超过n,且指数ci也越多。

解法:找一个数2^c1*3^c2*...29^c10。确定c1到c10的取值,且保证单减。所以我们考虑DFS,依次确定指数,记录前一个指数用来保证单减,再记录当前dfs的质数的编号,更新答案。

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int p[12] = {0, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29};
ll n, ans, cnt;
void dfs(ll x, int m, int a, int c) {
	if (m > cnt || (m == cnt && x < ans))
		ans = x, cnt = m;//更新答案
	ll res = 1;
	for (int i = 1; i <= c; i ++) {//枚举指数
		res *= p[a];
		if (x * res > n) break;
		dfs(x * res, m * (i + 1), a + 1, i);
	}
}
int main() {
	cin >> n;
	dfs(1, 1, 1, 30);//当前数字大小,约数个数,当前质数的编号,上一个数的指数 
	cout << ans;
}

 

标签:cnt,int,质数,POI2001,DFS,P1463,HAOI2007,dfs,ll
From: https://www.cnblogs.com/love-lzt/p/18597565

相关文章

  • java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
    @目录java实现下载hdfs文件及文件夹说明:java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下1.下载xxx文件2.下载xx文件夹java实现下载hdfs文件及文件夹说明:java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下<!......
  • 算法刷题打卡DFS深度搜索
    DFS概要:    要想学会深度优先搜索的题目,首先需要知道他的代码原理,适用场景基本原理:    DFS是基于遍历,搜索树,图的算法,通过从根节点(或任意起始节点)开始,沿着每个分支深入访问节点,直到到达叶子节点或没有未访问的邻居节点为止,然后回溯到上一个节点,继续搜索其他......
  • 【C++ DFS 图论】1519. 子树中标签相同的节点数|1808
    本文涉及知识点C++DFSC++图论LeetCode1519.子树中标签相同的节点数给你一棵树(即,一个连通的无环无向图),这棵树由编号从0到n-1的n个节点组成,且恰好有n-1条edges。树的根节点为节点0,树上的每一个节点都有一个标签,也就是字符串labels中的一个小写字符(编号......
  • 信奥赛CSP-J复赛集训(dfs专题)(11):洛谷P1036:[NOIP2002 普及组] 选数
    信奥赛CSP-J复赛集训(dfs专题-刷题题单及题解)(11):洛谷P1036:[NOIP2002普及组]选数题目描述已知nnn个整数x......
  • 信奥赛CSP-J复赛集训(dfs专题)(12):洛谷P2404:自然数的拆分问题
    信奥赛CSP-J复赛集训(dfs专题-刷题题单及题解)(12):洛谷P2404:自然数的拆分问题题目描述任何一个大于111的自然数n......
  • 天梯赛练习集 L2-048 寻宝图 DFS
    思路:dfs,从一块岛屿出发,搜索与之连通的所有岛屿块标记为0,计数器+1,过程中用一个变量flag标记有没有宝藏。反思:如果用二维int数组直接存储会爆空间,所以用一维字符串数组。#include<bits/stdc++.h>usingnamespacestd;vector<string>vc;strings;intn,m,cot=0,flag=0,sum=0;......
  • 题解:P2217 [HAOI2007] 分割矩阵
    思路首先,我们要弄明白题中的方差是什么。公式:$S=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_i-\bar{x})^2}$接下来,我们思考一下题目怎么做。数据很小,于是想到了暴搜。但是时间复杂度有点难以接受啊,优化一下吧。有一种很有效的优化,那就是广为人知的记忆化搜索。它能使所有......
  • 电商项目--分布式文件存储FastDFS搭建
    一、FastDFS环境搭建我们使用Docker搭建FastDFS的开发环境(1)拉取镜像dockerpullmorunchang/fastdfs (2)运行trackerdockerrun-d--nametracker--net=hostmorunchang/fastdfsshtracker.sh(3)运行storagedockerrun-d--namestorage--net=host-eTRACKER_......
  • 电商项目--分布式文件存储FastDFS简介
    对于大型互联网类型项目,其内部存在非常多的文件,会存在图片文档报表等文件。采用传统方式存储在机器磁盘上,其容量无法支撑这些文件,需要考虑分布式文件系统。一、FastDFS简介FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同......
  • 【LeetCode:51. N 皇后 + DFS】
    ......