博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 2178 圆的面积并 ——Simpson积分
阅读量:7294 次
发布时间:2019-06-30

本文共 1660 字,大约阅读时间需要 5 分钟。

【题目分析】

    史上最良心样例,史上最难调样例。

    Simpson积分硬上。

    听说用long double 精度1e-10才能过。

    但是double+1e-6居然过了。

【代码】

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; #define maxn 1005#define eps 1e-6#define db double#define ll long long#define ldb long double#define inf 0x3f3f3f3f#define F(i,j,k) for (int i=j;i<=k;++i)#define D(i,j,k) for (int i=j;i>=k;--i) void Finout(){ #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin);// freopen("out.txt","w",stdout); #endif} int Getint(){ int x=0,f=1; char ch=getchar(); while (ch<'0'||ch>'9') {if (ch=='-') f=-1; ch=getchar();} while (ch>='0'&&ch<='9') {x=x*10+ch-'0'; ch=getchar();} return x*f;}int n,cnt=0,tag[maxn],tot;struct Circle{int x,y,r;}c[maxn];struct Segment{db l,r;}a[maxn];bool cmp(Segment x,Segment y){return x.l==y.l?x.r
h) ans+=a[i].r-a[i].l,h=a[i].r; else if (a[i].r>h) ans+=a[i].r-h,h=a[i].r; } return ans;}db cal(db l,db r){ db mid=(l+r)/2,fl=get(l),fr=get(r),fm=get(mid); return (r-l)/6*(fl+fr+4*fm);}db simpson(db l,db r){ db mid=(l+r)/2,s1=cal(l,r),s2=cal(l,mid)+cal(mid,r); if (fabs(s2-s1)<=eps) return s2; else return simpson(l,mid)+simpson(mid,r); }int main(){ Finout();n=Getint(); F(i,1,n) { c[i].x=Getint(); c[i].y=Getint(); c[i].r=Getint(); } sort(c+1,c+n+1,cmp1); F(i,1,n-1) F(j,i+1,n) { if ((c[i].x-c[j].x)*(c[i].x-c[j].x)+(c[i].y-c[j].y)*(c[i].y-c[j].y)<=(c[j].r-c[i].r)*(c[j].r-c[i].r)) { tag[i]=1; break; } } F(i,1,n) if (!tag[i]) c[++tot]=c[i]; n=tot; printf("%.3f\n",simpson(-2000.0,2000.0));}

  

转载于:https://www.cnblogs.com/SfailSth/p/6360277.html

你可能感兴趣的文章
cmake是什么
查看>>
使用MASM10(变量的使用)- Win32汇编语言018
查看>>
【Docker学习笔记】----基于centos 7 的Docker安装
查看>>
Android笔记之OnLongClickListener
查看>>
Java客户端:调用EyeKey HTTP接口进行人脸对比
查看>>
SQL之分区函数
查看>>
创业公司如何实施敏捷开发
查看>>
Django使用AJAX调用自己写的API接口
查看>>
数据科学求职准备
查看>>
Wireshark抓包工具使用教程以及常用抓包规则
查看>>
fedora16下更改网卡名字
查看>>
awk中NF,NR的含义
查看>>
Centos下Docker中运行neo4j 并配置挂载本地文件
查看>>
静态页面跳转传值小插件
查看>>
JetBrains公司的IDE使用技巧
查看>>
第三届中国云计算用户大会笔记和心得
查看>>
PHP7开启opcache打造强悍性能
查看>>
加载某个页面(A)时实现自动跳转到某个页面(B)
查看>>
Jenkins入门系列之——03PDF文档下载
查看>>
Digit Generator(生成元)
查看>>