题目名称 | 292. [NOI 2000]瓷片项链 |
---|---|
输入输出 | ring.in/out |
难度等级 | ☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | BYVoid 于2009-03-08加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:142, 提交:339, 通过率:41.89% | ||||
TA | 100 | 0.000 s | 0.00 MiB | Pascal |
Hzoi_chairman | 100 | 0.000 s | 0.00 MiB | C++ |
金身人面兽 | 100 | 0.000 s | 0.00 MiB | C++ |
烟雨 | 100 | 0.000 s | 0.00 MiB | C++ |
锝镆氪锂铽 | 100 | 0.000 s | 0.00 MiB | C++ |
䱖虁職 | 100 | 0.000 s | 0.00 MiB | C++ |
牛先生 | 100 | 0.000 s | 0.00 MiB | C++ |
zcx | 100 | 0.000 s | 0.00 MiB | C++ |
策 | 100 | 0.000 s | 0.00 MiB | C++ |
dustsans | 100 | 0.000 s | 0.00 MiB | C++ |
本题关联比赛 | |||
noi2000练习1 |
关于 瓷片项链 的近10条评论(全部评论) | ||||
---|---|---|---|---|
二次函数
| ||||
二次函数是个好东西。。。
| ||||
评论以后要多看看再交题
安呐一条小咸鱼。
2016-02-18 20:47
6楼
| ||||
以前一直没看出来这个瓷片是沿直线排的
| ||||
这题用二次函数的顶点很好解决问题。在这行:else if(n%(2*v)!=0&&n%(2*v)<v)把小于号改成小于等于号就错了3个,倒霉。。。
| ||||
为何Pascal那么快
| ||||
除了分成5和5以外,还有最优解吗?
FoolMike
2014-09-14 11:21
2楼
| ||||
二次函数最大值
|
原始部落用一种稀有的泥土烧制直径相同的圆瓷片并串成项链,串的时候沿瓷片的直径方向顺次连接,瓷片之间没有空隙也不重叠,一条项链至少由一个瓷片构成。
每个烧制的瓷片厚度是一定的,直径$D$和所用泥土的体积$V$有以下关系:
$D=0.3*$$(V-V_0)^{0.5}$ ($V$>$V_0$)
其中$V_0$为烧制每一片的损耗,单位与$V$相同。当用料小于等于$V_0$时,不能烧制成瓷片。
例: $V总 = 10$,$V_0 = 1$,若烧制成一片瓷片,$V = V总= 10$,$D = 0.9$。如果把泥土均分成$2$份,每份泥土的体积为$V = V总/2 = 5$,单个瓷片的直径为 $0.6$,串起来的总长为$1.2$。
给定了泥土的总体积和烧制单个瓷片的损耗,烧制的瓷片数不同,能够得到的项链总长度也不相同,请计算烧制多少个瓷片能使所得到的项链最长。
文件仅有两行,每一行仅包含一个整数和一个换行/回车符。第一行的数字为泥土总体积$V$,第二行数字为烧制每片的损耗$V_0$。
文件中仅包含一个数字和一个换行/回车符。该数字为能获得最长项链而烧制的瓷片数。如果不能烧制成瓷片或者最优解不唯一(存在两个或者两个以上方案均能获得最长项链),输出数字0。
10 1
5
10 2
0
$40$%的数据:$1 <= V总 <= 100$ , $1<= V_0 <= 10$;
$100$%的数据:$1 <= V总 <= 60000$ , $1<= V_0 <= 600$;