啥也别说了
看C++和算法,眼泪哗哗的。。。
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(4)
给我留言
查看公开留言
查看私人留言
随笔分类
algorithm(14)
(rss)
pku/acm(59)
(rss)
数字图像(1)
(rss)
随笔档案
2010年5月 (1)
2010年3月 (5)
2009年3月 (1)
2008年12月 (1)
2008年11月 (66)
搜索
最新评论
1. re: ACM 2325 Persistent Number 大数相除
大数相除部分,貌似100/20的结果是错的。
--Raise
2. re: 字典树原理(转)
一看就是c++外行写的代码,
--ddd
3. re: ACM 1664 放苹果
赞。。新手 看了豁然开朗。.。谢谢了
--mokuku
4. re: 字典树原理(转)
代码风格不是很好
--ygqwna
5. re: 字典树原理(转)[未登录]
只有new,没有delete,必然内存泄露
--123
阅读排行榜
1. 字典树原理(转)(7981)
2. STL 堆排序使用和体会(转)(2076)
3. ACM 2325 Persistent Number 大数相除(1771)
4. 二叉树实例(1728)
5. 大概了解cin,cin.getline,cin.clear,cin.ignore,cin.get()的用法(1613)
评论排行榜
1. 字典树原理(转)(7)
2. ACM 1730 Perfect Pth Powers(3)
3. ACM 1929 Calories from Fat(2)
4. ACM 2316 SPIN(2)
5. ACM 2325 Persistent Number 大数相除(2)
Powered by:
博客园
模板提供:
沪江博客
C++博客
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
ACM 2000 Gold Coins
今天挺郁闷的,做了几道都没啥结果,有点气馁了。
想想为了将来还是继续努力吧。。。碰到一道水题,气都撒这上了
解不等式
(for k = 1 to i)∑k = i * (i + 1) / 2 ≤ n,
注意到i是满足上式的最小正整数,得到
i = (√(8 * n + 1) - 1) / 2(取整数)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
于是有:
金币数
= (for k = 1 to i)∑k^2 + (n - i) * (i + 1)
= (i + 1) * (6 * n - 2 * i - i^2) / 6
#include
<
iostream
>
#include
<
string
>
#include
<
vector
>
#include
<
cmath
>
using
namespace
std;
int
main()
{
long
int
sum;
int
num;
while
(scanf(
"
%d
"
,
&
num)
!=
EOF)
{
if
(num
==
0
)
break
;
sum
=
0
;
int
n
=
((
int
)(sqrt((
double
)(
8
*
num
+
1
)))
-
1
)
/
2
;
for
(
int
j
=
1
;j
<=
n;j
++
)
{
sum
+=
j
*
j;
}
sum
+=
(num
-
n
*
(n
+
1
)
/
2
)
*
(n
+
1
);
printf(
"
%ld %ld\n
"
,num,sum);
}
}
发表于 2008-11-25 19:21
hunter
阅读(385)
评论(0)
编辑
收藏
引用
所属分类:
pku/acm
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
ACM 2402 Palindrome Numers
ACM 2325 Persistent Number 大数相除
ACM 2316 SPIN
ACM 2299 Ultra QuickSort 合并排序的应用
ACM 2291 Rotten Ropes
ACM 2275 Flipping Pancake reverse()函数的应用
ACM 2273 An Excel-lent Problem
ACM 2183 Bovine Math Geniuses
ACM 2141 Message Decowding
ACM 2140 Herd Sums
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理