數學王國有\(n\)座城市(森林狀),每個城市有三個引數\(f,a,b\),當乙個智商為\(x\)的人經過會得到\(f(x)\)的收益。
有\(m\)個事件,分為\(4\)類:
1、建邊
2、斷邊
3、修改乙個城市的引數
4、詢問乙個智商為\(x\)的人,判斷是否聯通,若聯通則答從\(u\)到\(v\)的收益和。
(除最下一檔,各檔分互不包含)
「刪邊」這操作欽定使用\(lct\)。於是乙隻不會lct的蒟蒻就gg啦
沒有人像我一樣在計算器上二分出\(e=2.718281828\)的吧。
我們可以用鄰接矩陣維護一條邊有沒有被刪掉。
暴力修改。
詢問收益就從\(u\)出發對全圖\(dfs\)。
複雜度\(o(mn^2)\)
不需要刪邊,判連通性就可以並查集了。
\(x=1\)代表可以\(o(n)\)預處理出每個城市收益。
詢問就是問一條鏈上的區間和。
用樹狀陣列維護字首和即可做到\(o(logn)\)查詢與修改。
總複雜度\(o(qlogn)\)
il void bl2()
while(m--)
if(op[0]=='m')
if(op[0]=='t')
}}
這是個森林,不太好搞出\(dfs\)序,於是應該只能上\(lct\)。
怕是\(lct\)模板。
注意到題目最下方有乙個奇奇怪怪的公式。
那個玩意兒能夠方便地近似將\(f(x_0)\)轉化為\(f(x)\)。
題目中\(x=1\)這一條件顯然能給我們以啟迪。
如果我們一開始預處理所有的\(f(0)\),我們在詢問時就可以先得到\(\sum f(0)\),再在常數時間內將\(\sum f(0)\)轉化為答案\(\sum f(x)\)。
但是對乙個不會求導的高一學生就很傷了:
\[(a^x)'=a^x*\ln a$$$$(e^x)'=e^x$$$$(a+b)'=a'+b'$$$$(ab)'=ab'+a'b$$$$(x^a)'=ax^$$$$b'=0$$($b$為常數)
$$(\sin x)'=\cos x$$$$(\cos x)'=-\sin x$$$$(-\sin x)'=-\cos x$$$$(-\cos x)'=\sin x\]
(週期!)
對復合函式:$$[f(g(x))]'=g(x)'*f(g(x))'$$
代入這道題
對三角函式:
\[\sin'(ax+b)=a\sin(ax+b)$$$$\sin''(ax+b)=-a^2\sin(ax+b)$$$$\sin'''(ax+b)=-a^3\sin(ax+b)
\]對自然對數冪次方:$$(e)'=(ax+b)'*(e)'$$$$=((ax)'+b')*e$$$$=a*e$$
則$$(e)=ane$$\((n)\)代表\(n\)階導數。
對一次函式:$$(ax+b)'=(ax)'+b'=ax'+a'x=a$$
於是代入公式即可得解。
用\(lct\)維護資訊。
#include#include#include#include#include#include#define ll long long
#define re register
#define il inline
#define m 15
#define eps 1e-12
#define fp(i,a,b) for(re int i=a;i<=b;i++)
#define fq(i,a,b) for(re int i=a;i>=b;i--)
using namespace std;
const int n=5e5+100;
const double e=2.718281828;
int n,m,f[n],ff[n],t[n][2],st[n];
bool r[n];
double a[n],b[n],ans,x,sum[20][n],jc[n],ssin[n],ccos[n];
char c[10],op[20];
il int gi()
il double sin(re int u,re double x)
split(u,v);ans=0;
fp(i,0,m) ans+=sum[i][v]*tmp/jc[i],tmp*=x;
printf("%.8e\n",ans);
} }
return 0;
}
THUWC2017 在美妙的數學王國中暢遊
thuwc2017 在美妙的數學王國中暢遊 e和sin資訊不能直接合併 泰勒展開,大於21次太小,認為是0,保留前21次多項式即可 然後就把e,sin kx b都變成多項式了,pushup合併 上lct luogu judger enable o2 luogu judger enable o2 in...
白話一階數字濾波程式 數學與電學的美妙結合
我們先來看乙個式子 其中ka和kb是個定值,且相加為1 乍一看,嘿!這個不就是乙個很簡單的式子嗎 如果u k 是個電壓值,那麼這一次的計算值就等於這一次採集的值和上一次的計算值按比例分配。我們憑直覺就知道了,這樣搞一下之後有點類似於取平均值的感覺,有波動的資料搞一下應該會平滑一些。到這裡有童鞋就要問...
數學家的樂園,樂在何處?
在國內網際網路上劃出乙個 圈子 研討純粹數學,何樂而不為?當今,各個現代數學分支都以集合論作為基礎。1874年,康托爾創立了集合論。1922年,數學家為康托爾集合論實現了 公理化 也就是說,為集合論搞了一套管理系統,使其成為 理論 形式語言的句子集合 肯尼思 丘嫩 kenneth kunen,194...