魔法宝石(类似dp 杭电排位赛-2)
魔法宝石
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 302 Accepted Submission(s): 102
对于每组数据,首先一行为n,m(1≤n,m≤10^5)。分别表示魔法宝石种类数和合成魔法的数量。
之后一行n个数表示a1到an。(1≤ai≤10^9)。ai表示合成第i种宝石所需的魔力值。
之后m行,每行三个数a,b,c(1≤a,b,c≤n),表示一个第a种宝石和第b种宝石,可以合成一个第c种宝石。
不断地扫,直到没有新的宝石合成。
不断维护得到宝石所需要的能量,(因为合成宝石不需要能量)
#include<iostream>
#include<cstdio>
#include<cstring>
#define maxn 100005
using namespace std;int main(){int t;cin>>t;int a[maxn];while(t--){int n,m;int a1[maxn],b1[maxn],c1[maxn];scanf("%d%d",&n,&m);for(int i=0;i<=n;i++){a[i]=a1[i]=b1[i]=c1[i]=0;}for(int i=1;i<=n;i++){scanf("%d",&a[i]);}for(int i=0;i<m;i++){scanf("%d%d%d",&a1[i],&b1[i],&c1[i]);}for(int i=0;i<999999;i++){bool ifchange=1;for(int j=0;j<m;j++){if(a[a1[j]]+a[b1[j]]<a[c1[j]]){ifchange = 0;a[c1[j]]=a[a1[j]]+a[b1[j]];}}if(ifchange)break; }for(int i=1;i<=n-1;i++){printf("%d ",a[i]);} printf("%d\n",a[n]);}return 0;
}
魔法宝石(类似dp 杭电排位赛-2)相关推荐
- 7.7魔法宝石(dp) Bessie 的体重问题 干草出售
1.魔法宝石 Bessie 去珠宝商店想要买一些魔法宝石.商店里有 nn 个宝石,每个宝石的重量为 w_iwi,幸运值为 v_ivi.Bessie 的购物车只能装重量之和不超过 mm 的商品,现在 ...
- 杭电2017单人排位赛2-B魔法宝石
Problem Description 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使用两个宝石合成另一种宝石(不消耗魔力值).请你帮小s算出合成某种宝石的所需的最小花 ...
- 2019年杭电多校第一场 1001题blank(DP)HDU6578
2019年杭电多校第一场 1001题blank(DP)HDU6578 解决思路,开一个DP数组来存储0 1 2 3四个字符最后出现的位置,并且在DP中已经==排好序==. DP开四维,DP[i][j] ...
- 杭电46道DP牛人总结
原文地址:杭电46道DP牛人总结作者:飞泉鸣玉 杭电46道DP牛人总结 HDU 动态规划(46道题目)倾情奉献~ [只提供思路与状态转移方程] 收藏 Robberies http://acm.hdu. ...
- 杭电1284钱币兑换问题—背包dp/母函数(java)
Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Out ...
- 杭电1024 Max Sum Plus Plus状压dp(java)
问题描述 现在我认为你已经在Ignatius.L的"最大总和"问题中得到了AC.为了成为一名勇敢的ACMer,我们总是向更难挑战的问题挑战自我.现在你面临着一个更困难的问题. 给定 ...
- 杭电oj1257最少拦截系统—贪心/dp最大递增子序列
附上题目链接:杭电oj1257 这个题目有动态规划和贪心两种解决方式. 贪心法1: 对于导弹我们知道只可以从大到小的反导,一个系统必须从大到小排列.那么我们就可以选择从最高的那个导弹入手,往右找仅次于 ...
- java max sum_杭电1024 Max Sum Plus Plus状压dp(java)
问题描述 现在我认为你已经在Ignatius.L的"最大总和"问题中得到了AC.为了成为一名勇敢的ACMer,我们总是向更难挑战的问题挑战自我.现在你面临着一个更困难的问题. 给定 ...
- 杭电2391--Filthy Rich(DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2391 题目意思:在一个n*m的矩阵中,不同的位置有不同重量的黄金,从矩阵的左上角开始,到右下角,只能向 ...
最新文章
- [C#反射]C#中的反射解析及使用.
- 微信浏览器下拉黑边的终极解决方案---wScroollFix
- 微软 AI 设计原则:成为弱者,再带来惊喜
- Java 中的 BigDecimal 类你了解多少?
- Linux的追逐,Windows的穷途恼指日可待
- c++现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度
- 马云:搞AI严防叶公好龙;李彦宏:不拥抱AI的公司会死掉
- centos7.6 LNMP新版本
- Singleton(单件)
- python植物大战僵尸代码1.2
- html5svg在线编辑器,新技术应用——HTML5内联SVG
- arduino入门(一)arduino下载安装,炒鸡详解
- 蚁群背包问题matlab代码,蚁群算法--背包问题
- 【Windows】如何关闭svchost,win10系统svchost下载占网速,无缘无故下载软件
- Sketch 的基本操作(一)
- python 100days github_GitHub - fxianchao/Python-100-Days: Python - 100天从新手到大师
- 163邮箱 提示xm002 NO SELECT Unsafe Login. Please contact kefu@188.com for help
- 从细胞发现到DNA分子结构的发现,人类经历了三百年
- 一个好的web前端开发者,是怎么学习的?前端开发培训机构哪个比较好
- 95文件及文件夹操作实践