CODEVS 3943 数学奇才琪露诺
作为上白泽慧音老师的出色弟子,数学奇才琪露诺在算术方面有很深的造诣。今天,codevs有幸请到了这位数学界的奇葩作为本场考试的第一题主考官。
琪露诺喜欢0-9之间的数字,她喜欢将十进制非负数字的每一位一一识别出来,再将它们用计算器加起来,也即数字的数位之和,例如,对于1234,琪露诺会用计算器算出1+2+3+4=10。
琪露诺不仅会使用计算器的加法,还会使用计算器的减法、乘法和求幂操作,她觉得一个数x对她来说是有趣的,当且仅当她将x的数位之和算出来后,进行求k次幂的操作,再乘p,再加上或减去|q|,得到的数恰好还是x。
琪露诺是非常好奇,在一段区间[l,r]以内的所有整数x里,有多少个x对她来说是有趣的,她希望你能帮她解决这个问题。
第一行三个整数k,p和q,表示求k次幂,乘以p,如果q为正则加上|q|,如果非正则减去|q|。
第二行两个非负整数l和r,表示所求的区间,保证l≤r。
第一行一个非负整数n,表示有多少个有趣的x。
如果为n正,则第二行升序输出n个非负整数,表示这n个有趣的数字,数字之间用一个空格隔开,行末可以有多余空格。
2 2 -1
1 999
4
1 31 337 967
对于100%的数据,有1≤k≤5,0≤p,|q|≤10000,0≤l≤r≤109。
【解题思路】
这是CODEVS月赛的第一题,很多人抱怨输入数据给错了,最大到10^10,但我并没有受到影响,因为这个题目本来就不是暴力枚举来做的,很显然,最大数为999999999,此时所有位数相加为81,也就是说没有一个数的各位加和比81大,那么我们只需要枚举这81个数经过处理之后的数值,并判断数值是否在范围内就可以了。
program shuxue;
var k,p,q,l,r,i,j,sum,n:Longint;
a,b:array[..] of int64;
c:int64;
begin
read(k,p,q);
read(l,r);
for i:= to do a[i]:=i;
for i:= to do
begin
for j:= to k- do
a[i]:=a[i]*i;
a[i]:=a[i]*p;
a[i]:=a[i]+q;
end;
for i:= to do
begin
sum:=;
if (a[i]>=l) and(a[i]<=r) then
begin
c:=a[i];
while a[i]> do
begin
sum:=a[i] mod +sum;
a[i]:=a[i] div ;
end;
if sum=i then
begin
inc(n);
b[n]:=c;
end;
end;
end;
writeln(n);
for i:= to n do write(b[i],' ');
end.
CODEVS 3943 数学奇才琪露诺的更多相关文章
- [codeVS3943] 数学奇才琪露诺
题目描述 Description 作为上白泽慧音老师的出色弟子,数学奇才琪露诺在算术方面有很深的造诣.今天,codevs有幸请到了这位数学界的奇葩作为本场考试的第一题主考官. 琪露诺喜欢0-9之间的数 ...
- 【洛谷】【动态规划+单调队列】P1725 琪露诺
[题目描述:] 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精. 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是琪露诺决定到河 ...
- 洛谷P1725 琪露诺
传送门啦 本人第一个单调队列优化 $ dp $,不鼓励鼓励? 琪露诺这个题,$ dp $ 还是挺好想的对不,但是暴力 $ dp $ 的话会 $ TLE $ ,所以我们考虑用单调队列优化. 原题中说她只 ...
- [洛谷P3693]琪露诺的冰雪小屋
题目大意:琪露诺的冰雪小屋,我做的第一道大模拟题. 题解:模拟... 卡点:无数小错误,要是没有写一点调一点,那大概是永远调不出来了... C++ Code: #include <cstdio& ...
- P1725 琪露诺
P1725 琪露诺 单调队列优化dp 对于不是常数转移的dp转移,我们都可以考虑单调队列转移 然而我们要把数组开大 #include<cstdio> #include<algorit ...
- AC日记——琪露诺 洛谷 P1725
琪露诺 思路: 单调队列+dp: 然而劳资不会单调队列,所以,线段树水过; 来,上代码: #include <cstdio> #include <cstring> #inclu ...
- 「LuoguP1725」琪露诺(dp 单调队列
题目描述 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精. 某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这只青蛙比以往的要聪明许多,在琪露诺来之前就已经跑到了河的对岸.于是琪露诺决定到河岸去追 ...
- Luogu【P1725】琪露诺(单调队列,DP)
本文是笔者第二篇解题报告.从现在开始,会将练的一些题发到博客上并归类到"解题报告"标签中. 琪露诺是这样一道题 这道题可以用纯DP做,但是据说会超时.(为什么?看起来过河这题比它数 ...
- 洛谷—— P1725 琪露诺
https://www.luogu.org/problem/show?pid=1725 题目描述 在幻想乡,琪露诺是以笨蛋闻名的冰之妖精.某一天,琪露诺又在玩速冻青蛙,就是用冰把青蛙瞬间冻起来.但是这 ...
随机推荐
- 查看Oracle SQL执行计划的常用方式
在查看SQL执行计划的时候有很多方式 我常用的方式有三种 SQL> explain plan for 2 select * from scott.emp where ename='KING'; ...
- CentOS7安装RabbitMQ集群
实验环境 RabbitMQ 集群 server1.example.com IP: 10.10.10.11 Node: diskserver2.example.com IP: 10.1 ...
- /lib /usr/lib /usr/local/lib 的区别
/lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的. /lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件.目录 /usr/lib/ 中含 ...
- 【Fibonacci】BestCoder #28B Fibonacci
Fibonacci Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- 2013 ACM/ICPC 长沙现场赛 C题 - Collision (ZOJ 3728)
Collision Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge There's a round medal ...
- Java多线程中的join()方法
一.join()方法介绍 join() 定义在Thread.java中.join()方法把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的join( ...
- [原]Eclipse 安装SVN、Maven插件(补充)
参考雨之殇的文章:Eclipse 安装SVN.Maven插件 1.SVN可以按文章介绍的正常安装 2.Maven的Eclipse插件地址有变化 文章中的安装链接已经失效:m2e - http://m2 ...
- Bootstrap--组件之Glyphicons字体图标
Glyphicons 字体图标 所有可用的图标 包括250多个来自 Glyphicon Halflings 的字体图标.Glyphicons Halflings 一般是收费的,但是他们的作者允许 Bo ...
- scala学习笔记:match与unapply()
编写如下代码: object MatchTest { def foo(a : Any) : String = { a match { case 1 => "int:1" ca ...
- SQL Server 可疑的解决办法
SQL SERVER 数据库状态为“可疑”的解决方法 --MyDB为修复的数据名 USE MASTER GO SP_CONFIGURE RECONFIGURE WITH OVERRIDE GO ALT ...