/*
* Author: johnsondu
* Time: 2013-4-29
* Problem: hdu 4396 More lumber is required
* Url: http://acm.hdu.edu.cn/showproblem.php?pid=4396
* stratege: 二维spfa, dis[][]前者为城市,后者记录走过的路径数
*/
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std ;
#define inf 0xfffffff
#define N 5005
#define E 100005
struct edge
{
int u, v, w, next ;
}e[E*2] ;
int head[N], cnt ;
int dis[N][55] ;
bool vis[N][55] ;
int n, m, S, T, K ;
int ans ;
void init ()
{
memset (head, -1, sizeof (head)) ;
cnt = 0 ;
}
void addedge (int u, int v, int w)
{
e[cnt].u = u ;
e[cnt].v = v ;
e[cnt].w = w ;
e[cnt].next = head[u] ;
head[u] = cnt ++ ;
}
struct Node
{
int a, b ;
}cur, next;
int spfa ()
{
int i ;
for (int i = 0; i <= n; i ++)
for (int j = 0; j <= K; j ++)
dis[i][j] = inf ;
dis[S][0] = 0 ;
vis[S][0] = true ;
queue <Node > Q ;
cur.a = S ;
cur.b = 0 ;
Q.push (cur) ;
while (!Q.empty())
{
cur = Q.front() ;
Q.pop () ;
vis[cur.a][cur.b] = false ;
if (cur.a == T && cur.b == K)
{
ans = min (ans, dis[T][K]) ;
}
for (i = head[cur.a]; i != -1; i = e[i].next)
{
next.a = e[i].v ;
next.b = cur.b + 1 ;
if (next.b >= K)
{
next.b = K ;
}
if (dis[next.a][next.b] > dis[cur.a][cur.b] + e[i].w)
{
dis[next.a][next.b] = dis[cur.a][cur.b] + e[i].w ;
if (!vis[next.a][next.b])
{
vis[next.a][next.b] = true ;
Q.push (next) ;
}
}
}
}
return 1 ;
}
int main ()
{
//freopen ("data.txt", "r", stdin) ;
int a, b, c ;
while (scanf ("%d%d", &n, &m) != EOF)
{
init () ;
while (m --)
{
scanf ("%d%d%d", &a, &b, &c) ;
addedge (a, b, c) ;
addedge (b, a, c) ;
}
scanf ("%d%d%d", &S, &T, &K) ;
ans = inf ;
K = (K+9)/10 ;
spfa () ;
printf ("%d\n", ans == inf ? -1 : ans) ;
}
return 0 ;
}
相关推荐
Tesseract OCR 字库训练教程:提高识别率进阶版
通过 Tesseract 字库训练,你可以提高 OCR 对特定文本或字体的识别能力。训练过程包括准备训练数据、生成标签文件、运行训练工具,以及将训练结果集成到实际项目中。虽然训练过程需要一些时间和精力,但对于需要高精度文本识别的场景来说,字库训练是非常有效的提升识别率的方法。
HDU More lumber is required
More lumber is required Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others)Total Submission(s): 280 Accepted Submission(s): 78 Problem Description “More...
Python爬虫:无账号无限制获取企查查信息
无限制企查查爬虫 通过网上爬虫获取了全国所有企业,然后就需要补充企业信息,首先想到的就是企查查,启信宝等专业网站,最终选择了企查查,尝试了多种方法: 1、selenium爬虫,绕过企查查的登录验证,但账号和IP限制太大,最终放弃 2、通过requests直接请求+cookies,遇到了cookie有效期和限制问题 不断的尝试和修改参数,最终发现一种有效方式selenium+ wep 只需要IP代理,不需要账号,没有限制,因为是没有登录,拿到的信息有限,能展示的都能获取。 一、初始化..
hdu 4396 More lumber is required(最短路,SPFA,4级)
More lumber is required Time Limit: 10000/5000 MS (Java/Others)Memory Limit: 102400/102400 K (Java/Others) Total Submission(s): 909Accepted Submission(s): 377 Problem Descrip...
Oracle EBS 如何处理MMT表错误-WIP 实体未定义或不具有期间余额项
错误说明:WIP 实体未定义或不具有期间余额项。(The wip entity is either not defined or does not have a period balance entry)由于工单的创建日期为4月份,工单的余额表记录的期间是4月份,而3月份工单余额表中没有记录。公司将上一个新的库存组织,有一部分测试的工单创建日期在4月份,而工单的发放日期、发料事务处理日期和完工事务处理日期均在3月份。1、关闭3月份库存会计期,待定事务处理存在未计成本物料/WMS。成本类型: PAC成本。
泰凌微8258入门教程 基础篇①——Bluetooth® SIG Mesh 快速上手
Bluetooth® SIG Mesh Quick Start
HDU 4396 More lumber is required(最短路)
题意:每走一段路可以获得10根木头,问从S到T至少要获得K根木头,,,问要需要走多少路程,。 #include #include #include #include #include #include using namespace std; const int N = 5009; const int M = 200009; const int INF = 0x3f3f3f3f;
汽车LIN总线(3) -- 协议层:帧的类型
主要介绍LIN协议层中帧的类型,介绍中加入一点自己的理解(带下划线的是,其余是官方资料)。
HDU 4396 More lumber is required [至少经过K边最短路]
求至少经过K条边,到达终点的最短路(K<=50)。 K比较小,先用Bellman求出走50步到达每个点的最短路,然后把50步的可达点加到队列里SPFA即可。 题解是直接二维最短路的,不过好像比bellman+spfa慢。。目前排在HDOJ第一。。 1 #include <string.h> 2 #include <stdio.h>...
【Frida Android】实战篇4:SSL Pinning 证书绑定绕过 Hook 教程(一)
在前两章中,我们学习了中间人抓包与 Hook 抓包的基础方法,这些方法在理想环境下能够有效获取网络请求数据。但在实际的企业级应用中,出于安全防护需求,很多 APP 会启用证书绑定(SSL Pinning)机制。这种机制会让客户端对服务器证书的校验更为严格,导致常规的抓包方法(即使将 BurpSuite/Charles 证书安装到系统信任区)也无法生效。因此,从本章开始,我们将系统学习 SSL Pinning 机制的绕过技术。SSL Pinning(证书绑定)是客户端校验服务器身份的进阶安全机制。
Python 爬虫实战:爬取哔哩哔哩知识区,抓取高赞课程信息
哔哩哔哩(Bilibili)是一个广受欢迎的综合性视频社区,其中的知识区汇聚了大量优质的教育、科普、技术等课程内容。本文将指导读者如何使用 Python 爬虫技术从哔哩哔哩知识区抓取高赞课程信息,并进行数据分析。本文深入探究了利用 Python 爬虫技术从哔哩哔哩知识区抓取高赞课程信息的全流程。从前期的环境搭建、模拟登录,到核心的课程数据抓取、存储,再到后续的数据分析与可视化,都详细展开讲解并提供代码支持。通过此方法所获取的数据,能够助力创作者优化内容、用户发现优质课程、平台洞察用户需求。
hdu 4396 More lumber is required (二维SPFA)
题目链接: hdu 4396 题目大意: 给出带权值的无向边,可能会有自环 给出起点和终点,求至少经过K条边的最短路径 解题思路: 当k不能被10整除时,K=k%10+1,否则K=k%10; 二维SPFA,Dp[ a ][ b ]表示经过b条边到达a点的最短路径
光学测量仿真软件:Zygo_(5).Zygo的数据处理与分析方法
通过上述综合案例,我们可以看到Zygo中的数据处理与分析方法是如何一步一步应用于实际数据的。从数据导入到预处理,再到滤波、表面分析、缺陷检测和数据可视化,每一步都至关重要,最终确保了数据的准确性和可靠性。处理后的数据还可以导出为多种格式,便于在其他软件中进行进一步的处理或报告。希望这个案例能够帮助您更好地理解和应用Zygo中的数据处理与分析方法。
hdu 4396 More lumber is required(最短路)
hdu 4396 More lumber is requiredDescription “More lumber(木材) is required” When the famous warcrafts player Sky wants to build a Central Town, he finds there is not enough lumber to build his Central T
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
hdu - 4396 More lumber is required(二维最短路)
题目: More lumber is required 题意:给N个节点,M条双向边,M行a,b,c表示一条边。每经过一条边可以获得10个单位,边可以重复走,最后一行表起点和终点,和所需要的最少单位,求获得符合数量单位后的路径最小值 思路:用spfa寻找最短路,由于可以重复走,所以必须多设一维来判断当前这个点处于什么状态,同状态点之间不能相互走 代码: s
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
HDU - 4396 More lumber is required (BFS 最短路)
题目大意:有一个需要采集K跟木头,然后到达点T,现在他从S点出发,路上有N个节点,M条边,只要经过1条边,就可以得到10根木头,问需要花费多少时间才能完成任务解题思路:木头最多只有500根,且每次收集10跟,最多也只需要收集50次就可以,而且节点最多只有5000个,所以直接暴力BFS即可#include <cstdio> #include <cstring> #include <queue> usi
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
HDU 4396 More lumber is required(二维SPFA)
题目链接 第一个二维的,注意一点如果num + 1 > w,num = w 这样就可以节约空间了,因为假如经过很多条边而且是最短路的话,无法存储。。 1 #include <cstdio> 2 #include <cstring> 3 #include <queue> 4 using namespace std; 5 #defi...
HDU 4396More lumber is required 过至少K条边的最短路
/* ** 题目要求过最少k条边的最短路 */ #include <iostream> #include <cstdio> #include <cstring> #include <queue> #include <algorithm> using namespace std; const int maxn =...
hdu4396More lumber is required(二维SPFA)(多校10)
http://acm.hdu.edu.cn/showproblem.php?pid=4396 二维最短路 以这个点和到这个点的路径数作为一个点来标记 View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<string.h> 4 #include<queue>...
11.7万Star的AI应用模板库:Agent、RAG、MCP实战指南
在AI应用开发中,Agent、RAG和MCP已成为高频技术概念,但重复搭建工程结构往往消耗大量精力。开源模板仓库awesome-llm-apps将这三类常见应用模板集中管理,以11.7万Star的社区认可度,为开发者提供了可直接运行的参考实现。其核心价值在于将模型调用、工具调度、知识检索等标准化链路沉淀为可复用的代码骨架,帮助开发者从“造轮子”转向“用轮子”。无论是构建自动化Agent、知识库问答系统,还是接入MCP工具服务,都能通过选型与改造快速落地。本文结合实战经验,分享如何高效使用该模板库、避免常见坑
More lumber is required(多校10,7th,hdu4396,k条边最短路,二维dijkstra)
-- More lumber is required(多校10,7th,hdu4396,k条边最短路,二维dijkstra) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others) Total Submission(s): 666 Accepted...
hdu 4396 More lumber is required (二维最短路 应用 2012 Multi-University Training Contest 10 )...
http://acm.hdu.edu.cn/showproblem.php?pid=4396题意:求 从 一点s 到 e 至少经过k 条边求 最短的值是?(可以走重边);题接:二维最短路 ,d[i][k] 表示 从 s 到 i 点经过 k 条边 的最小值 ,(对于 大于k边数的值 ,并入到 dp[i][k]里 面 )1#include<cstdio>2#include&...
基于改进PSO算法的微电网低碳经济调度优化
粒子群优化算法(PSO)作为经典的群体智能算法,在解决复杂优化问题中展现出独特优势。其核心原理是通过模拟鸟群觅食行为,实现解空间的智能搜索。在能源系统领域,PSO特别适合处理含多约束、多目标的调度问题。通过引入动态惯性权重和精英学习等改进策略,算法在收敛速度和求解质量上获得显著提升。在微电网调度场景中,改进PSO能有效协调发电单元、储能系统和碳捕集装置的运行,实现经济性与环保性的最优平衡。该技术方案已成功应用于10MW级工业园区微网,相比传统方法降低运行成本5.9%,减少碳排放8.3%。
1865



被折叠的 条评论
为什么被折叠?



