bzoj1053: [HAOI2007]反素数ant
来源:互联网 发布:c语言数据类型 编辑:程序博客网 时间:2023/06/07 07:44
题面在这里
做法:
这题嘛看起来很恐怖啊= =n居然有20亿
然而其实我们只需枚举一下质因子的个数,而这个枚举量是很小的,因为前10个质数相乘就已经超过20亿了吧、、、
于是我取了前12个质数。
暴力dfs一下就行。
/************************************************************* Problem: bzoj 1053 [HAOI2007]反素数ant User: fengyuan Language: C++ Result: Accepted Time: 68 ms Memory: 1296 kb Submit_Time: 2017-12-15 00:36:32*************************************************************/#include<bits/stdc++.h>#define rep(i, x, y) for (int i = (x); i <= (y); i ++)#define down(i, x, y) for (int i = (x); i >= (y); i --)#define mid ((l+r)/2)#define lc (o<<1)#define rc (o<<1|1)#define pb push_back#define mp make_pair#define PII pair<int, int>#define F first#define S second#define B begin()#define E end()using namespace std;typedef long long LL;//headconst int p[13] = {0, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37};int n, ans, maxd;inline void dfs(LL now, int d, int k){ if (d > maxd || d == maxd && now < ans) ans = now, maxd = d; if (k == 13) return; LL a = 1; int i = 0; while (1){ if (a*now > n) break; dfs(a*now, d*(i+1), k+1); a *= p[k]; i ++; }}int main(){ scanf("%d", &n); dfs(1, 1, 1); printf("%d\n", ans); return 0;}
阅读全文
0 0
- bzoj1053 [HAOI2007]反素数ant
- bzoj1053: [HAOI2007]反素数ant
- BZOJ1053: [HAOI2007]反素数ant
- [BZOJ1053][HAOI2007]反素数ant
- BZOJ1053: [HAOI2007]反素数ant
- 【bzoj1053】【HAOI2007】反素数ant
- bzoj1053[HAOI2007]反素数ant
- 【bzoj1053】 [HAOI2007]反素数ant
- bzoj1053: [HAOI2007]反素数ant
- bzoj1053 [HAOI2007] 反素数ant
- Bzoj1053 [HAOI2007]反素数ant
- bzoj1053: [HAOI2007]反素数ant
- 【bzoj1053】[HAOI2007]反素数ant DFS
- [dfs] BZOJ1053: [HAOI2007]反素数ant
- 【结论+暴搜】BZOJ1053 [HAOI2007]反素数ant
- 【bzoj1053】[HAOI2007]反素数ant(数论)
- BZOJ1053(HAOI2007)反素数ant--暴搜
- 【BZOJ1053】【HAOI2007】反素数ant 打表。/搜索
- jsp图书管理系统(sbs)
- 《文法俱乐部》读书笔记之名词片语与冠词--LG二进制
- jquery
- HDU2048 神、上帝以及老天爷【递推】
- SSH连接超时解决方法
- bzoj1053: [HAOI2007]反素数ant
- php 文件流输出
- jsp图书管理系统(humei)
- 没有技术博客的救赎
- 考研路茫茫——早起看书
- ADB学习笔记
- 设置火狐浏览器新打开的页面为百度首页
- EOF \n \0 NULL 之间的区别
- Win32实现简单游戏引擎