幻想鄉三連C 狂飆突進的幻想鄉

2022-05-03 18:42:08 字數 833 閱讀 9057

題解:不難發現,對於每一條從$s$到$t$的路徑,設其$x、y$的和為$s_x、s_y$,其對答案的貢獻是$a\cdot s_x+(1-a)\cdot s_y$,這是乙個關於$a$的一次函式。而所有的路徑就對應著許多$a\in [0,1]$直線,而不同$a$所對應的最短路長度恰好構成了這些直線的上凸殼,而求最短路的期望就是求上凸殼的積分(與座標系橫軸所夾面積),考慮到$n、m$很小,所以直接用一次函式不斷擬合,每次求點值暴力跑一邊最短路即可。

#include#include#include#include#include#include#define ll long long

#define m 802

#define n 202

#define inf 1010000000

#define eps (1e-5)

using namespace std;

int read()

struct sta

bool operator

};priority_queueq;

int n,m,x[m],y[m],fs[n],nt[m],to[m],tmp,s,t;

double dis[n];

bool vis[n];

void link(int x,int y,int t1,int t2)

double dj(double v)

} return dis[t];

}double calc(double l,double r)

int main()

printf("%.10f\n",calc(0.0,1.0)); return 0;

}

幻想鄉三連A 五顏六色的幻想鄉

非常直接地構造 由於答案與生成樹計數有關,所以一定要使用矩陣樹定理,但這樣就不能限制每種顏色的便使用的數量 我們構造 n 2 個關於 ans 的方程,列舉將紅色的邊拆成 x 條,將藍色的邊拆成 y 條,跑一遍矩陣樹定理,就得到 g sum limits sum limits ans cdot x i...

幻想鄉的符卡

靈夢和魔理沙即將展開彈幕大戰,為了提高實力,靈夢打算突擊學習一些符卡。每張符卡有三個屬性 火力 時長和等級。求勝心切的靈夢希望在一次戰鬥中,使用的符卡的火力值總和不小於 k 然而,由於一些特殊的原因,如果兩張符卡的時長之和是乙個質數,那麼它們便不能在一次戰鬥中同時使用。此外,如果符卡的等級超過了靈夢...

hiho 1145 幻想鄉的日常

幻想鄉一共有n處居所,編號從1到n。這些居所被n 1條邊連起來,形成了乙個樹形的結構。每處居所都居住著乙個小精靈。每天小精靈們都會選出乙個區間 l,r 居所編號在這個區間內的小精靈一起來完成一項任務。特別的,居所相鄰的 有邊相連的 兩個小精靈會自發的組成一隊,並且如果a和b相鄰b和c相鄰,那麼a和c...