Good Number Gym - 102769G 2020年CCPC秦皇岛分站赛
题意:
如果一个数字是Good Number,当且仅当 ⌊xk⌋\left \lfloor\sqrt[k]{x}\right \rfloor⌊kx⌋(向下取整) 能整除 x 。
现在给出 n,k ,求 1 到 n 之中Good Number 的个数。
题目:
Alex loves numbers.
Alex thinks that a positive integer x is good if and only if ⌊xk⌋\left \lfloor\sqrt[k]{x}\right \rfloor⌊kx⌋ divides x.
Can you tell him the number of good positive integers which do not exceed n ?
Input
The first line of the input gives the number of test cases, T (1≤T≤10). T test cases follow.
For each test case, the only line contains two integers n and k (1≤n,k≤10910^{9}109).
Output
For each test cases, output one line containing “Case #x: y”, where x is the test case number (starting from 1), and y is the answer.
Example
Input
2
233 1
233 2
Output
Case #1: 233
Case #2: 43
分析:
1.特判 首先对于 m=1,m>32 判断一下,如果成立直接输出 n ,因为 2322^{32}232>109 ,开根号之后只能是 1 。
2.之后遍历(1~n)的m次方数,接下来操作举例演示:
例如 m=2 ,n=20 ,用 arr 记录 x ,用 brr 记录 xk 。
对于 1~3 之间的数字开根号向下取整为1,故1~3之间的数字都是Good Number。4~8之间的数字开根号都为2,有 8−4=4 个数字(分别是 5,6,7,8) ,其中有2个数字能被2整除,而 4 本身也能被 2 整除。所以对于4~8区间内的Good Number个数为 (8−4)/2+1。同理 9~15 之间的数字开根号都为 3 ,Good Number 个数为 (15−9)/3+1。对于最后的 16~20 ,开根号都为4,所以最后加上 (n−16)/4+1 。
AC代码:
#include<stdio.h>
#include<algorithm>
using namespace std;
typedef long long ll;
int t,k;
ll n,m,ans;
int main(){scanf("%d",&t);k=0;while(t--){scanf("%lld%lld",&n,&m);printf("Case #%d: ",++k);if(m==1)printf("%lld\n",n);else{ans=0;for(ll i=1;i<=n;i++){ll x=i,y=i+1;if(i==1){for(int j=1;j<m;j++){y=y*(i+1);if(y>n) break;}}else{for(int j=1;j<m;j++){x=x*i;y=y*(i+1);if(x>n) break;}}if(x>n) break;x=x-1;y=min(n,y-1);ll tep=y/i-x/i;ans+=y/i-x/i;}printf("%lld\n",ans);}}return 0;
}
Good Number Gym - 102769G 2020年CCPC秦皇岛分站赛相关推荐
- Friendly Group Gym - 102769F 2020(并查集)ccpc秦皇岛分站赛
题意: n个学生要组成一个小组参加会议(可以不参加), 1.对于每两个朋友(x ,y),如果他们俩都参加会议,该小组的友好价值将会增加 1:如果其中只有一位参加会议,则该组的友好价值将降低 1. 3. ...
- MUV LUV UNLIMITED(ccpc 秦皇岛2019)
MUV LUV UNLIMITED(ccpc 秦皇岛2019) 题目描述 There are few entertainments in United Nations 11th Force, Paci ...
- CCPC秦皇岛gym102361A. Angle Beats
CCPC秦皇岛gym102361A. Angle Beats 题意: 给你n个点的坐标,现在有q次询问,每次询问给你一个坐标,问这个坐标可以与给定的n个点组成多少个不同的直角三角形 n<=200 ...
- 2020 CCPC 秦皇岛 K. Kingdom‘s Power(树形DP)
传送门 题目大意 给出一棵根节点为111的树,其中树根上面有无穷的士兵,每分钟我们能调取一队士兵走一条边,如果该节点没有被占领那么会占领该节点,问占领所有节点需要的最少时间. 解题思路 首先要能简单证 ...
- 2020 CCPC 秦皇岛 H.Holy Sequence
我搬运我自己应该算原创吧 题目 题意 题解 题意 对于一个长度为nnn的正整数数列ana_nan, 他合法的条件是: ∀i∈[1,n],ai∈1,2,-,n\forall i \in [1, n], ...
- A Greeting from Qinhuangdao Gym - 102769A 2020ccpc秦皇岛分站赛
题意: 给你n个红球和m个蓝色球.然后以相等的概率随机选择了其中两个.选择两个红球的概率是多少? 题目: Welcome to the CCPC Qinhuangdao Site! Qinhuangd ...
- 2019 CCPC 秦皇岛: MUV LUV EXTRA
MUV LUV EXTRA (本篇主要内容,kmp求最短循环节) 题目传送门: MUV LUV EXTRA 题意: 给你一个字符串和两个整数a和b.在小数点后,找到一个循环节 l,循环长度为p.求 a ...
- 2019 CCPC秦皇岛 K.MUV LUV UNLIMITED(博弈)
2019CCPC秦皇岛K 题意: 两个人玩游戏, 有一棵有根树,每次只能拿叶子节点若干个(不能不拿),问最后谁会赢 思路: 先说结论,数每个叶子节点对应上去的那条链(直到他的父亲除自己外有另外的儿子结 ...
- 2018 CCPC秦皇岛站日记
三题93名铜前,还可以 9/25 明天就要去秦皇岛了,感觉好,麻烦啊...这里就不激动了,因为要忙好多东西. 首先是我准备了几天的模板,因为第一次比赛的原因,所以我也是第一次准备这种比较正式的模板.除 ...
最新文章
- PHP运算符种类很多 主要有,PHP运算符的类别概览
- c# vscode 配置_使用VSCode开发C#项目
- 捋一捋js面向对象的继承问题
- 在anaconda中安装tensorflow-GPU版本
- oracle rac alter日志,ORACLE 11G RAC 增加日志组及增大日志文件
- laravel支付宝sdk接入
- 51单片机4位数乘法C语言,51单片机实现4位数以内的加减法
- webpack入坑之旅(一)不是开始的开始
- VirtualBox Linux 安装增强工具
- Latex 字体调整-斜体-下划线-加粗-罗马数字
- 【电脑系统】c盘误操作删除EFI引导分区后,开机一直checking media
- Visual Studio中输入英文会在字母之间自动增加空格
- Microsoft Teams安装教程
- MATLAB最速下降法求解函数极小值
- redis数量计算(统计访问量等等)
- 前端工作越来越难找,是不是已经饱和了?
- 基于UDP的效劳器端和客户端
- 《土力学与地基基础(二)》在线平时作业2
- 记一次服务器被挖矿木马攻击的经历
- 明明白白用Qt5.10编写FTP客户端
热门文章
- linux之wget和curl如何携带cookie进行链接访问
- linux之errno值为104(connetction reset by peer)
- python中lines是什么类型_Python中splitlines()方法的使用简介
- java 定时 spring_Spring定时任务实现与配置(一)
- python是偏向bs还是cs_CS与BS架构区别、比较、及现状与趋势分析
- 手把手教出欧拉!数学界最伟大的老师惨遭全网歪曲抹黑,奇葩说陈铭一句话揭露真相.........
- 用一个小球揭开地球的面纱,探索地球运转的秘密!
- 你被这些网络迷题难倒过吗?
- Oracle常用知识总结
- oracle cpu 100%原因,oracle 12.1 cpu 100%