hdu 1535 Invitation Cards

简介: 点击打开链接hdu1535 思路:最短路+SPFA 分析: 1 题目要求的是总的最小的花费,意思就是要求每一个人的花费都最小。 2 由于每一个人都是从1出去,最后还是都要回到1的,那么求解的时候就要分成两部分“出去+回来”;出去的话直接利用SPFA(1),1作为起点即可求出每一点的最小花费,回来的话如果是直接利用对每一个人进行SPFA,那么这样肯定超时。

点击打开链接hdu1535


思路:最短路+SPFA

分析:
1 题目要求的是总的最小的花费,意思就是要求每一个人的花费都最小。
2 由于每一个人都是从1出去,最后还是都要回到1的,那么求解的时候就要分成两部分“出去+回来”;出去的话直接利用SPFA(1),1作为起点即可求出每一点的最小花费,回来的话如果是直接利用对每一个人进行SPFA,那么这样肯定超时。仔细想想要求的是每一个点到1的最小距离,那么由于给定的是一个有向图,那么只要重新建图把边反向,那么我们所求的问题就变成1到每一个点的最小距离。所以只要两步SPFA(1)即可。
3 数据类型为long long

代码:

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
#define MAXN 1000010
#define INF 0x7FFFFFFF

int t , n , m;
long long ans;
int first[MAXN] , next[MAXN];
int star[MAXN] , end[MAXN];
long long value[MAXN];
long long dis[MAXN];
long long tmp[MAXN];
int vis[MAXN];
queue<int>q;

/*初始化*/
void init(){
    memset(first , -1 , sizeof(first));
    memset(next , -1 , sizeof(next));
}

/*SPFA函数*/
void SPFA(int s){
    memset(vis , 0 , sizeof(vis));
    for(int i = 1 ; i <= n ; i++)
       dis[i] = INF;
    dis[s] = 0;
    vis[s] = 1;
    q.push(s);
    while(!q.empty()){
        int x = q.front();
        q.pop();
        vis[x] = 0;
        for(int i = first[x] ; i != -1 ; i = next[i]){
           if(dis[end[i]] > dis[x] + value[i]){
             dis[end[i]] = dis[x] + value[i];
             if(!vis[end[i]]){
               vis[end[i]] = 1;
               q.push(end[i]);
             }
           }
        }
    }
}

int main(){
   int a , b;   
   scanf("%d" , &t);
   while(t--){
      scanf("%d%d" , &n , &m);
      /*第一次建图*/
      init();
      for(int i = 0 ; i < m ; i++){
         scanf("%d%d%lld" , &star[i] , &end[i] , &value[i]);
         next[i] = first[star[i]];
         first[star[i]] = i;
      }
      ans = 0;
      SPFA(1);
      memcpy(tmp , dis , sizeof(tmp));/*把ans保存在tmp数组*/
      /*第二次建图*/
      init();
      for(int i = 0 ; i < m ; i++){
         a = star[i];
         b = end[i];
         star[i] = b;
         end[i] = a;
         next[i] = first[star[i]];
         first[star[i]] = i;
      }
      SPFA(1);
      /*求总和*/
      for(int i = 2 ; i <= n ; i++)
         ans += tmp[i]+dis[i];
      printf("%lld\n" , ans);
   }
   return 0;
}


