码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 5312 Sequence【数学推导】

时间:2015-07-26 20:58:00      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5312

解法:
这个题看上去是一个贪心, 但是这个贪心显然是错的.
事实上这道题目很简单, 先判断1个是否可以, 然后判断2个是否可以. 之后找到最小的整数k (k > 2), 使得(m - k) mod 6 = 0即可.

证明如下:
3n(n-1)+1 = 6(n*(n-1)/2)+1, 注意到n*(n-1)/2是三角形数, 任意一个自然数最多只需要3个三角形数即可表示. 枚举需要k个。

事实上, 打个表应该也能发现规律.

三角形数:

1、3、6、10、15等等这些能够表示成三角形的形状的总数量的数,叫做三角形数。
一定数目的点或圆在等距离的排列下可以形成一个等边三角形,这样的数被称为三角形数。比如10个点可以组成一个等边三角形,因此10是一个三角形数:
x
x x
x x x
x x x x
x x x x x
开始个18个三角形数是1、3、6、10、15、21、28、36、45、55、66、78、91、105、120、136、153、171……(OEIS中的数列A000217)
第n个三角形数的公式是 n*(n-1)/2 或 ((2*n+1)^2-1)/8

版权声明:转载请注明出处。

hdu 5312 Sequence【数学推导】

标签:

原文地址:http://blog.csdn.net/u014427196/article/details/47071147

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!