。。。这是编程题么。。明明是BT纯高等数学题。。
就是说每个点的密度函数是ln(x^2+y^2)。。然后给你一个跟原点不想交的圆,然你求这个圆的重量。
ln(x^2+y^2)不就是2ln(圆点到该点的距离么)。。这个这个。。没想法。。
怎么办啊。。我暴力积分了半天。脑子都大了。。只好找规律。。我弄了一堆数据。。
然后我震精了。。答案就是圆心的密度的乘以圆的面积。。
我也不知道为什么
总结就是看到这种题算毛啊。。直接找规律。。AC就是硬道理!
Code:
#include<cstdio>#include<iostream>#include<algorithm>#include<string>#include<vector>#include<cmath>#define rep(i,n) for(int i=0;i<n;i++)using namespace std;int main(){ //freopen("in","r",stdin); double p=acos(0)*2;int x,y,r;cin>>x>>y>>r; double ans=log(x*x+y*y)*r*r*p; printf("%0.15lfn",ans);}本高亮代码使用codeHl生成,查看详情
没记错的话是Petr的题?俄罗斯人就喜欢搞这种数学的……当时比赛时候死都想不出来,最后看到解题报告吐血了……
我没看到解题报告瞎猜的..
我没看到解题报告瞎猜的..
我记得gnaggnoyil在博客里面这么写:“一看是个面积分,就随手写了个”