目录
相关文章
|
10月前
|
存储 安全 网络安全
服务器感染了.baxia勒索病毒,如何确保数据文件完整恢复?
近年来,勒索病毒如.baxia不断演变,利用漏洞、社交工程等手段加密文件,威胁范围扩大。加密货币的兴起使其支付方式更匿名,追踪困难。技术支持尤为重要,添加技术服务号(shuju315),专业团队提供数据恢复方案。面对复杂解密要求,包括赎金支付、个人信息提供和执行特定操作,需保持冷静并寻求帮助。防御措施包括加强安全意识、定期备份数据、安装杀毒软件、避免未知文件、更新系统及制定应急响应计划。
445 11
|
9月前
|
人工智能 程序员 iOS开发
一文彻底学会HarmonyOS的AI编程助手
本文介绍了华为官方AI辅助编程工具CodeGenie,该工具支持HarmonyOS NEXT领域的智能问答、ArkTS代码补全/生成及万能卡片生成,显著提升开发效率。安装步骤包括下载插件、离线安装及授权登录,功能涵盖知识问答、代码补全与生成、以及智能生成HarmonyOS万能卡片。
345 0
|
机器学习/深度学习 算法 Ubuntu
解读深大的视觉开源源码
这篇文章详细解读了深圳大学步兵视觉开源代码RP_Infantry_Plus,包括功能介绍、效果展示、依赖环境、整体框架、实现方案、通讯协议、配置与调试以及总结展望,提供了RoboMaster2019赛场上装甲板和小符文的识别方案,并通过自定义通讯协议将视觉处理信息发送给下位机。
解读深大的视觉开源源码
|
移动开发 小程序 数据可视化
DIY可视化导出源码整合uniapp环境搭建+调试+运行发布
DIY可视化导出源码整合uniapp环境搭建+调试+运行发布
545 0
|
机器学习/深度学习 算法 量子技术
未来软件开发:量子计算的革命性影响
量子计算技术正引领我们进入一个新时代,其潜力将彻底改变软件开发和计算机科学。本文介绍了量子计算的基本概念,如量子比特、叠加和纠缠,并探讨了其对软件开发的影响,包括新算法、加密安全、机器学习及药物发现等领域。为了应对这一变革,开发者需掌握量子计算原理,学习量子编程语言,并积极参与相关项目。量子计算不仅带来了巨大的机遇,也提出了新的挑战。
|
消息中间件 SpringCloudAlibaba Java
SpringCloud Alibaba 框架背后的故事
Spring Cloud Alibaba是Spring Cloud的一个子项目,它是由阿里巴巴公司推出的,用于构建基于微服务架构的分布式应用程序的开源框架。它与Spring Cloud的其他组件(如Netflix OSS)相结合,为开发人员提供了丰富的工具和功能,以便更轻松地构建、部署和管理分布式系统。
|
IDE API 开发工具
通过IDE插件体验阿里云OpenAPI的高效集成, 精品礼品等你来拿!
轻量级的开放API工具——Alibaba Cloud Developer Toolkit及Alibaba Cloud API Toolkit。这些插件支持快速查阅阿里云产品的开放API,提供API调试与SDK示例生成等功能,帮助开发者轻松集成阿里云服务。您可通过JetBrains Marketplace或VS Code Marketplace搜索安装,完成身份验证后即刻体验。欢迎分享您的使用反馈,有机会获得精美礼品!
|
缓存 Android开发 数据安全/隐私保护
android开发,使用kotlin学习HTTP访问网络
android开发,使用kotlin学习HTTP访问网络
395 0
|
SQL 分布式计算 关系型数据库
Dataphin实现MaxCompute外表数据快速批量同步至ADB MySQL
当前大数据时代背景下,企业对数据的处理、分析和实时应用的需求日益增强。阿里云MaxCompute广泛应用于海量数据的ETL、数据分析等场景,但在将处理后的数据进一步同步至在线数据库系统,如ADB MySQL 3.0(阿里云自研的新一代云原生关系型数据库MySQL版)以支持实时查询、业务决策等需求时,可能会遇到数据迁移速度缓慢的问题。 DataphinV3.14版本支持外表导入SQL的带参调度,实现通过MaxCompute外表的方式将数据批量同步至ADB MySQL 3.0中,显著提升数据迁移的速度和效率。
792 1
|
存储 Kubernetes 调度
kubernetes核心技术之Pod知识总结
【4月更文挑战第2天】kubernetes核心技术之Pod知识总结
511 0