Philips and Calculator
代码
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 3 * 1e6;
int l , r , p , tp , prime[105] , num[N + 5] , n , vis[105] , f[N + 5] , ok[N + 5] , ans;
inline void getp()
{
vis[1] = vis[0] = 1;
for(register int i = 2; i <= p; i++)
{
if (!vis[i]) prime[++tp] = i;
for(register int j = 1; j <= tp && prime[j] * i <= p; j++)
{
vis[i * prime[j]] = 1;
if (i % prime[j] == 0) break;
}
}
}
inline void dfs(int x , int v)
{
num[++n] = v;
for(register int i = x; i <= tp; i++)
if (prime[i] * (long long)v <= r) dfs(i , prime[i] * v);
}
int main()
{
scanf("%d%d%d" , &l , &r , &p);
getp();
dfs(1 , 1);
num[++n] = 1;
sort(num + 1 , num + n + 1);
f[1] = 0;
for(register int i = 2; i <= n; i++) f[i] = 1e9;
for(register int i = 2; i <= p; i++)
{
register int j = 1;
for(register int k = 1; k <= n; k++)
{
while (j <= n && num[k] * i != num[j]) j++;
if (j > n) break;
if (f[k] + 1 < f[j]) f[j] = f[k] + 1;
if (f[j] + i <= p && num[j] >= l && !ok[j]) ok[j] = 1 , ans++;
}
}
printf("%d" , ans);
Philips and Calculator的更多相关文章
- [LeetCode] Basic Calculator II 基本计算器之二
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
- [LeetCode] Basic Calculator 基本计算器
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
- Basic Calculator II
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
- Windows Universal 应用 – Tip Calculator
声明 以下内容取材于 Bob Tabor 的课程<Windows Phone 8.1 Development for Absolute Beginners>,链接地址为:http://ww ...
- 音频指纹(Philips)
参考<A Highly Robust Audio Fingerprinting System> Philips 音频指纹提取流程: 仿真效果: 第一个图为歌曲1的第一个指纹. 第二个图为歌 ...
- Calculator(1.5)
Calculator(1.5) Github链接 ps.负数的处理未完成 解题过程中遇到的困难和解决 <stack>的使用: 认真研究了栈,基本上掌握了用法,与<queue>的 ...
- Calculator(1.0)
Calculator(1.0) Github链接 解题过程中遇到的困难 对于c++中类和对象的使用不够明确,看了c++的视频教程学会了用类和对象来写程序. 不会使用<queue>,在网上查 ...
- 数据结构与算法(1)支线任务2——Basic Calculator
题目:https://leetcode.com/problems/basic-calculator/ Implement a basic calculator to evaluate a simple ...
- calculator
#include <stdio.h> #include <stdlib.h> typedef enum { FALSE = , TRUE }BOOL; void calcula ...
- Basic Calculator
本博客介绍leetcode上的一道不难,但是比较经典的算法题. 题目如下: Implement a basic calculator to evaluate a simple expression s ...
随机推荐
- 一文带你了解 Spring 的@Enablexxx 注解
layout: post categories: Java title: 一文带你了解 Spring 的@Enablexxx 注解 tagline: by 子悠 tags: - 子悠 前面的文章给大家 ...
- GO开发工具litelDE的安装与使用
1.MinGW的下载与安装 地址:http://sourceforge.net/projects/mingw/ 下载安装 D:\Program Files\MinGW 然后打开D:\Program F ...
- EASE-Grid经纬度与行列号转换公式 以 25KM的HDF数据为例
/// <summary> /// 把经纬度转换成行列号 /// </summary> /// <param name="pLng"></ ...
- redis集群之主从复制集群的原理和部署
最近在复盘redis的知识,所以本文开始希望介绍下redis的集群架构.原理以及部署:本文主要介绍redis的主从复制集群,包括其架构模型,原理,高可用等: 一.主从集群的介绍 redis的主从复 ...
- 使用.NET7和C#11打造最快的序列化程序-以MemoryPack为例
译者注 本文是一篇不可多得的好文,MemoryPack 的作者 neuecc 大佬通过本文解释了他是如何将序列化程序性能提升到极致的:其中从很多方面(可变长度.字符串.集合等)解释了一些性能优化的技巧 ...
- 【重难点整理】通过kafka的全过程叙述kafka的原理、特性及常见问题
一.kafka的实现原理 1.逻辑结构 2.组成 生产者:生产消息,来自服务.客户端.端口-- 消息本身:消息主体 topic主题:对消息的分类,例如数仓不同层中的不同类型数据(订单.用户--):自带 ...
- 【Java】二分查找标准代码
太菜了..写不出正确的... 干脆放一个标准代码,之后参考 boolean BinarySearch(int[] m){ int l=0,r=m.length-1;//减1相当于数组两头(lr都能指到 ...
- .net做一个基于ChatGpt的微信机器人吧~[全教程]
最近这个ChatGPT很火啊,看了B站上很多视频,自己非常手痒,高低自己得整一个啊,很多人都是把ChatGPT和微信结合在一起,正巧我是Wechaty框架的.net sdk贡献者,这不是一应俱全了吗? ...
- 链接脚本中 AT> 的作用
缘由 这两天在梳理芯片的启动流程, 研究到了链接脚本(样本为stm32cube ide 中的 stm32f407 的 flash 链接脚本). 产生了一个疑问AT>是什么? 答案 AT>就 ...
- SQLMap入门——判断文本中的请求是否存在注入
从文件中加载HTTP请求,SQLMap可以从一个文本文件中获取HTTP请求,这样就可以不设置其他参数(如cookie.POST数据等),txt文件中的内容为Web数据包 文本文件如图(请求数据可以通过 ...