Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

这道题目的contest report说的有点疑问

Posted by HW at 2005-08-01 03:21:24 on Problem 2514
Ridiculous Addition


这个是一个比较简单的题目,要算出和的每一位,就需要两个数列的每一位,所以问题转化为能够在短时间内回应关于数列第k位的询问。
其实很简单:首先利用组合计数算出那个数字所在的整个数字的位数;然后组合计数算出结果。
举个例子 K=30 那么看第一个数列一位数有9个共9位,两位数有90个共180位所以是一个两位数,然后可以知道是第11个两位数的第1位是20的第一位,也就是2;同样的得出第二个数列的第30位是6,然后得出结果8。

不过还有进位的问题,解决的问题很简单:看它的后一位就可以了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

有人会问:那会不会循环得很长?其实不会的,有一个整数的Hash算法叫做平方取中法就是一个数的平方取中间部分,所以可以看出平方数的中部分类似于随机数所以进位情况不确定。

问题:
看后一位就可以了吗?为什么?
如果后一位是4和5呢?怎么就肯定没有进位呢?
4和5的后一位可能有进位啊,如果进了,那么4和5也就要进了。

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator