最短路 hdu-4522 湫湫系列故事——过年回家

计算机网络Wireshark实验(西安交通大学) 实验名称 计算机网络Wireshark实验 实验日期 2021 年 5 月 17 日 实验地点 XJTU 阅读详情

题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=4522

题目意思:

求出从已知起点到已知终点,两种方式的最小不舒服度。

注意如果某条路为1的话,既可以选硬座又可以选卧铺。

解题思路:

迪杰斯特拉算法。

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<map>
#include<stack>
#include<list>
#include<queue>
#include<ctype.h>
#define eps 1e-6
#define INF (1<<30)
#define PI acos(-1.0)
using namespace std;

#define Maxn 207
bool edge[Maxn][Maxn][2]; //edge[i][j][0]表示i和j之间可以坐硬座,1表示可以做卧铺
int vis[Maxn][2],dis[Maxn][2],A[2];
char save[10000+7];
int n;

void dijs(int start,int kind)
{
   memset(vis,false,sizeof(vis));
   for(int i=1;i<=n;i++)
   {
      if(edge[start][i][kind])
         dis[i][kind]=A[kind];
      else
         dis[i][kind]=INF;
   }
   dis[start][kind]=0;
   vis[start][kind]=true;
   for(int i=1;i<=n-1;i++)
   {
      int Min=INF,flag;

      for(int j=1;j<=n;j++)
      {
         if(vis[j][kind]==false)
         {
            if(dis[j][kind]<Min)
            {
               Min=dis[j][kind];
               flag=j;
            }
         }
      }
      if(Min==INF)
            return ;
      vis[flag][kind]=true;
      for(int k=1;k<=n;k++)
      {
         if(vis[k][kind])
            continue;
         if(edge[flag][k][kind]&&A[kind]+Min<dis[k][kind])
            dis[k][kind]=A[kind]+Min;
      }

   }
}

int main()
{
   int q,t,k,start,end;

   scanf("%d",&q);
   while(q--)
   {
      scanf("%d%d",&n,&t);
      memset(edge,false,sizeof(edge));
      for(int j=1;j<=t;j++)
      {
         scanf("%s%d",save,&k);
         int len=strlen(save);
         save[len++]='\0';
         int last=0,cur=0;

         int i=0;
         for(;save[i]!='+';i++)
            last=last*10+save[i]-'0';
         for(i++;i<len;i++)
         {
            if(!isdigit(save[i]))
            {
               edge[last][cur][k]=true;
               if(k)
                  edge[last][cur][0]=true;
               last=cur;
               //printf("%d\n",cur);
               cur=0;
            }
            else
               cur=cur*10+save[i]-'0';
         }
      }
      scanf("%d%d",&A[0],&A[1]);
      scanf("%d%d",&start,&end);
      dijs(start,0); //硬座的情况
      dijs(start,1);//卧铺的情况
      int ans=min(dis[end][0],dis[end][1]);

      if(ans==INF)
         printf("-1\n");
      else
         printf("%d\n",ans);


      }

   return 0;
}


基于本地知识库的智能问答系统架构 智能问答系统的核心可以分为4部分。1)知识库构建。2)检索。3)后处理。4)推理。知识库构建:知识库中可以包含多个向量数据库和知识图谱等,核心是怎么建立索引,使得检索时能够将与问题相关的知识给检索出来。检索:从知识库中的多个库或者知识图谱中检索出与问题相关的信息。后处理:从知识库中检索出来的信息可能是冗余的,而且可能不符合我们希望的格式要求,因此,我们需要对这些数据进行过滤,格式化等操作。推理: 基于检索出来的知识进行推理,让输出能够回答用户的问题,目前主要使用大模型进行推理。 阅读详情

相关推荐

ZLMediaKit源码分析(二)推流创建

ZLMediaKit推流结构体创建是在RtspSession::onRecv()之后。如何触发onRecv()请参考上一篇文章这里不在赘述。

cliffordl的专栏 5074

HDU(4522) 湫湫系列故事——过年回家

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4522 建两个图,分别用dijstra。 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<string> #inc...

weixin_30262255的博客 166

3D打印必备:如何用Blender将NWD文件转成STL(附精度调整技巧)

本文详细介绍了如何使用Blender将NWD文件转换为STL格式,特别针对3D打印需求提供了精度调整技巧。从环境准备到分步转换流程,再到3D打印专属优化策略,帮助设计师解决破面、尺寸偏差等常见问题,实现高效、精准的格式转换。

week9的博客 272

湫湫系列故事——过年回家

Problem Description   出门在外,最想念的还是家,对在深圳腾讯工作的HR湫湫来说,春节回家是一年中最期盼的事,不仅可以见到阔别已久的亲人,还能以相亲的名义调侃众多帅哥(她的内心告诉她:如果相亲能遇到参加过腾讯编程马拉松的同学,就直接把自己嫁了~)。   同时,每年的春节湫秋也都会纠结一把,因为车票实在是太难抢了,不过2013的春节有点特殊,作为一个曾经的ACMer,湫湫制作

剑松优快云 864

宿舍网速跑不满?可能是PPPoE的锅!实测OpenWrt切换DHCP+深澜认证,轻松跑满校园百兆宽带

本文探讨了校园网PPPoE协议的性能瓶颈问题,并提供了通过OpenWrt路由器切换DHCP+深澜认证的技术方案,实测可显著提升网速至百兆宽带满速。文章详细介绍了配置步骤、性能对比及常见问题解决方案,帮助用户优化校园网体验。

weixin_31310913的博客 383

DeepBSA实战指南:从安装到基因组分析的全流程解析

本文详细解析了DeepBSA工具从安装到基因组分析的全流程,特别介绍了其简化生物信息学分析的'一键式'操作和独家深度学习算法。通过实战案例展示了DeepBSA在信噪比处理和QTL定位上的优势,并提供了Linux和Windows系统的安装避坑指南、数据预处理技巧以及算法选择建议,帮助用户高效完成基因组分析。

weixin_28732953的博客 441

hdu 4522 湫湫系列故事——过年回家(最短路)

#include #include #include #include using namespace std; #define MAXN 205 #define MAXE 300005 #define INF 10000000 int heada[MAXN], headb[MAXN]; int dp[MAXN]; int cnta, cntb; struct Edge{ int no

SprintfWater的专栏 1452

汽车诊断之UDS入门-0x19 0x0A服务

0x19 0x0A解析

weixin_44842720的博客 3836

HDU-4522 湫湫系列故事——过年回家 最短路

题意:很乱 分析:把数据处理下,dijkstra下就行了,floyd超时了,我还想着优化一下输入,因为使用了vector和string等等,但是计算数据规模后,处理输入的时间复杂度比floyd要低一个数量级,看来还是要换成dijkstra了。 #include &lt;cstdlib&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt...

weixin_33829657的博客 94

MindIE与vLLM-Ascend性能对决:Qwen3在昇腾910B上的推理效率实测

本文深度对比了昇腾910B平台上两大推理框架MindIE与vLLM-Ascend的性能表现。通过实测Qwen3系列模型,详细分析了二者在单卡、多卡场景下的推理效率、扩展性及生产环境适用性,为AI算力基础设施选型提供关键参考。

weixin_29214335的博客 1184

130、NPU的仿真测试:使用Gem5进行全系统仿真

这篇文章摘要(149字): 本文分享了使用Gem5全系统仿真器验证NPU设计的实践经验。作者通过搭建自定义NPU模型并集成到Gem5系统中,实现了CPU-NPU-内存协同仿真。关键点包括:1) 使用SimObject机制构建可配置的NPU模型;2) 合理配置IO和内存总线避免访问冲突;3) 开发Linux驱动实现CPU与NPU通信;4) 利用Gem5调试功能监控内部状态。相比RTL仿真和FPGA验证,该方法能快速验证微架构设计并定位系统级问题,有效减少了流片风险。文章特别强调了时钟域配置、总线仲裁、对齐访问

m0_50546716的博客 122

YOLOv11改进 | 网络结构代码逐行解析(二) | yolov11中的Mosaic增强详解

本文给大家带来的是YOLOv10中的Mosaic增强代码的详解,可能有部分人对于这一部分比较陌生,有的读者可能知道Mosaic增强但是不知道其工作原理,具体来说Mosaic增强就是指我们的数据集中的图片在输入给模型之前的一个处理过程(我们的图片并不是直接就输入给模型了,大家的训练结果中的结果检测图片大家可以看到数据集中多个图片会组合在一起这就是简单的Mosaic增强),下面我就来讲解一下其在YOLOv10中工作原理和代码定义,下面图片为一个Mosaic增强后的图片。​。

