bzoj2306 幸福路径 倍增 Floyd

news/2025/1/15 21:05:49/

链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2306

题意:一张有向图,每个点有一个权值$w(x)$,给出路径起点求出最大$f(x)=sigma(w(x)*p)$,其中,$p$初始值为$1$,每走一步这个值都会乘上另一个给出的常量。

由于这个题精度要求极低(只有$1e-1$),所以我们直接迭代求值即可。

但是如果我们这么一步一步搞肯定会$T$……这时候我们就需要用一些黑科技:倍增。我们每次倍增前进,前进的时候在每一层做一次$Floyd$,做完之后合并再到下一层。

这样就可以愉快的解决啦~最后不要忘记加上起点时候的权值~

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<cstring>
 5 using namespace std;
 6 const int maxn=105,maxm=1005;
 7 int n,m;double a[maxn],f[maxn][maxn],g[maxn][maxn];
 8 int haha()
 9 {
10     scanf("%d%d",&n,&m);
11     for(int i=1;i<=n;i++)scanf("%lf",&a[i]);
12     int s;scanf("%d",&s);
13     for(int i=1;i<=n;i++)
14         for(int j=1;j<=n;j++)f[i][j]=i==j?0:-1e100;
15     double p;scanf("%lf",&p);
16     for(int i=1;i<=m;i++)
17     {
18         int x,y;scanf("%d%d",&x,&y);
19         f[x][y]=a[y]*p;
20     }
21     for(;p>1e-10;p*=p)
22     {
23         for(int i=1;i<=n;i++)
24             for(int j=1;j<=n;j++)g[i][j]=-1e100;
25         for(int k=1;k<=n;k++)
26             for(int i=1;i<=n;i++)
27                 for(int j=1;j<=n;j++)g[i][j]=max(g[i][j],f[i][k]+f[k][j]*p);
28         memcpy(f,g,sizeof(g));
29     }
30     double ans=0;
31     for(int i=1;i<=n;i++)ans=max(ans,f[s][i]);
32     printf("%0.1lf\n",ans+a[s]);
33 }
34 int sb=haha();
35 int main(){;}
bzoj2306

 

转载于:https://www.cnblogs.com/Loser-of-Life/p/7780565.html


http://www.ppmy.cn/news/354077.html

相关文章

题目 2306: 蓝桥杯2019年第十届省赛真题-后缀表达式

题目 给定 N 个加号、M 个减号以及 N M 1 个整数 A1, A2, , ANM1&#xff0c;小 明想知道在所有由这 N 个加号、M 个减号以及 N M 1 个整数凑出的合法的 后缀表达式中&#xff0c;结果最大的是哪一个? 请你输出这个最大的结果。 例如使用1 2 3 -&#xff0c;则 “2 …

什么蓝牙耳机牌子好还便宜?适合情人节送礼的蓝牙耳机品牌

现在市面上的蓝牙耳机无论是品牌还是款式&#xff0c;实在是多到数不清&#xff0c;因为技术太成熟&#xff0c;导致产品同质化非常严重&#xff0c;我们在挑选时&#xff0c;也无从下手。很多蓝牙耳机存在音质不好、连接不稳定等等问题&#xff0c;一不小心就踩雷了。为了让大…

送女友什么蓝牙耳机合适?适合送礼的无线蓝牙耳机

蓝牙耳机的出现直至现在&#xff0c;使用的频率越来越高&#xff0c;种类也越来越多&#xff0c;日常使用的&#xff0c;跑步使用的&#xff0c;真的是各种各样&#xff0c;每个品牌的蓝牙耳机主打的特点都是不一样的。那到底怎样挑选一款适合自己的耳机呢&#xff1f;这也难倒…

没有了耳机接口,怎么让手机同时支持充电和听歌?USB-C音频 边听边充 方案了解一下

现在大多安卓手机都取消3.5音频接口&#xff0c;耳机都变成type-c接口&#xff0c;造成了手机没办法边听歌边充电&#xff0c;网上有这种转换器卖&#xff0c;可以解决此问题&#xff0c;那么这些转换器的原理又是什么呢&#xff1f;乐得瑞LDR6023C教你如何实现USB Type-C手机快…

投影仪家用推荐最新?投影仪什么牌子性价比比较高

投影仪最新家用的选择应该是变焦投影仪。 之前聊过一些投影仪的选购事项&#xff0c;基本都是在谈论定焦投影仪&#xff0c;无可否认的是&#xff0c;投影仪这个行业一直在进步&#xff0c;如果想要选购最新的家用投影仪&#xff0c;真的应该了解一下变焦投影仪。 变焦投影仪又…

什么牌子投影仪效果最好?智能投影仪什么牌子好

投影仪市场内产品花样繁多&#xff0c;质量参差不齐。而投影仪自身的参数又五花八门&#xff0c;难免让人看花了眼。 本文希望通过对目前市场内的几款明星产品的讲解来帮助大家直接选到效果最好&#xff0c;品质最高的投影仪。 综合考虑了市场、品牌和消费者等相关因素&#xf…

AC风扇和EC风扇有什么区别?

C风扇和EC风扇之间的区别在于&#xff1a;AC风扇具有交流电&#xff0c;并且在不使其嗡嗡声或嗡嗡声的情况下控制起来非常昂贵。 EC风扇基本上是数字风扇。 它更容易控制。

空调制冷原理

制冷原理 压缩机将气态的氟利昂压缩为高温高压的液态氟利昂&#xff0c;然后送到冷凝器&#xff08;室外机&#xff09;散热后成为常温高压的液态氟利昂&#xff0c;所以室外机吹出来的是热风。 液态的氟利昂经 毛细管&#xff0c;进入蒸发器&#xff08;室内机&#xff09;&a…