博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ5020 [THUWC 2017]在美妙的数学王国中畅游LCT
阅读量:6473 次
发布时间:2019-06-23

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

题意很明显是要用LCT来维护森林 难点在于如何处理函数之间的关系 我们可以根据题目给的提示关于泰勒展开的式子 将三种函数变成泰勒展开的形式

因为\(x∈[0,1]\) 所以我们可以将三个函数在\(x_0=0\)处展开

\(sin(ax+b)=sin(b)+\frac{acos(b)x}{1!}+\frac{-a^2sin(b)x^2}{2!}+\frac{-a^3cos(b)x^3}{3!}+⋯\)

\(e^{ax+b}=e^b+\frac{ae^bx}{1!}+\frac{a^2e^bx^2}{2!}+\frac{a^3e^bx^3}{3!}+⋯\)

\(ax+b=b+\frac{ax}{1!}+\frac{0x^2}{2!}+\frac{0x^3}{3!}+⋯\)

\(splay\)合并时暴力合并每一位 我处理到\(x^{13}\)就可以\(AC\)

#include
using namespace std;#define FO(x) {freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);}#define pa pair
#define mod 1000000007#define ll long long#define mk make_pair#define pb push_back#define fi fisrt#define se second#define cl(x) memset(x,0,sizeof x)#ifdef Devil_Gary#define bug(x) cout<<(#x)<<" "<<(x)<
'9'){if(ch=='-')rev=1;ch=getchar();} while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();} return rev?-x:x;}int n,m,cnt,c[N][2],fa[N],q[N],rev[N];char ss[D];double tmp[4],fac[D];struct data{ int type; double a,b,T[D],v[D]; void calc(){ if(type==1){ double ga=a; T[0]=tmp[0]=sin(b),tmp[1]=cos(b),tmp[2]=-tmp[0],tmp[3]=-tmp[1]; for(int i=1;i

转载于:https://www.cnblogs.com/devil-gary/p/8855080.html

你可能感兴趣的文章
前端 js 拼接json数据 ,以及后端java转义 &quot; 字符串
查看>>
我的友情链接
查看>>
并发和高并发
查看>>
一维数组和二维数组的初始化时机是不同的
查看>>
ora-01017 no message file for product=RDBMS
查看>>
动态改变json key值 和value值
查看>>
CentOS 7.1 安装ntfs-3g
查看>>
微信返回的xml转array
查看>>
AWS中批处理任务运行架构
查看>>
用md5sum校验文件的完整性
查看>>
PVST、RSTP、MSTP区别
查看>>
IOS 生命周期
查看>>
实现同一个脚本多次运行,系统中只有一个进程
查看>>
我的友情链接
查看>>
杨辉三角
查看>>
Python内存管理机制
查看>>
如何遍历map对象(如HashMap)
查看>>
Spring自带的接口版本号控制
查看>>
Linux分布式mogilefs文件系统
查看>>
Nginx 学习(一)
查看>>