hihoCoder 1187
今天BC爆0了。。。。但是日子还是要过的。。。。要回学校毕业了~~大学就这么“荒废”了。
这个是hihoCoder的1187,比较基础的一道题。
题目链接:
http://hihocoder.com/problemset/problem/1187
首先我们想,任何一个数可以质因数分解,且分解的方法唯一。
n = (p1 ^ k1) * (p2 ^ k2) * .... * (ps ^ ks)
约数(n) = (k1+1)*(k2+1)*(k3+1)* .... *(ks+1)
那么剩下的问题就简单了,贪心,显然在约数个数相同的情况下,pi越小越好。
暴力枚举ki,pi显然不用搜太多,目测搜到43就绰绰有余了。
ki搜到60即可,不放行的话,还可以参考线这个优化,k1 >= k2 >= ... >= ki。
证明不复杂~~
代码:
#include <bits/stdc++.h> using namespace std;
typedef long long int64;
int64 prim[] = {, , , , , , , , , , , , , }; int64 ans, Max;
int64 n; void dfs( int id, int pre_cnt, int64 num, int64 res ){
if( res > Max ){
ans = num;
Max = res;
}else if( res == Max ){
ans = min( ans, num );
} int64 tmp = ;
for( int i = ; i <= ; ++i ){
tmp *= prim[id];
if( num * tmp > n )
return;
dfs( id+, i, num*tmp, res*(i+) );
}
} int main(void){
while(cin >> n){
ans = , Max = ; int64 tmp = ;
for( int i = ; i <= ; ++i ){
tmp *= prim[];
if( tmp <= n )
dfs( , i, tmp, i+ );
} printf("%lld\n", ans);
} return ;
}
hihoCoder 1187的更多相关文章
- hihocoder -1121-二分图的判定
hihocoder -1121-二分图的判定 1121 : 二分图一•二分图判定 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 大家好,我是小Hi和小Ho的小伙伴Net ...
- Hihocoder 太阁最新面经算法竞赛18
Hihocoder 太阁最新面经算法竞赛18 source: https://hihocoder.com/contest/hihointerview27/problems 题目1 : Big Plus ...
- hihoCoder太阁最新面经算法竞赛15
hihoCoder太阁最新面经算法竞赛15 Link: http://hihocoder.com/contest/hihointerview24 题目1 : Boarding Passes 时间限制: ...
- 【hihoCoder 1454】【hiho挑战赛25】【坑】Rikka with Tree II
http://hihocoder.com/problemset/problem/1454 调了好长时间,谜之WA... 等我以后学好dp再来看为什么吧,先弃坑(╯‵□′)╯︵┻━┻ #include& ...
- 【hihocoder#1413】Rikka with String 后缀自动机 + 差分
搞了一上午+接近一下午这个题,然后被屠了个稀烂,默默仰慕一晚上学会SAM的以及半天4道SAM的hxy大爷. 题目链接:http://hihocoder.com/problemset/problem/1 ...
- 【hihoCoder】1148:2月29日
问题:http://hihocoder.com/problemset/problem/1148 给定两个日期,计算这两个日期之间有多少个2月29日(包括起始日期). 思路: 1. 将问题转换成求两个日 ...
- 【hihoCoder】1288 : Font Size
题目:http://hihocoder.com/problemset/problem/1288 手机屏幕大小为 W(宽) * H(长),一篇文章有N段,每段有ai个字,要求使得该文章占用的页数不超过P ...
- 【hihoCoder】1082: 然而沼跃鱼早就看穿了一切
题目:http://hihocoder.com/problemset/problem/1082 输入一个字符串,将其中特定的单词替换成另一个单词 代码注意点: 1. getline(istre ...
- 【hihoCoder】1121:二分图一·二分图判定
题目 http://hihocoder.com/problemset/problem/1121 无向图上有N个点,两两之间可以有连线,共有M条连线. 如果对所有点进行涂色(白/黑),判定是否存 ...
随机推荐
- 【技术累积】【点】【java】【26】@Value默认值
@Value 该注解可以把配置文件中的值赋给属性 @Value("${shit.config}") private String shit; 要在xml文件中设置扫描包+place ...
- (转)分布式文件存储FastDFS(四)配置fastdfs-apache-module
http://blog.csdn.net/xingjiarong/article/details/50560605 在前边我们已经配置好了FastDFS的环境,但是此时的FastDFS还不能通过htt ...
- Style在Android中的继承关系
Style在Android中的继承关系 Android的Styles(样式)和Themes(主题)非常类似Web开发里的CSS,方便开发者将页面内容和布局呈现分开.Style和Theme在Androi ...
- UIWebview 截获html并修改内容。
需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果: 方法:通过js截获UIWebView中的html,然后修改html标签内容: 实例代码: 服务 ...
- mybatis 项目配置
第一:environments MyBatis 支持多个环境,可以任意配置: 第二:transactionManager MyBatis 支持两种类型的事务管理器:JDBC 和 MANAGED(托管) ...
- hdu 4018 Parsing URL(字符串截取)
题目 以下引用自百度百科: sscanf 的相关用法 头文件:#include<stdio.h> 1. 常见用法. 1 2 3 charbuf[512]; sscanf(" ...
- js 图表转图片
最近项目上有个需求,是将一些teechart做的图表转换成图片插入自动生成的PDF里,Teechart绘图和如何生成PDF这些这里就不说了,这个任务比较别扭的一点是,图表自动生成,且整个过程中页面不能 ...
- Vector 二维数组 实现
1.C++实现动态二维数组 int **p; p = ]; //注意,int*[10]表示一个有10个元素的指针数组 ; i < ; ++i) { p[i] = ]; } 2.利用指针数组实现二 ...
- String s = new String("xyz");创建了几个对象?
两个或一个都有可能 . ”xyz”对应一个对象,这个对象放在字符串常量池,常量”xyz”不管出现多少遍,都是常量池中的那一个. new String每写一遍,就创建一个新的对象,它使用常量”xyz”对 ...
- Git使用笔记 (github为例)
---`Git`# Git管理 #- 创建仓库 git init 在本地目录下建立新git仓库,该仓库可以为空也可以是重新初始化的仓库.该命令将创建一个名为 .git 的子目录,这个子目录含有初始化的 ...