【题解】踩方格
【题解】移动路线
【题解】队列问题
4.队列问题(lru.cpp)
【题目描述】
有一个大小为n的页面缓存队列,初始为空,当计算机访问页面时,若缓存队列没有该页面,则加入到缓存队列中,若队列已满,则将删除访问时间最远的页面。
有Q次询问,每次询问输入一个整型x,表示访问页面x。若缓存队列中有则输出yes,否则输出no。
【输入描述】
第一行,2个空格隔开正整数n,Q
以下Q行:每行是一个整型x。
【输出描述】
Q行,每行可能为yes或者no
【样例输入】
3 10 1 2 1 3 5 6 1 5 2 6
【样例输出】
no no yes no no no no yes no no
【样例解释】
【数据范围】
60%的数据:n<=1000,Q<=1000;
100%的数据:n<=100000,Q<=100000
【题解】计数2的N次方
【题目描述】
任意给定一个正整数N(N≤100),计算2的n次方的值。
【输入描述】
输入一个正整数N。
【输出描述】
输出2的N次方的值。
【样例输入】
5
【样例输出】
32
【题解】大整数减法
【题目描述】
求两个大的正整数相减的差。
【输入】
共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。
【输出】
一行,即所求的差。
【输入样例】
9999999999999999999999999999999999999
9999999999999
【输出样例】
9999999999999999999999990000000000000
【题解】大整数加法
【题目描述】
求两个不超过200位的非负整数的和。
【输入】
有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。
【输出】
一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。
【输入样例】
22222222222222222222
33333333333333333333
【输出样例】
55555555555555555555
【题解】区间数位个数
区间数位个数(digit.cpp)
【描述】
给定整数n和整数k,求出1~n中所有数的每一位数字中,出现数字k的次数。
【输入】
第一行是两个个整数n和k
【输出】
一个整数表示答案。
【样例输入输出】
light.in | light.out |
123456 5 | 58993 |
【数据范围】
60%的数据:n<=1e6,1<=k<=9
80%的数据:n<=1e12,1<=k<=9
【题解】区间和
【描述】
输入一个整数Q,进行Q次询问,每次给定两个整数l和r,每一次输出l~r中所有平方数的和 % 1000000007
【输入】
第一行是一个整数Q
后面的Q行每行有2个数字l和r
【输出】
Q行,每行一个整数。
【样例输入输出】
light.in | light.out |
2 2 10 3 100 | 13 384 |
【数据范围】
40%的数据:Q<=1000,l<=r<=1000。
80%的数据:Q<=1000,l<=r<=1e6。
100%的数据: Q<=1e6,l<=r<=1e6
【题解】阶乘问题
2.阶乘问题(fac.cpp)
【题目描述】
给定一个正整数n,求出一个最小的整数m并使得m!的末尾连续的0的个数小于n。
m!=1*2*3*4*...*m
【输入描述】
第一行n。
【输出描述】
一个整数m。
【样例输入】
5
【样例输出】
25
【数据范围】
30%的数据:n<=20
70%的数据:n<=100
100%的数据:n<=100000