幻想乡三连C——狂飙突进的幻想乡

题解:

不难发现,对于每一条从$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<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue>
#define LL long long
#define M 802
#define N 202
#define INF 1010000000
#define eps (1e-5)
using namespace std;
int read(){
	int nm=0,fh=1; char cw=getchar();
	for(;!isdigit(cw);cw=getchar()) if(cw==‘-‘) fh=-fh;
	for(;isdigit(cw);cw=getchar()) nm=nm*10+(cw-‘0‘);
	return nm*fh;
}
struct STA{
	int nd; double dst;
	STA();
	STA(int _nd,int _dst){nd=_nd,dst=_dst;}
	bool operator <(const STA&ot)const{return dst>ot.dst;}
};
priority_queue<STA> Q;
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){nt[tmp]=fs[x],fs[x]=tmp,to[tmp]=y,X[tmp]=t1,Y[tmp++]=t2;}
double DJ(double V){
    for(int i=1;i<=n;i++) dis[i]=INF*1.0,vis[i]=false;
	while(!Q.empty()) Q.pop(); dis[S]=0.0,Q.push(STA(S,0.0));
	while(!Q.empty()){
		int x=Q.top().nd; Q.pop();
		if(vis[x]) continue; vis[x]=true;
		for(int i=fs[x];i!=-1;i=nt[i]){
			double dt=dis[x]+(X[i]*V)+(Y[i]*(1.0-V));
			if(dt>=dis[to[i]]) continue;
			dis[to[i]]=dt,Q.push(STA(to[i],dt));
		}
	}
	return dis[T];
}
double calc(double L,double R){
	double mid=(L+R)/2.0,ans,ls,rs;
	ans=DJ(mid),ls=DJ(L),rs=DJ(R);
	if(fabs(ans-(ls+rs)/2.0)*(R-L)<eps) return ans*(R-L);
	return calc(L,mid)+calc(mid,R);
}
int main(){
	n=read(),m=read(),S=read(),T=read(),memset(fs,-1,sizeof(fs));
	for(int i=1;i<=m;i++){
		int u=read(),v=read(),t1=read(),t2=read();
		link(u,v,t1,t2),link(v,u,t1,t2);
	}
	printf("%.10f\n",calc(0.0,1.0)); return 0;
}

原文地址:https://www.cnblogs.com/OYJason/p/9651769.html

时间: 2024-11-10 07:28:25

幻想乡三连C——狂飙突进的幻想乡的相关文章

[XSY 1539] 狂飙突进的幻想乡

题意 给定一张 $n$ 个点 $m$ 条边的无向图. 每条边有两个信息 $x, y$ , 这条边的边权是 $ax + (1 - a)y$ . 给定源点 $S$ 和汇点 $T$ , 求当 $a \in [0, 1]$ 时, $E(minpath(S, T))$ . $n \le 200, m \le 400$ . 分析1 蒙特卡洛算法 + SPFA 不论是期望还是概率, 都是在某种量化意义下, 将试验次数取无穷大. 我们均匀取点, 进行 SPFA , 然后取平均值. 1 #include <cst

幻想乡三连B——连在一起的幻想乡

$G[k][x]$表示所有$x$个点的无向图中每一个图的边数的$k$次方之和. $F[k][x]$就是在$G[k][x]$的基础上加了一个整体连通的性质. 有一个经典的套路就是对于$F$在对应的$G$中刨去枚举$1$号节点所在的连通块大小的答案. 最后一个难点就是对于形如$\sum(x+y)^2$可以转化为$\sum x^2 +2(\sum x)(\sum y)+\sum y^2$. #include<algorithm> #include<iostream> #include&l

BZOJ 4596: [Shoi2016]黑暗前的幻想乡

4596: [Shoi2016]黑暗前的幻想乡 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 408  Solved: 232[Submit][Status][Discuss] Description 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖 怪涌入了幻想乡,扰乱了幻想乡昔日的秩序.但是幻想乡的建制派妖怪(人类) 博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡 目前面临的种种大问题却给不出合适的解

