BZOJ 1053: [HAOI2007]反素数ant
还以为是什么神坑数论题。
看到题,第一眼想到φ,然后暴力。
然后发现暴力其实是有可能的啦。
一个数的因数个数=所有质因数的次数+1,然后乘起来。
例如 60=2^2*3^1*5^1,so g(60)=(2+1)*(1+1)*(1+1)......(后面都是1)=12。
然后我们就要构造(而不是枚举)n范围之内的最大反素了。
1.先打个素数表,13个足够了(我搞了14个)
2.越小的素数次数应该越多越好(贪心)
3.不要开数组统计次数然后每次乘起来(important),纪录一个上次的位置即可。
爆搜不解释
CODE
#include<cstdio> using namespace std; typedef long long LL; const LL pri[15]={1,2,3,5,7,11,13,17,19,23,29,31,37,41,43}; //1不会用到 LL c[15],n,ans,num=1; void dfs(LL sum,LL last,LL res) {if (sum>n) return;if (res>ans) ans=res,num=sum;if (res==ans&&sum<num) num=sum;for (int i=last;i<=14;++i){c[i]++;dfs(pri[i]*sum,i,res/(c[i]-1)*c[i]);c[i]--;} } int main() {scanf("%lld",&n);for (int i=1;i<=14;++i) c[i]=1;dfs(1,1,1);printf("%lld",num);return 0; }
其实不用开c数组(SB)
转载于:https://www.cnblogs.com/cjjsb/p/8044628.html
BZOJ 1053: [HAOI2007]反素数ant相关推荐
- BZOJ 1053 [HAOI2007]反素数ant
53: [HAOI2007]反素数ant Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0< ...
- bzoj 1053: [HAOI2007]反素数ant 51nod-1060:最复杂的数(反素数与因数个数计算)
问题概述:把一个数的约数个数定义为该数的复杂程度,给出一个n,求1-n中复杂程度最高的那个数. 例如:12的约数为:1 2 3 4 6 12,共6个数,所以12的复杂程度是6.如果有多个数复杂度相等, ...
- BZOJ(8) 1053: [HAOI2007]反素数ant
1053: [HAOI2007]反素数ant Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4118 Solved: 2453 [Submit][ ...
- 1053: [HAOI2007]反素数ant
链接 思路 首先一个结论,对于一个数$n = p_1^{a_1}p_2^{a_2}...p_k^{a_k}$,它的因数的个数是$(a_1+1)(a_2+1)...(a_k+1)$,而且对于2,000, ...
- bzoj1053: [HAOI2007]反素数ant
51nod有一道类似的题...我至今仍然不会写暴搜!!! #include<cstdio> #include<cstring> #include<iostream> ...
- [HAOI2007]反素数ant
1053: [HAOI2007]反素数ant Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1907 Solved: 1069 [Submit][ ...
- AcWing 198. [HAOI2007] 反素数 约数个数+dfs
题 参考 约数个数:每个质因数的次数+1的乘积. 2e9<2x3x5x7x11x13x17x19x23; 2e9<pow(2,31); last其实是最多扫30次. #include< ...
- P1463 [POI2001][HAOI2007]反素数 题解
P1463 [POI2001][HAOI2007]反素数 题解 题意分析 首先这是一个数论题 S o l u t i o n \tt Solution Solution 根据数据分析得出 2 9 &l ...
- 洛谷P1463 [POI2001][HAOI2007]反素数
P1463 [POI2001][HAOI2007]反素数 详解见代码注释 #include <bits/stdc++.h> using namespace std; const int N ...
- luoguP1463:反素数ant(打表心得☆)
题目描述对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6等都 ...
最新文章
- C语言中的itoa和atoi函数的实现
- 红旗桌面版本最新运用要领和成果解答100例-7
- linux 手动配置ip地址方法
- android 插补器Interpolator的使用
- 视频检索扫盲 (一)
- python实现Matlab中的circshift函数
- vue 怎么清空依赖_vuejs如何在把对象所有属性清空?
- Verilog HDL语言设计实现过程赋值+译码器
- Bootstrap3 工具提示插件的方法
- 【kafka】kafka 消费组 加入 离开 reblance 案例
- 【ElasticSearch】Es 源码之 CacheService 源码解读
- web 端 gantt组件选型
- LeetCode-Clone Graph-克隆无向图
- 英国电信推出FTTP和G.fast新试点项目
- 视频会议实现方式有哪些
- 计算机题库启用宏,2009计算机一级:打开文件时一定要启用宏
- 项目【QT5.13频谱分析软件】(一)——开篇介绍
- java BigDecimal
- 汇编语言中xor指令_汇编各类指令用法及含义分析 - 全文
- HTML form元素
热门文章
- 依赖编程内部知识的C语言习惯用法
- JDBC 8.0 和 JDBC 5.0 区别
- 服务器下最大能容量多少文件,windows下一个文件夹下面最多可以放多少文件(ntfs格式略过)...
- 泛微oa主表赋值明细表_OA系统学习--三
- “21天好习惯”第一期-12
- 软件共享文件服务器,服务器共享文件软件
- php开发我的收藏,我的收藏列表 · 老猫带你玩转ThinkPHP5 API开发 · 看云
- JVM 和 HotSpot 的区别?
- Hive什么时候可以用别名?
- scala单例object与伴生object入门