题解:P17237 『STA - R10』介电常数
qianyuzhe
·
·
题解
\begin{aligned}
a+b
&=\arccos(\cos(a+b))\\
&=\arccos(\cos a\cos b-\sin a\sin b)\\
&=\arccos(\cos a\cos b-\cos a\cos b\dfrac{\sin a\sin b}{\cos a\cos b})\\
&=\arccos(\cos a\cos b(1-\tan a\tan b))\\
&=\arccos(\cos a\cos b(1-\cos(\arccos(\tan a\tan b))))\\
&=\arccos(\cos a\cos b(2\sin^2\dfrac{\arccos(\tan a\tan b)}{2}))
\\\\
ab
&=\dfrac{(a+b)^2-(a-b)^2}{4}\\
&=\dfrac{(a+b)^2-(a+\arcsin(\sin -b))^2}{4}\\
&=\dfrac{(a+b)^2-(a+\arcsin(\sin(b+\pi)))^2}{4}\\
&=\dfrac{2(a+b)^2-1+1-2(a+\arcsin(\sin(b+\pi)))^2}{8}\\
&=\dfrac{1}{8\times\dfrac{1}{2(a+b)^2-1+1-2(a+\arcsin(\sin(b+\pi)))^2}}\\
&=\cos(\operatorname{arcsec}(8\csc(\arcsin(2(a+b)^2-1+1-2(a+\arcsin(\sin(b+\pi)))^2))))\\
&=\cos(\operatorname{arcsec}(8\csc(\arcsin(\arcsin(\sin(1-2(a+b)^2+\pi)+1-2(a+\arcsin(\sin(b+\pi)))^2))))\\
&=\cos(\operatorname{arcsec}(8\csc(\arcsin(\arcsin(\sin(\cos(2\arcsin(a+b))+\pi)+\cos(2\arcsin(a+\arcsin(\sin(b+\pi))))))))
\end{aligned}
#include<bits/stdc++.h>
using namespace std;
int t;
int main(){
cin.tie(0)->sync_with_stdio(0);
cin>>t;
if(t==1){
cout<<"15\n";
//1:a
//2:b
cout<<"3 1 cos\n";//3:cos(a)
cout<<"3 2 cos\n";//4:cos(b)
cout<<"3 1 tan\n";//5:tan(a)
cout<<"3 2 tan\n";//6:tan(b)
cout<<"2 5 6\n";//7:tan(a)tan(b)
cout<<"3 7 acos\n";//8:acos(tan(a)tan(b))
cout<<"0 0.5\n";//9:0.5
cout<<"2 8 9\n";//10:acos(tan(a)tan(b))/2
cout<<"3 10 sin\n";//11:sin(acos(tan(a)tan(b))/2)
cout<<"2 11 11\n";//12:sin^2(acos(tan(a)tan(b))/2)
cout<<"0 2\n";//13:2
cout<<"2 12 13\n";//14:1-tan(a)tan(b)
cout<<"2 3 4\n";//15:cos(a)cos(b)
cout<<"2 14 15\n";//16:cos(a+b)
cout<<"3 16 acos\n";//17:a+b
}else{
cout<<"23\n";
//1:a
//2:b
cout<<"1 1 2\n";//3:a+b
cout<<"0 3.14159265358979\n";//4:pi
cout<<"1 2 4\n";//5:b+pi
cout<<"3 5 sin\n";//6:sin(b+pi)
cout<<"3 6 asin\n";//7:-b
cout<<"1 1 7\n";//8:a-b
cout<<"3 3 asin\n";//9:arcsin(a+b)
cout<<"1 9 9\n";//10:2arcsin(a+b)
cout<<"3 10 cos\n";//11:1-2(a+b)^2
cout<<"1 4 11\n";//12:1-2(a+b)^2+pi
cout<<"3 12 sin\n";//13:sin(1-2(a+b)^2+pi)
cout<<"3 13 asin\n";//14:2(a+b)^2-1
cout<<"3 8 asin\n";//15:arcsin(a-b)
cout<<"1 15 15\n";//16:2arcsin(a-b)
cout<<"3 16 cos\n";//17:1-2(a-b)^2
cout<<"1 14 17\n";//18:8ab
cout<<"3 18 asin\n";//19:asin(8ab)
cout<<"3 19 csc\n";//20:1/(8ab)
cout<<"1 20 20\n";//21:1/(4ab)
cout<<"1 21 21\n";//22:1/(2ab)
cout<<"1 22 22\n";//23:1/(ab)
cout<<"3 23 asec\n";//24:asec(1/(ab))
cout<<"3 24 cos\n";//25:ab
}
}