2020牛客暑期多校訓練營 第二場 K Keyboard Free 積分 期望 數學
阿新 • • 發佈:2020-07-18
LINK:Keyboard Free
我要是會正經的做法 就有鬼了。
我的數學水平沒那麼高。
三個同心圓 三個動點 求圍成三角形面積的期望。
不會告辭.
其實可以\(n^2\)列舉角度然後算出面積 近乎可以得到面積的期望。
正解的話 聽李指導說的意思是指二維積分?辛普森積分即可???
值得一提的是 三角形面積我也不會計算 自閉了。
code
//#include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<ctime> #include<cctype> #include<queue> #include<deque> #include<stack> #include<iostream> #include<iomanip> #include<cstdio> #include<cstring> #include<string> #include<ctime> #include<cmath> #include<cctype> #include<cstdlib> #include<queue> #include<deque> #include<stack> #include<vector> #include<algorithm> #include<utility> #include<bitset> #include<set> #include<map> #define ll long long #define db double #define INF 10000000000000000ll #define ldb long double #define pb push_back #define put_(x) printf("%d ",x); #define get(x) x=read() #define gt(x) scanf("%d",&x) #define gi(x) scanf("%lf",&x) #define put(x) printf("%d\n",x) #define putl(x) printf("%lld\n",x) #define rep(p,n,i) for(RE int i=p;i<=n;++i) #define go(x) for(int i=lin[x],tn=ver[i];i;tn=ver[i=nex[i]]) #define fep(n,p,i) for(RE int i=n;i>=p;--i) #define vep(p,n,i) for(RE int i=p;i<n;++i) #define pii pair<int,int> #define mk make_pair #define RE register #define P 1000000007ll #define gf(x) scanf("%lf",&x) #define pf(x) ((x)*(x)) #define uint unsigned long long #define ui unsigned #define EPS 1e-4 #define sq sqrt #define mod 1000000007 #define l(x) s[x].l #define r(x) s[x].r #define w1(p) s[p].w1 #define w2(p) s[p].w2 #define tag(p) s[p].tag #define zz p<<1 #define yy p<<1|1 using namespace std; char *fs,*ft,buf[1<<15]; inline char gc() { return (fs==ft&&(ft=(fs=buf)+fread(buf,1,1<<15,stdin),fs==ft))?0:*fs++; } inline int read() { RE int x=0,f=1;RE char ch=gc(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=gc();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=gc();} return x*f; } const int MAXN=500; const db Pi=acos(-1.0); int n=500; db S[MAXN+20],C[MAXN+20]; int main() { freopen("1.in","r",stdin); rep(0,MAXN,i)S[i]=sin(Pi*2*i/MAXN); rep(0,MAXN,i)C[i]=cos(Pi*2*i/MAXN); int T;gt(T); while(T--) { db ans=0,x,y,z; scanf("%lf%lf%lf",&x,&y,&z); vep(0,MAXN,i)vep(0,MAXN,j)ans+=fabs((z*C[j]-x)*(y*S[i])-(y*C[i]-x)*(z*S[j])); printf("%.1lf\n",ans/2/MAXN/MAXN); } return 0; }