vijosP1285 佳佳的魔法药水

链接:https://vijos.org/p/1285

【思路】

图论思想。

很巧妙。

如A+B=C,将AB之间连边,边权为C,用以找相连物品与合成物。

用Dijkstra的思想:找最小价值,如果相连物品中有已经得出最小价值的则共同更新其合成物。

对于方案数用乘法原理在更新的时候顺便计算。

【代码】

 #include<iostream>
#include<cstring>
#include<cstdio>
using namespace std; const int maxn = +;
const int INF=<<; int G[maxn][maxn],d[maxn],vis[maxn];
int tot[maxn];
int n; int main(){
ios::sync_with_stdio(false);
cin>>n;
for(int i=;i<n;i++) cin>>d[i]; for(int i=;i<n;i++)
{
tot[i]=;
for(int j=;j<n;j++) G[i][j]=-;
} int u,v,w;
while(cin>>u>>v>>w) {
G[u][v]=G[v][u]=w;
}
for(int i=;i<n;i++) {
int _min=INF,k;
for(int j=;j<n;j++) if(!vis[j] && d[j]<_min) _min=d[k=j];
if(_min==INF) break;
vis[k]=;
for(int j=;j<n;j++) if(vis[j] && G[k][j]>=) //注意是vis[j]//寻找已经得到最小价值的更新其合成物
if(d[G[k][j]]>d[k]+d[j]) {
d[G[k][j]]=d[k]+d[j];
tot[G[k][j]]=tot[k]*tot[j];
}
else
if(d[G[k][j]]==d[k]+d[j])
tot[G[k][j]] += tot[k]*tot[j];
}
cout<<d[]<<" "<<tot[]<<"\n";
return ;
}

vijosP1285 佳佳的魔法药水的更多相关文章

  1. P1875 佳佳的魔法药水

    P1875 佳佳的魔法药水 题目描述 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的病只有一种办法,那就是传说中的 0 号药水 ……怎么样才能 ...

  2. 洛谷 P1875 佳佳的魔法药水

    P1875 佳佳的魔法药水 题目描述 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的病只有一种办法,那就是传说中的 0 号药水 --怎么样才能 ...

  3. 「Vijos 1285」「OIBH杯NOIP2006第二次模拟赛」佳佳的魔法药水

    佳佳的魔法药水 背景 发完了k张照片,佳佳却得到了一个坏消息:他的MM得病了!佳佳和大家一样焦急万分!治好MM的病只有一种办法,那就是传说中的0号药水--怎么样才能得到0号药水呢?你要知道佳佳的家境也 ...

  4. vijos:P1285佳佳的魔法药水

    背景 发完了k张照片,佳佳却得到了一个坏消息:他的MM得病了!佳佳和大家一样焦急万分!治好MM的病只有一种办法,那就是传说中的0号药水……怎么样才能得到0号药水呢?你要知道佳佳的家境也不是很好,成本得 ...

  5. 洛谷—— P1875 佳佳的魔法药水

    https://www.luogu.org/problemnew/show/1875 题目背景 发完了 k 张照片,佳佳却得到了一个坏消息:他的 MM 得病了!佳佳和大家一样焦急 万分!治好 MM 的 ...

  6. TYVJ P3407 佳佳的魔法照片 Label:语文很重要 语文很重要 语文很重要

    描述 佳佳的魔法照片(mphoto.pas\c\cpp) [题目背景] 佳佳的魔法照片(Magic Photo):如果你看过<哈利•波特>,你就会知道魔法世界里的照片是很神奇的.也许是因为 ...

  7. 佳佳的Fibonacci

    #include<cstdio> #include<cstring> #include<iostream> #include<cmath> #inclu ...

  8. 一本通1644【例 4】佳佳的 Fibonacci

    1644:[例 4]佳佳的 Fibonacci 时间限制: 1000 ms         内存限制: 524288 KB sol:搞了大概一个多小时什么结果都没,被迫去看题解,感觉自己菜到家了qaq ...

  9. 【DFS】佳佳的魔法阵

    [vijos1284]佳佳的魔法阵 背景 也许是为了捕捉猎物(捕捉MM?),也许是因为其它原因,总之,佳佳准备设计一个魔法阵.而设计魔法阵涉及到的最关键问题,似乎就是那些带有魔力的宝石的摆放…… 描述 ...

随机推荐

  1. struts2 标签的使用之一 s:if(遍历中s:if如何用等)

    http://blog.csdn.net/chinajust/article/details/3922718

  2. (转) c# ExecuteNonQuery() 返回值 -1

    这是之前我遇到问题,在网上找解决方法时找到的,当时复制到txt文档了,今天整理笔记又看到了,贴出来,便于以后查阅.原文的作者没记住~~ 查询某个表中是否有数据的时候,如果用ExecuteNonQuer ...

  3. Ubuntu 13.04 配置Cocos2d-x记录

    装备工作: 下载JavaJDK  http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载NDKhttp://deve ...

  4. 配置hive元数据库mysql时候出现 Unable to find the JDBC database jar on host : master

    解决办法: cd /usr/share/java/,(没有java文件夹,自行创建)rz  mysql-connector-java-***.jar,mv mysql-connector-java-* ...

  5. hdu_1003_Max Sum

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  6. 【随记】还原SQL Server数据库步骤

    情景:在一台机器上备份数据库,然后在另一台机器上还原数据库,可能会出现错误提示:System.Data.SqlClient.SqlError: 备份集中的数据库备份与现有的 'XXX' 数据库不同. ...

  7. Deep Belief Network

    Deep Belief Network3实例3.1 测试数据按照上例数据,或者新建图片识别数据. 3.2 DBN实例//****************例2(读取固定样本:来源于经典优化算法测试函数S ...

  8. phpcms v9使用GET调用指定id文章内容、页面数据方法

    不知道大家有没有相同的体会?在使用Phpcms V9建站调用数据的时候,基础的数据用默认的模板的调用语句就好了,但复杂不常见的数据怎么调用呢?我们技术可能会研究半天,怀着探索的精神不断尝试.孜孜不倦. ...

  9. 用typedef给结构体一个别名

    转:typedef 一.用typedef给结构体一个别名 typedef struct tagMyStruct { int iNum; long lLength; } MyStruct; 这语句实际上 ...

  10. JSP 结构

    网络服务器需要一个JSP引擎,也就是一个容器来处理JSP页面. 容器负责截获对JSP页面的请求.本教程使用内嵌JSP容器的Apache来支持JSP开发. JSP容器与Web服务器协同合作,为JSP的正 ...