首页 > 其他分享 >统计次数【清华大学考研机试题】

统计次数【清华大学考研机试题】

时间:2023-01-05 22:22:39浏览次数:41  
标签:10 试题 int LL 清华大学 次数 long include 考研

统计次数

给定两个正整数 \(n\) 和 \(k\),求从 \(1\) 到 \(n\) 这 \(n\) 个正整数的十进制表示中 \(k\) 出现的次数。

输入格式
共一行,包含两个整数 \(n\) 和 \(k\)。

输出格式
输出一个整数,表示答案。

数据范围
\(1≤n≤10^6,\)
\(1≤k≤9\)
输入样例:
12 1
输出样例:
5
样例解释
从 \(1\) 到 \(12\) 这些整数中包含 \(1\) 的数字有 \(1,10,11,12,\)一共出现了 \(5\) 次 \(1\)。

暴力 \(O(nlogn)\)(174 ms)

具体实现
从 1 遍历到 n,分别统计每个数中 k 出现的次数。
不断取 x 的末尾,判断它是否为 k,再把 x 除以 10(舍弃末位)。

点击查看代码
#include<iostream>

using namespace std;
typedef long long LL;
int n,k;
LL ans;

int main(){
	cin >> n >> k;
	for(int i = 1; i <= n; i ++ ){
		int t = i;
		while(t){
			if(t % 10 == k)ans ++;
			t /= 10;
		}
	}
	cout << ans;
}

数位DP \(O(n)\)(62 ms)

\(f[i]\) 表示 \(i\) 中含有几个 \(k\)。观察可得到转移方程 \(fi=f⌊i/10⌋+ (i \% 10 == k)\),其中 \(bj\) 为 \(j\) 是否等于 \(k(0≤j≤9)\)。如此递推即可

点击查看代码
#include<iostream>
#include<algorithm>

using namespace std;
typedef long long LL;
const int N = 1e6 + 10;
int n,k;
int f[N];
LL ans;

int main(){
	cin >> n >> k;
	for(int i = 1; i <= n; i ++ )f[i] = f[i / 10] +  (i % 10 == k),ans += f[i];
	cout << ans;
}

标签:10,试题,int,LL,清华大学,次数,long,include,考研
From: https://www.cnblogs.com/J-12045/p/17028581.html

相关文章

  • 大厂必考深度学习算法面试题总结
    目录目录一,滤波器与卷积核二,卷积层和池化输出大小计算三,深度学习框架的张量形状格式四,Pytorch、Keras的池化层函数理解五,Pytorch和Keras的卷积层函数理解六,sof......
  • 面试题08. 06 汉诺塔
    问题链接https://leetcode.cn/problems/hanota-lcci/description/解题思路首先我们要定义递归函数。汉诺塔问题是典型的递归问题(缩小规模,小规模问题是大规模问题的子集),......
  • 看完了108份面试题,我为你总结出了这 10 个【Hive】高频考点(建议收藏)
    前言        之前听CSDN头牌博主@沉默王二说过一句话,我觉得十分在理:处在互联网时代,是一种幸福,因为各式各样的信息非常容易触达,如果掌握了信息筛选的能力,就真的......
  • 接口测试常见面试题
    为什么要做接口测试?如下图一个提现功能比如这个输入框,平常拿到这个web页面,会对输入框做用例设计:输入一个负数(如:-100),点提交输入金额为0(如:0),点提交输入金额为0-100的数......
  • 校招前端一面必会vue面试题指南
    写过自定义指令吗?原理是什么回答范例Vue有一组默认指令,比如v-model或v-for,同时Vue也允许用户注册自定义指令来扩展Vue能力自定义指令主要完成一些可复用低层级DOM操......
  • 校招前端二面常考react面试题(边面边更)
    高阶组件高阶函数:如果一个函数接受一个或多个函数作为参数或者返回一个函数就可称之为高阶函数。高阶组件:如果一个函数接受一个或多个组件作为参数并且返回一个组件就......
  • 前端一面常考react面试题
    类组件(Classcomponent)和函数式组件(Functionalcomponent)之间有何不同类组件不仅允许你使用更多额外的功能,如组件自身的状态和生命周期钩子,也能使组件直接访问store......
  • 华为外包机试题 答案示例
    算法在广不在精,随遇而安,快乐常在1.反转链表  https://www.cnblogs.com/sundayvc/p/16598319.html2.C++——链表内指定区间反转 https://blog.csdn.net/ldm_666/articl......
  • 多测师肖sir__java笔试题__01
    题目:使用java写一个字符串替换方法,把给定字符串中的“abc”子串替换成空串,并统计出abc子串出现的次数,不要使用String类自带的方法解释:首先定义replaceString的静态方法,然后......
  • Java面试题Day02
    11.this和super的区别?this指向的是自身的一个对象,代表对象本身,super指向的是自己的一个超类对象,这个超类对象是最近的一个父类.this()调用的是本类其他构造方法,supe......