Snu77的博客 5021

HDU4522湫湫系列故事——过年回家(2013腾讯编程初赛3)(AC)

湫湫系列故事——过年回家 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 1193    Accepted Submission(s): 254 Problem Description   出门在外,最想念的还是家,对在深圳腾

twinslizzy的博客 577

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HDU 4522 湫湫系列故事——过年回家(单源最短路径)

又是建两个图的djkstra算法水之。 #include #include #include #include using namespace std; #define inf 99999999 const int maxn =200+5; int g[maxn][maxn][2]; bool vis[maxn]; int dist[maxn],n,start,end; char s[m

Learn as if you were to live forever 785

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

HDU4522 湫湫系列故事——过年回家

传送门:点我 中文题面。 思路:拿spfa对卧铺和硬铺分别跑spfa,然后找两个的最短路。体感堆优化的dij也可以,不过spfa跑跑就过去了。有个细节是最后得用long long 存数据,其他的没啥。 去重边是拿set存的邻接表。判断是否是数字用的isdigit函数。懒的要命系列。 #include <cstdio> #include <c...

weixin_30760895的博客 124

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

2013腾讯编程马拉松初赛第4场(3月24)(HDU 4520 HDU4521 HDU4522 HDU4523 HDU4524)

话说昨天比赛终于拿到一个不错的名次,rank77,对于我们这种ACM弱菜的学校来说已经很好了,可惜我1003用了俩floyd超时,如果我最近稍微搞搞图论的话,用个bellman,或者SPFA,绝对超不了了就。。。哎。。他们的1002貌似也差点出来。。。还有1004被坑人的wa了两次。。。。     理工大的孩子们看到之后,一定好好整理下,不管是这场比赛,还是前几场,比完之后整理再做这些题比较重要

671coder的专栏 1万+

做过的最短路径集合

HDU4522 湫湫系列故事――过年回家   POJ3259 Wormholes

twinslizzy的博客 364

简单图论 ural 1779. The Great Team

题目链接: http://acm.timus.ru/problem.aspx?space=1&num=1779 题目意思: 给n各点,让你构造一种连接方式,使得任意三个点的度数不一样。 解题思路: 利用贪心的思想这样构造: 从前至后构造节点度数分别为001122334455...... 推出各节点的度数为:(节点标号从1开始) sum[i]=i>>1(i为奇数) sum[i]

cc_again的专栏 1570

二分图的最大匹配-hdu-3729-I'm Telling the Truth

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3729 题目意思: 有n个学生,老师询问每个学生的排名,每个学生都告诉了一个排名区间,求可能的最大学生说实话的个数,以及那些学生的标号,有相同的则输出字典序最大的。 解题思路: 这题贪心只能求出个数,但要求字典序最大,则须用二分匹配。 将学生标号放到一个集合A里,另外一个集合B放排名。

cc_again的专栏 1253

树上计数-hdu-4705-Y

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4705 题目大意: 给一棵树,求三点不能通过简单路径到达的种数(也就是不在一条线上)。 解题思路: 如果枚举Y形的话,要先枚举一个点,然后在子树中找三个点,这样找有点麻烦,复杂度应该为o(n^2)。如果求补集,找三点在一条线的情况就好找了,枚举中间的那个点还剩下两个点,直接o(n)就可以

cc_again的专栏 1122

欧拉回路 poj-1392 Ouroboros Snake

题目链接: http://poj.org/problem?id=1392 题目意思: 给你一个n,让你找到一个2^n的0、1串,使每循环移动一位,表示不同的数。总共可以表示0---2^n-1中的每一个数。 解题思路: 以0——2^(n-1)-1为编号建立一棵树,共2^(n-1)个节点,如果在某个节点后面添加一个0或者1,再去掉最高位,得到下一个节点,两节点之间连一条有向边。 图中每

cc_again的专栏 1107
上一篇: Codeforces Round #183 (Div. 2) <全>
下一篇: Hdu 1711 KMP Number Sequence
Accagain
博客等级 码龄14年 376粉丝 316原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值