题目描述:

有一天,小明给了你两个数字n和k,现在,你需要对数字n进行一下操作:
对于每一步操作,你可以选择下面其中一个项目:
1.将n的值减少1.
2.如果n能被k整除,可以使n/k
比如:n=27,k=3,你可以进行下列操作:27→26→25→24→8→7→6→2→1→0
请你计算出数字n变为0时最少需要的操作数。

输入:
第一行输入一个整数t(1≤t≤100),表示数据个数
接下来n行,每行2个整数n和k(1≤n≤1e18,2≤k≤1e18)

输出:
将数字n变为0的最小次数

输入样例:
3-;2
输出样例:
8
19

样例说明:
对于第一组数据,有:59→58→57→19→18→6→2→1→0
对于第二组数据,可以连续除以18个10使n变为1。

题目分析

首先可以先想到一个暴力的做法,也就是照着题目做

#include<cstdio>
int t;
long long n;
long long k;
int main(){
scanf("%d",&t);
while(t--)
{
long long ans=0;
scanf("%lld %lld",&n,&k);
while(n!=0)
{
if(n%k==0)
{
n/=k;
ans++;
}
else
{
ans++;
n--;
}
}
printf("%lld\n",ans);
}
return 0;
}

不出所料,果然,超时了
然后,寻找优化时,发现,也就只能优化–1的部分,也就是用%,把n削成能够被/k的地步

#include<cstdio>
int t;
long long n;
long long k;
int main(){
scanf("%d",&t);
while(t--)
{
long long ans=0;
scanf("%lld %lld",&n,&k);
while(n!=0)
{
if(n%k==0)
{
n/=k;
ans++;
}
else
{
ans+=n%k;
n-=n%k;
}
}
printf("%lld\n",ans);
}
return 0;
}

From Hero to Zero的更多相关文章

  1. H5游戏开发之Stick Hero

    自从上次发布一个小恐龙游戏以后,到现在10天了,前后又写了3个游戏,挑了一个感觉比较有挑战的游戏和大家分享一下. 效果演示 这是我模拟一个苹果游戏<stick hero>游戏写的一个小游戏 ...

  2. BZOJ 1191 超级英雄 Hero 题解

    BZOJ 1191 超级英雄 Hero 题解 Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金 ...

  3. 2016HUAS暑假集训训练2 K - Hero

    题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/K 这也是一道贪心题,刚开始写时以为只要对每一敌人的攻击和血的乘积进行从小到大排序即 ...

  4. 【入门】匈牙利算法+HNOI2006 hero超级英雄

    一.关于匈牙利算法 匈牙利算法是由匈牙利数学家Edmonds提出的,用增广路径求二分图最大匹配的算法. 听起来高端,其实说白了就是: 假设不存在单相思(单身狗偷偷抹眼泪),在一个同性恋不合法的国家里( ...

  5. 2016HUAS_ACM暑假集训2K - Hero(英雄)

    这也属于一个贪心题.关键是排序的依据. 这题排序的依据是敌人的伤害/血量(DPS/HP),不难证明,当这个比值相同时,不论先解决谁效果是相同的.思路大部分在注释里. 题目大意: 假设你的血量无限,但是 ...

  6. bzoj 1191: [HNOI2006]超级英雄Hero

    1191: [HNOI2006]超级英雄Hero Time Limit: 10 Sec  Memory Limit: 162 MB 二分图匹配... Description 现在电视台有一种节目叫做超 ...

  7. HDU 4901 The Romantic Hero

    The Romantic Hero Time Limit: 3000MS   Memory Limit: 131072KB   64bit IO Format: %I64d & %I64u D ...

  8. HDU4901 The Romantic Hero 计数DP

    2014多校4的1005 题目:http://acm.hdu.edu.cn/showproblem.php?pid=4901 The Romantic Hero Time Limit: 6000/30 ...

  9. HDU 4310 Hero (贪心算法)

    A - Hero Time Limit:3000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  10. BZOJ 1191: [HNOI2006]超级英雄Hero 二分匹配

    1191: [HNOI2006]超级英雄Hero Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或 ...

随机推荐

  1. GCD的补充

    1-1 关于GCD中的创建和释放     在iOS6.0之前,在GCD中每当使用带creat单词的函数创建对象之后,都应该对其进行一次release操作.           在iOS6.0之后,GC ...

  2. SpringBoot(3):SpringData 数据访问

    一. 简介 Spring Data是一个用于简化数据库访问,并支持云服务的开源框架:其主要目标是 使得对数据的访问变得方便快捷.对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系 ...

  3. 【Linux】【Basis】网络

    Linux网络属性配置                           计算机网络:          TCP/IP:协议栈(使用)             ISO,OSI:协议栈(学习)     ...

  4. yaml 配置文件的语法。

    1.基本语法 1. k:(空格)v:表示一对键值对(注意:空格必须有): 2.以**空格**的缩进来控制层级关系:只要是左对齐的一列数据,都是同一个层级的 3.值的驼峰写法和用"-" ...

  5. 效验pipeline语法

    目录 一.简介 二.配置 一.简介 因为jenkins pipeline不像JAVA之类的语言那样应用广泛,所以没有相关的代码检测插件. 2018年11月初,Jenkins官方博客介绍了一个VS Co ...

  6. Jmeter——SMTP Sampler发送邮件

    在平时测试过程中,也会出一些测试报告,那jmeter在不依托其他工具的情况下,可不可以发送邮件呢,自然是可以的. 我们直接使用SMTP Sampler即可. SMTP Sampler参数 我们来添加个 ...

  7. 09 - Vue3 UI Framework - Table 组件

    接下来做个自定义的表格组件,即 table 组件 返回阅读列表点击 这里 需求分析 开始之前我们先做一个简单的需求分析 基于原生 table 标签的强语义 允许用户自定义表头.表体 可选是否具有边框 ...

  8. 象群游牧算法--EHO

    象群游牧算法的数学模型 象群的游牧行为非常复杂,但是其中一些行为可以帮助我们寻找全局最优解和局部最优解.对此,进行数学建模为: (1) 象群的每个部落都有固定数目的大象: (2) 每次迭代中,部落中都 ...

  9. [BUUCTF]PWN——bjdctf_2020_babystack2

    bjdctf_2020_babystack2 附件 步骤: 例行检查,64位程序,开启了nx保护 尝试运行一下程序,看看情况 64位ida载入,习惯性的先检索程序里的字符串,发现了bin/sh,双击跟 ...

  10. Windows10下mysql 8.0.19 安装配置方法图文教程

    第一步 下载安装包: 官网 毕竟是甲骨文公司的产品,去官网下真的慢! 这里有两个供选择的,我建议选第一个(因为我先下了第二个,结果失败了,不知道为什么总是出错.) 下载完自行选择路径解压就可以了. 第 ...