#BZOJ3976. Curvy Little Bottles
Curvy Little Bottles
题目描述
Jill在骑车周游Warsaw时,偶然发现一家销售有趣的玻璃瓶的商店。她认为用这些瓶子测量液体可能是一个有趣的
计划,但是这需要在瓶子上做一些标记来指示各个体积。这些标记应该如何标在哪里呢?Jill将问题正式化如下。
假设瓶子是由一条从X=Xlow到X=Xhigh的多项式曲线绕X轴旋转一周构成。因此,X轴与一条穿过瓶子底面中心的垂
线重合。瓶底在X=Xlow由一个实心圆构成,瓶口在X=Xhigh,瓶口是敞开的。第一个样例表示瓶子由从Xlow=0到Xhi
gh=12的多项式4-0.25X构成。瓶子的底部是一个半径为4的圆,瓶口是一个半径为1的圆。瓶子的高度是12。体积每
增加25做一次增量标记。给定多项式P,Xlow,Xhigh,并给定瓶子上连续的两个标记间的体积增量,计算标记与Xl
ow之间的距离。标记不能被标在瓶口以上的位置,标记的数量不能超过8个。
输入格式
第一行1个整数n,表示多项式的次数。
第二行n+1个数,表示a0,a1,a2…an,为多项式P的实数系数,它们决定了瓶子的形状。 a0为常数项,a1为1次项系数……an为n次项系数。
第三行3个数,Xlow,Xhigh两个实数表示瓶底位置和瓶口位置。inc,一个整数表示每连续两个标记间体积的增量是多少。
0<=n<=10,-100<=ai<=100,an不等于0,-100<=Xlow<Xhigh<=100,Xhigh-Xlow>0.1,1<=inc<=500,
输入保证所有标记与瓶子顶部的距离不会小于0.01,瓶子的体积不超过1000,
四舍五入后任意两个标记间的距离至少为0.05,对于任意X满足Xlow<=X<=Xhigh,P(X)>0。
输出格式
第一行输出整个瓶子的体积。
第二行输出一个长度不超过8的递增序列,依次表示从瓶底开始(不含瓶底)的连续标记距离瓶底的距离。
体积和所有标记的距离精确到小数点后两位。
如果没有标记,输出” insufficient volume”(不含引号)。
1
5.0 -1.0
0.0 4.0 50
Case 1: 129.85
0.74 1.91
数据范围与约定
请不要提交,尚无SPJ