HDU-1597find the nth digit,超短代码一遍过,啦啦啦啦~~
2024-09-07 15:45:28
find the nth digit
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768
K (Java/Others)
Total Submission(s): 11311 Accepted Submission(s): 3378
-> Link <-
这种题应该是数位dp吧,之前在cf上第一次碰见这种题,此后不断碰到类似变形的,不过poj上那道Number sequense还是没有A出来,这道题和cf上的那道很相似,用的就是类似的思路,不是很难;
思路:既然是1121231234.....9 123..91 123...912 123...91234...,我们观察数字规律,第1位是1,第3位是2,第10位是4,出现第1个9的时候是第45位,也就是说前45位位数n=(1+i)*i/2,类似于前n项和;而45位以后,每出现的一个字串的长度从10开始递增,最低位从1开始到9然后又从1开始到9,直到位数凑够n;
这样说可能有点不明白,还是用代码解释吧:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
int i=1;
while(n>i)
{
n-=i;//反过来就是相当于前i项和;
i++;
}
while(n>9) n-=9;//当其位数大于45时,就是上面所说的从1开始排到9又从1开始排到9.......所以。。
printf("%d\n",n);
}
return 0;
}//自己在稿子上模拟一下很好理解的;
要不是在cf上看到那种题这道题还不造要做多久,不得不又感慨一下CF上的题真的很启发思维啊,一道题发散性思维就可以解决很多问题,收获很大,做这道题估计不超过半小时,稍微推一下直接A了,真的好开心!!
最新文章
- Node.js的process.nextTick(callback)理解
- linux 之SCP
- Linux上安装Mysql后除了本机其他机器不能访问的问题(zhuan)
- XMAL 中x名称控件的Auttribute
- 一个简单的反射连接程序(修改文件时间,以及创建Windows服务)
- Add/Remove listview web part in publish site via powershell
- PHP中判断输入验证码是否一致
- JSON.stringify 方法
- Libevent核心原理
- 【转】SDWebImage实现分析
- javascript . 03 函数定义、函数参数(形参、实参)、函数的返回值、冒泡函数、函数的加载、局部变量与全局变量、隐式全局变量、JS预解析、是否是质数、斐波那契数列
- .net Winfrom 僵尸窗口 的问题
- android系统中如何通过程序打开某个AccessibilityService
- 逃逸分析(Escape Analysis)
- Apache Phoenix Flume集成 -- JsonEventSerializer改进
- RecyclerView错误
- P2158/bzoj2190 [SDOI2008]仪仗队
- maven 知识点1
- [UI基础][QQ登陆界面]
- Tree - Gradient Boosting Machine with sklearn source code
热门文章
- Struts2 表单提交与execute()方法的结合使用
- DateFormat类
- Spring注解驱动开发之扩展原理
- dubbo系列--集群容错
- 搞定redis面试--Redis的过期策略?手写一个LRU?
- 常用linux命令大全 转载自:https://www.cnblogs.com/laov/p/3541414.html(大牛笔记)
- InChatter系统之服务端的Windows服务寄宿方式(三)
- (转)SpringMVC学习(十一)——SpringMVC实现Resultful服务
- scrapy 的分页爬取 CrawlSpider
- CREATE RULE - 定义一个新的重写规则