• UVA 11186 Circum Triangle (枚举三角形优化)(转)


    题意:圆上有n个点,求出这n个点组成的所有三角形的面积之和

    题解:

    当我们要求出S(i,j,k)时,我们需要假设k在j的左侧,k在i与j之间,k在i的右侧。

     如果k在 j的左侧  那么 S(i,j,k) = S(i,k,o)+s(i,j,o) - s(k,i,o); 显然 只要k在j的左侧  s(i,j,0) 在用来求 做和用的。

    如果k在 的i右侧  那么 S(i,j,k) = S(i,k,o)+s(i,j,o) - s(k,j,o); 显然 只要k在i的右侧  s(i,j,0) 在用来求 做和用的。

    如果k在 i,j的中间  那么 S(i,j,k) = S(j,k,o)+s(i,k,o) - s(i,j,o); 显然 只要k在i,j的中间  s(i,j,0) 在用来求 做差用的。

    那么 我们就可以对于 线段 i,j  对于后面 或者前面的点来说 都需要加上oji 这一块面积  而对于  ij 中间的 点来说  都需要 减去这一块。

    那么对于这一块面积。  总共的 需求为   当k在左侧的时候 : n - j - 1    k在右侧是时候   为  i   加起来为  n - j + i - 1;

    对于k位于中间来说。   总共需要减去 个数为   j - i  - 1个。

    那么 总共就是  n + 2i - 2j  个

    #include<set>
    #include<map>
    #include<queue>
    #include<stack>
    #include<cmath>
    #include<vector>
    #include<string>
    #include<cstdio>
    #include<cstring>
    #include<iomanip>
    #include<stdlib.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    #define eps 1E-8
    /*注意可能会有输出-0.000*/
    #define Sgn(x) (x<-eps? -1 :x<eps? 0:1)//x为两个浮点数差的比较,注意返回整型
    #define Cvs(x) (x > 0.0 ? x+eps : x-eps)//浮点数转化
    #define zero(x) (((x)>0?(x):-(x))<eps)//判断是否等于0
    #define mul(a,b) (a<<b)
    #define dir(a,b) (a>>b)
    typedef long long ll;
    typedef unsigned long long ull;
    const int Inf=1<<28;
    const ll INF=1ll<<60;
    const double Pi=acos(-1.0);
    const int Mod=1e9+7;
    const int Max=10010;
    double g[Max];
    int main()
    {
    int n,r;
    while(~scanf("%d %d",&n,&r))
    {
        if(!n&&!r)
            break;
        for(int i=0;i<n;++i)
        {
            scanf("%lf",&g[i]);
            g[i]=g[i]/180*Pi;
        }
        sort(g,g+n);
        double ans=0;
        for(int i=0;i<n;++i)
        {
            for(int j=i+1;j<n;++j)
            {
                ans+=(n+2*i-2*j)*1.0*sin(g[j]-g[i]);
            }
        }
        ans=ans*r*r*0.5;
        printf("%.0f
    ",ans);
    }
    return 0;
    }

     参考:(找不到原网址了,如有人知道请联系我,谢谢了)

  • 相关阅读:
    大数据概述
    c语言文法
    实验一 词法分析程序实验
    语法分析程序
    第一篇博客~关于编译原理的理解
    《DenseNet Models for Tiny ImageNet Classification》课程设计论文
    物体检测的尺度效应实验
    16路PWM输出的pca9685模块
    Rocketlab公司火箭Electron介绍
    网址图书收藏
  • 原文地址:https://www.cnblogs.com/zhuanzhuruyi/p/6160694.html
Copyright © 2020-2023  润新知