前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【题解】HDU7046(数学推导)

【题解】HDU7046(数学推导)

作者头像
灯珑LoGin
发布2022-10-31 14:22:34
1610
发布2022-10-31 14:22:34
举报
文章被收录于专栏:龙进的专栏

题目:https://acm.hdu.edu.cn/showproblem.php?pid=7046

题目来源:2021“MINIEYE杯”中国大学生算法设计超级联赛(7)

题目大概要求就是求按照给定的规则画出的图形的凸包大小。乍一看是计算几何的题目,然后再细想,其实就是一题数学推导的题目。

先画出内容,然后手动推一下边长的公式,然后就可以推出面积公式,直接计算就可以了。

AC代码

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int t, k;
int x_root, y_root, xl, yl, xr, yr;

inline double qpow(double base, int n)
{

    double ans = 1;
    while (n)
    {
        if (n & 1)
        {
            ans = ans * base;
        }
        base = base * base;
        n >>= 1;
    }
    return ans;
}

int main()
{
    scanf("%d", &t);
    while (t--)
    {
        scanf("%d", &k);
        scanf("%d%d%d%d%d%d", &x_root, &y_root, &xl, &yl, &xr, &yr);

        int dy = y_root - yr;
        double d = xr - xl;
        double h = (k - 1) * dy;

        double w = 0.0;

        double ans = 4 * (k - 2) + 3 * qpow(0.5, k - 2) - 2;

        ans *= 0.5 * d * dy;

        printf("%.3lf\n", ans);
    }
}

转载请注明原文:https://www.longjin666.top/?p=1128

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年8月31日2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • AC代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档