洛谷P1194 买礼物
洛谷P1194 买礼物
在买了第一次之后,你还要买 n-1次,把所有点都连起来,这样做一个最小生成树
就行了,然后要注意题目中说了如果a[ i ][ j ]==0 则表示两个点是不相连的,赋值 inf
最后还要注意一下一开连第一条边是需要A的
1 #include <bits/stdc++.h> 2 #define LL long long 3 #define For(i,j,k) for(int i=j;i<=k;i++) 4 using namespace std ; 5 6 const int N = 511,inf = 1e9 ; 7 int A,n,sum ; 8 int dist[N],a[N][N] ; 9 bool visit[N] ; 10 11 inline LL read() 12 { 13 LL x = 0 , f = 1 ; 14 char ch = getchar() ; 15 while(ch<'0'||ch>'9') { if(ch=='-') f = -1 ; ch = getchar() ; } 16 while(ch>='0'&&ch<='9') { x = x * 10+ch-48 ; ch = getchar() ; } 17 return x * f ; 18 } 19 20 inline void prim() 21 { 22 For(i,1,n) visit[ i ] = 0 , dist[ i ] = inf ; 23 dist[ 1 ] = 0 ; dist[ 0 ] = inf ; 24 int k ; 25 For(i,1,n) { 26 k = 0 ; 27 For(j,1,n) 28 if(!visit[j]&&dist[j] < dist[ k ] ) k = j ; 29 visit[ k ] = 1 ; 30 For(j,1,n) 31 if(!visit[j]&&a[k][j] < dist[ j ]) dist[ j ] = a[ k ][ j ] ; 32 } 33 For(i,1,n) sum+=dist[ i ] ; 34 sum+=A ; 35 printf("%d\n",sum) ; 36 } 37 38 int main() 39 { 40 A = read() ; n = read() ; 41 For(i,1,n) 42 For(j,1,n) { 43 a[ i ][ j ] = read() ; 44 if(a[ i ][ j ] == 0) a[ i ][ j ] = inf ; 45 } 46 prim() ; 47 return 0 ; 48 }
转载于:https://www.cnblogs.com/third2333/p/7447792.html
洛谷P1194 买礼物相关推荐
- 洛谷——P1194 买礼物
P1194 买礼物 题目描述 又到了一年一度的明明生日了,明明想要买B样东西,巧的是,这B样东西价格都是A元. 但是,商店老板说最近有促销活动,也就是: 如果你买了第I样东西,再买第J样,那么就可以只 ...
- 洛谷 P1194 买礼物 (题解+代码)
题目传送门:https://www.luogu.com.cn/problem/P1194 题解: 由于所有东西的价格都为a,并且买个第I个,再买第J个只需要话Kij.那么可以建立最小生成树,连接所有的 ...
- 【洛谷 P4934】 礼物 (位运算+DP)
题目链接 位运算+\(DP\)=状压\(DP\)?(雾 \(a\&b>=min(a,b)\)在集合的意义上就是\(a\subseteq b\) 所以对每个数的子集向子集连一条边,然后答案 ...
- Java 洛谷 P1909 买铅笔讲解
题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物.她发现商店一共有 33种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同.为了公平起 见,P老师决定只买同一种包装的铅笔 ...
- 洛谷 P1490 买蛋糕
P1490 买蛋糕 题目描述 野猫过生日,大家当然会送礼物了(咳咳,没送礼物的同志注意了哈!!),由于不知道送什么好,又考虑到实用性等其他问题,大家决定合伙给野猫买一个生日蛋糕.大家不知道最后要买的蛋 ...
- 洛谷——P2524 Uim的情人节礼物·其之弐
P2524 Uim的情人节礼物·其之弐 题目描述 前传:详见洛谷P2525 Uim成功地按照顺序将礼物送到了N个妹子的手里并维持她们的和谐. Uim现在想知道,他最终选择的顺序是所有给N个妹子送礼顺序 ...
- 洛谷:P2525 Uim的情人节礼物·其之壱
洛谷:P2525 Uim的情人节礼物·其之壱:题目链接 题解:利用C++的prev_permutation函数:可以求出给定数组的上一个字典序排序. #include <bits/stdc++. ...
- P1421(洛谷)买文具
小玉买文具 - 洛谷 1.计算钱数(我觉得和数学一样) 2.....(没啥好说的了,挺简单的 ) #include<bits/stdc++.h> using namespace std; ...
- 洛谷 题单2分支结构(freshman锻炼牛犇勿喷)
第一题数的性质 题目描述 一些数字可能拥有以下的性质: 性质 1:是偶数: 性质 2:大于 4 且不大于 12. 小A 喜欢这两个性质同时成立的数字:Uim 喜欢这至少符合其中一种性质的数字:八尾勇喜 ...
最新文章
- Oracle查询优化-03操作多个表
- C#——事件(Event)DEMO[闻鸡起舞]
- EntityFramework——委托与Lambda表达式
- 几种常见的Web攻击
- 卷积码主要是对抗_【零基础学会LTE】【3】LTE 36.212 咬尾卷积码详解
- ios h5 出现的问题
- [zz]基于libvirt API监测xen初探
- 王思聪吃热狗火了,程序员开发各种恶搞小程序!王校长:我不要脸的啊
- 报童问题求解最大利润_Ortools调用第三方求解器
- matlab中怎么使用数组,matlab中数组的基本使用
- 转载: dropout为啥要rescale?
- javascript书签工具
- 拍照爱摆“剪刀手”?呵呵,1.5米内100%还原指纹
- 数据结构---基础知识必备
- Phoenix官方教程 (九) Channel
- 网页抓取软件Wget用法详解
- iOS小工具合集-(合一Kit)
- SLAB SLUB
- 利用Python对文本文件进行简单的处理
- linux select 错误码,linux下面select返回115错误