hdu_5878_I Count Two Three(预处理)

题目链接:hdu_5878_I Count Two Three

题意:

给你一个n,让你找满足那个式子的不比n小的最小数

题解:

先上个预处理,然后二分查找就行

 1 #include<bits/stdc++.h>
 2 #define F(i,a,b) for(int i=a;i<=b;i++)
 3 using namespace std;
 4 typedef long long ll;
 5 ll dt[100000],ed;
 6
 7 ll pow_(ll a,ll k)
 8 {
 9     ll an=1;
10     while(k){if(k&1)an*=a;k>>=1,a*=a;}
11     return an;
12 }
13
14 int main()
15 {
16     ll a,b,c,d;
17     F(i,0,40)
18     {
19         a=pow_(2,i);
20         if(a>1e9)continue;
21         F(j,0,40)
22         {
23             b=pow_(3,j);
24             if(b>1e9||a*b>1e9)continue;
25             F(k,0,40)
26             {
27                 c=pow_(5,k);
28                 if(c>1e9||a*b*c>1e9)continue;
29                 F(l,0,40)
30                 {
31                     d=pow_(7,l);
32                     if(d>1e9||a*b*c*d>1e9)continue;
33                     dt[++ed]=a*b*c*d;
34                 }
35             }
36         }
37     }
38     sort(dt+1,dt+1+ed);
39     int t,n;
40     scanf("%d",&t);
41     while(t--)scanf("%d",&n),printf("%lld\n",dt[lower_bound(dt+1,dt+1+ed,n)-dt]);
42     return 0;
43 }

时间: 2024-10-07 12:32:52

hdu_5878_I Count Two Three(预处理)的相关文章

二叉索引树BIT

定义     二叉索引树,binary index tree,又名树状数组,或Fenwick Tree,因为本算法由Fenwick创造.     对于数组A,定义Query(i,j) = Ai +Ai+1 + - + Aj.     比较好的做法:使用前缀和,Sum(j) – Sum(i-1)即可得到Query(i,j)     BIT即为解决此类区间查询而大展身手,因为预处理时间为O(n),之后的查询时间为O(1),是属于典型的在线算法(关于在线算法,通俗地可以理解为,做一次预处理,提供多次"

PHP PDO操作MYSQL

PHP PDO操作MYSQL 学习要点: 1.        PHP PDO配置 2.        连接mysql及异常处理 3.        query,exec用法详解 4.        预处理prepare()用法详解 5.        PDO错误处理模式和事务处理 6.        获取和遍历结果集 7.        常用函数说明   我的博客:http://www.unitbuy.com PDO配置 PHP 数据对象 (PDO) 扩展可以支持绝大多数的主流的数据库,如下 C

objc非主流代码技巧

最用心的转载了- 我是前言 看开源代码时,总会看到一些大神级别的代码,给人眼前一亮的感觉,多数都是被淡忘的C语言语法,总结下objc写码中遇到的各类非主流代码技巧和一些妙用: [娱乐向]objc最短的方法声明 [C]结构体的初始化 [C]三元条件表达式的两元使用 [C]数组的下标初始化 [objc]可变参数类型的block [objc]readonly属性支持扩展的写法 [C]小括号内联复合表达式 [娱乐向]奇葩的C函数写法 [Macro]预处理时计算可变参数个数 [Macro]预处理断言 [多

Thinking in java Chapter18 IO

1 File类 1.1 目录列表器 1.2 目录实用工具 1.3 目录的检查及创建 2 输入和输出 3 添加属性和有用的接口 4 Reader和Writer 5 自我独立的类RandomAccessFile 6 I/O流的典型使用方式 6.1 缓冲输入文件 6.2 从内存输入 6.3 格式化的内存输入 6.4 基本的文件输出 6.5 存储和恢复数据 6.6 读写随机访问文件 7 文件读写的使用工具 8 标准I/O 9 进程控制 10 新I/O复习时候再review补 11 压缩 11.1 用GZ

nodejs api 中文文档

文档首页 英文版文档 本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可. Node.js v0.10.18 手册 & 文档 索引 | 在单一页面中浏览 | JSON格式 目录 关于本文档 稳定度 JSON 输出 概述 全局对象 global process console 类: Buffer require() require.resolve() require.cache require.extensions __filename __dirname module e

【BZOJ-3956】Count ST表 + 单调栈

3956: Count Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 173  Solved: 99[Submit][Status][Discuss] Description Input Output Sample Input 3 2 0 2 1 2 1 1 1 3 Sample Output 0 3 HINT M,N<=3*10^5,Ai<=10^9 Source CH Round#64 MFOI杯水题欢乐赛day1 By Gromah So

数据挖掘概念与技术读书笔记(三)数据预处理

3.1 数据预处理 数据质量的三个要素:准确性.完整性和一致性. 3.1.2 数据预处理的主要任务 数据清理:填写缺失的值,光滑噪声数据,识别或删除离群点,并解决不一致性来”清理“数据. 数据集成: 数据归约: 3.2 数据清理 3.2.1 缺失值 1.忽略元组 2.人工填写缺失值 3.使用一个全局常量填充缺失值 4.使用属性的中心度量填充缺失值:中位数 5.使用与给定元组属同一类的所有样本的属性均值或中位数 6.使用最可能的值填充缺失值:回归/贝叶斯/决策树 第6种是最流行的策略 3.2.2

《黑马程序员》预处理指令(宏定义、条件编译、文件包含)(C语言)

宏定义的基本概念 ●  预处理指令都是以#开头 ●  预处理指令分为三种 1.宏定义 定义格式:#define  宏名   参数 2.条件编译 #if 条件语句     statement1; #elif 条件语句     statement2; #else     statement3; #endif       //条件编译结束必须加上此条语句,否则statement3以下的所有语句都将默认为不编译 3.文件包含 ●  预处理指令在代码翻译成0和1之前进行 ●  预处理指令的位置是可以写的

《数据挖掘概念与技术》--第三章 数据预处理

一.数据预处理 1.数据如果能够满足其应用的要求,那么他是高质量的. 数据质量涉及许多因素:准确性.完整性.一致性.时效性.可信性.可解释性. 2.数据预处理的主要任务:数据清洗.数据集成.数据规约.数据变换. 二.数据清理:试图填充缺失值,光滑噪声.识别利群点.纠正数据中的不一致. 1.缺失值的处理: 1)忽略元组:缺少类标号时通常这么做.但是忽略的元组其他属性也不能用,即便是有用的. 2)人工填写:该方法很费事费时,数据集很大.缺失值很多时可能行不通. 3)使用一个全局常量填充缺失值:将缺失