2. 分段函数的面积与高度

Posted sunbines

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2. 分段函数的面积与高度相关的知识,希望对你有一定的参考价值。

2. 分段函数的面积与高度

【问题描述】

       给定笛卡尔坐标平面上的 2n+1 个点的集合,点的编号从 0 到 2n,设 Pi  是第 i 个点,Pi 的 x 坐标为 i ,初始时点 Pi  的 y 坐标为 0,也就是在开始时Pi=(i, 0)。

       给定的点为一个分段函数的顶点,函数的第 j 段为 PjPj+1

       可以将该函数作变动处理,每次可以将某个 x 坐标为奇数(也就是点 P1、P2、...、P2n-1)的点的 y 坐标加 1,注意相应图形也会发生变化。

       例如,下图中为一个 =3 的函数(点的个数为2*3+1=7),在其中将 P1 点的 y 坐标作了三次变动,P5 点的 y 坐标作了一次变动。

 

技术图片

       将该图形的面积设为该图形下方的区域和坐标轴 OX 之上的区域。例如,上面图形的图的面积是 4 (上面的图形上的淡蓝色区域)。 

       设图形高度为所有初始点(P0、P1、...、P2n)中 y 坐标的最大值,上面图形的高度为 3 。

       请找出由 2n+1 个顶点组成的图形的面积为 k 的最小可能的高度,不一定是最小的变动次数。

       不难理解通过对图形进行上述描述的变动总是可以得到指定结果。

 【输入形式】

       输入的第一行包含两个整数 n 和 k(1n、k≤1018),分段函数的顶点个数以及希望获得的图形面积。
【输出形式】

       输出为一个整数,表示获得图形面积 k 的最小可能的图形高度。
【样例输入1】

4 3

【样例输出1】

1

 

【样例输入2】

4 12

【样例输出2】

3

【样例说明】

样例1:

技术图片

样例2:

技术图片

 

 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     long long n, k;
 7     cin >> n >> k;
 8     if(n >= k)
 9     {
10         cout << 1;
11     }
12     else
13     {
14         if(k % n == 0)
15             cout << k / n;
16         else
17             cout << k / n + 1;
18     }
19 }

 

以上是关于2. 分段函数的面积与高度的主要内容,如果未能解决你的问题,请参考以下文章

java:矩阵面积

c语言.编写一个函数,用来计算圆的面积。

关于在曲线曲面上积分的方法公式与技巧

css有用的代码片段

python怎么求圆柱表面积半径和高由键盘输入

找出面积最大的矩形