BZOJ4596: [Shoi2016]黑暗前的幻想乡

Description 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖 怪涌入了幻想乡,扰乱了幻想乡昔日的秩序.但是幻想乡的建制派妖怪(人类) 博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡 目前面临的种种大问题却给不出合适的解决方案. 风间幽香是幻想乡里少有的意识到了问题的严重性的大妖怪.她这次勇敢的 站了出来参加幻想乡大选.提出包括在幻想乡边境建墙(并让人类出钱),大力 开展基础设施建设挽回失业率等一系列方案,成为了大选年出人意料的黑马并顺 利的当

bzoj4596[Shoi2016]黑暗前的幻想乡 Matrix定理+容斥原理

4596: [Shoi2016]黑暗前的幻想乡 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 464  Solved: 264[Submit][Status][Discuss] Description 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖 怪涌入了幻想乡,扰乱了幻想乡昔日的秩序.但是幻想乡的建制派妖怪(人类) 博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡 目前面临的种种大问题却给不出合适的解

[SHOI2016]黑暗前的幻想乡

Description 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖 怪涌入了幻想乡,扰乱了幻想乡昔日的秩序.但是幻想乡的建制派妖怪(人类) 博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡 目前面临的种种大问题却给不出合适的解决方案. 风间幽香是幻想乡里少有的意识到了问题的严重性的大妖怪.她这次勇敢的 站了出来参加幻想乡大选.提出包括在幻想乡边境建墙(并让人类出钱),大力 开展基础设施建设挽回失业率等一系列方案,成为了大选年出人意料的黑马并顺 利的当

【bzoj4596】[Shoi2016]黑暗前的幻想乡

Description 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖 怪涌入了幻想乡,扰乱了幻想乡昔日的秩序.但是幻想乡的建制派妖怪(人类) 博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡 目前面临的种种大问题却给不出合适的解决方案. 风间幽香是幻想乡里少有的意识到了问题的严重性的大妖怪.她这次勇敢的 站了出来参加幻想乡大选.提出包括在幻想乡边境建墙(并让人类出钱),大力 开展基础设施建设挽回失业率等一系列方案,成为了大选年出人意料的黑马并顺 利的当

[ZJOI2016]小星星&amp;[SHOI2016]黑暗前的幻想乡(容斥)

这两道题思路比较像,所以把他们放到一块. [ZJOI2016]小星星 题目描述 小Y是一个心灵手巧的女孩子,她喜欢手工制作一些小饰品.她有n颗小星星,用m条彩色的细线串了起来,每条细线连着两颗小星星. 有一天她发现,她的饰品被破坏了,很多细线都被拆掉了.这个饰品只剩下了n-1条细线,但通过这些细线,这颗小星星还是被串在一起,也就是这些小星星通过这些细线形成了树.小Y找到了这个饰品的设计图纸,她想知道现在饰品中的小星星对应着原来图纸上的哪些小星星.如果现在饰品中两颗小星星有细线相连,那么要求对应的

揭秘:男女性幻想的差异性-滚球技巧两性资讯-广州性情吧

男人的性幻想充满了各种色彩,几乎凡是能够勾起自己性欲的男人都会进行幻想,要么就是简单的一个性爱画面直接呈现在男人的大脑中,要么就是艳遇之后的激情,再不然就是自己和之前女人的行啊你画面呈现在大脑中,还有自己曾近看过的一些精彩的性爱画面都能够成为男人性幻想的依据. 大多数女人还是比较喜欢那种被动式的性幻想,而以强暴为主更是符合了女性的那种受虐心理,当然这样说并意味着女性就希望自己被强暴,只是单纯的为了满足性欲进行的性幻想而已,毕竟进行这样的性幻想时女性的欲望速度提升会比较快. 相关商品 德国迈兰男用