洛谷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 买礼物相关推荐

  1. 洛谷——P1194 买礼物

    P1194 买礼物 题目描述 又到了一年一度的明明生日了,明明想要买B样东西,巧的是,这B样东西价格都是A元. 但是,商店老板说最近有促销活动,也就是: 如果你买了第I样东西,再买第J样,那么就可以只 ...

  2. 洛谷 P1194 买礼物 (题解+代码)

    题目传送门:https://www.luogu.com.cn/problem/P1194 题解: 由于所有东西的价格都为a,并且买个第I个,再买第J个只需要话Kij.那么可以建立最小生成树,连接所有的 ...

  3. 【洛谷 P4934】 礼物 (位运算+DP)

    题目链接 位运算+\(DP\)=状压\(DP\)?(雾 \(a\&b>=min(a,b)\)在集合的意义上就是\(a\subseteq b\) 所以对每个数的子集向子集连一条边,然后答案 ...

  4. Java 洛谷 P1909 买铅笔讲解

    题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物.她发现商店一共有 33种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同.为了公平起 见,P老师决定只买同一种包装的铅笔 ...

  5. 洛谷 P1490 买蛋糕

    P1490 买蛋糕 题目描述 野猫过生日,大家当然会送礼物了(咳咳,没送礼物的同志注意了哈!!),由于不知道送什么好,又考虑到实用性等其他问题,大家决定合伙给野猫买一个生日蛋糕.大家不知道最后要买的蛋 ...

  6. 洛谷——P2524 Uim的情人节礼物·其之弐

    P2524 Uim的情人节礼物·其之弐 题目描述 前传:详见洛谷P2525 Uim成功地按照顺序将礼物送到了N个妹子的手里并维持她们的和谐. Uim现在想知道,他最终选择的顺序是所有给N个妹子送礼顺序 ...

  7. 洛谷:P2525 Uim的情人节礼物·其之壱

    洛谷:P2525 Uim的情人节礼物·其之壱:题目链接 题解:利用C++的prev_permutation函数:可以求出给定数组的上一个字典序排序. #include <bits/stdc++. ...

  8. P1421(洛谷)买文具

    小玉买文具 - 洛谷 1.计算钱数(我觉得和数学一样) 2.....(没啥好说的了,挺简单的 ) #include<bits/stdc++.h> using namespace std; ...

  9. 洛谷 题单2分支结构(freshman锻炼牛犇勿喷)

    第一题数的性质 题目描述 一些数字可能拥有以下的性质: 性质 1:是偶数: 性质 2:大于 4 且不大于 12. 小A 喜欢这两个性质同时成立的数字:Uim 喜欢这至少符合其中一种性质的数字:八尾勇喜 ...

最新文章

  1. Oracle查询优化-03操作多个表
  2. C#——事件(Event)DEMO[闻鸡起舞]
  3. EntityFramework——委托与Lambda表达式
  4. 几种常见的Web攻击
  5. 卷积码主要是对抗_【零基础学会LTE】【3】LTE 36.212 咬尾卷积码详解
  6. ios h5 出现的问题
  7. [zz]基于libvirt API监测xen初探
  8. 王思聪吃热狗火了,程序员开发各种恶搞小程序!王校长:我不要脸的啊
  9. 报童问题求解最大利润_Ortools调用第三方求解器
  10. matlab中怎么使用数组,matlab中数组的基本使用
  11. 转载: dropout为啥要rescale?
  12. javascript书签工具
  13. 拍照爱摆“剪刀手”?呵呵,1.5米内100%还原指纹
  14. 数据结构---基础知识必备
  15. Phoenix官方教程 (九) Channel
  16. 网页抓取软件Wget用法详解
  17. iOS小工具合集-(合一Kit)
  18. SLAB SLUB
  19. 利用Python对文本文件进行简单的处理
  20. linux select 错误码,linux下面select返回115错误

热门文章

  1. Google AI 又来放大招,放射科医生会被取代吗?
  2. 人工智能从业者:大牛,工程师和调参狗
  3. 张小龙:我是对AI的未来表示担忧的人之一
  4. DNN、RNN、CNN.…..一文带你读懂这些绕晕人的名词
  5. 《人工智能爱好者俱乐部》祝大家元旦快乐!
  6. 《2022城市大脑建设标准研究报告》在京正式发布
  7. 突发!ASML断供中芯国际
  8. 美国服务机器人技术路线图
  9. 聚焦第三届世界智能大会|大佬们讲了哪些干货?
  10. 王飞跃:平行汽车到平行驾驶,从“功能汽车”到“智能汽车”