ctf - Dijkstra

BUUCTF_Crypto题目:救世捷径(dijstra算法) buu密码学题目“救世捷径”,但考的是dijstra算法的实现。 阅读详情

在进行数据处理的时候,学习了多维字典增加元素的方法。
对https://www.jb51.net/article/130370.htm 的算法做了一些修改。

# coding:utf-8
source='''
1 2 100 FLAG{
2 3 87 AFQWE
2 4 57 ETKLS
2 5 50 WEIVK
2 6 51 AWEIW
3 7 94 QIECJF
3 8 78 QSXKE
3 9 85 QWEIH
4 13 54 WQOJF
4 14 47 KDNVE
4 15 98 QISNV
5 10 43 AEWJV
5 11 32 QWKXF
5 12 44 ASJVL
6 16 59 ASJXJ
6 17 92 QJXNV
6 18 39 SCJJF
6 23 99 SJVHF
7 19 99 WJCNF
8 20 96 SKCNG
9 20 86 SJXHF
10 21 60 SJJCH
11 21 57 SJHGG
12 22 47 SJCHF
14 10 55 EJFHG
16 17 59 ASJVH
18 12 53 SJFHG
18 24 93 SHFVG
21 22 33 SJFHB
19 25 88 ASHHF
20 25 96 SJVHG
22 25 23 SJVHJ
25 26 75 SDEV}
'''
d = source.split()

dic={}

for i in range(len(d)/4):#数据预处理
    f1=i*4
    f2=i*4+1
    f3=i*4+2
    f4=i*4+3
    if int(d[f1]) not in dic:
        dic.update({int(d[f1]):dict({int(d[f1]):[0,'']})})
    if int(d[f2]) not in dic:
        dic.update({int(d[f2]):dict({int(d[f2]):[0,'']})})
    dic[int(d[f1])][int(d[f2])]=[int(d[f3]),d[f4]]
#print dic 

def Dijkstra(G,v0,INF=999):

    book = set()
    minv = v0
    # 源顶点到其余各顶点的初始路程
    dis = dict((k,[INF,'']) for k in G.keys())
   
    dis[v0] = [0,'']
    while len(book)<len(G):
        #print book
        book.add(minv)         # 确定当期顶点的距离
        #print G[minv]
        for w in G[minv]:        # 以当前点的中心向外扩散
            #print minv,w
            #print dis
            if dis[minv][0] + G[minv][w][0] < dis[w][0]:   # 如果从当前点扩展到某一点的距离小与已知最短距离
                dis[w][0] = dis[minv][0] + G[minv][w][0]   # 对已知距离进行更新    
                dis[w][1] = dis[minv][1] + G[minv][w][1]   # 对相应字符串进行增长       
        new = INF          # 从剩下的未确定点中选择最小距离点作为新的扩散点
        for v in dis.keys():
            if v in book: continue
            if dis[v][0] < new:
                new = dis[v][0]
                minv = v
    return dis
dis = Dijkstra(dic,v0=1)

print dis.values()
buuctf 救世捷径(最短路dijkstra算法) 题目的意思是要我们求从国家1到国家26的最短路路径.这里采用dijkstra算法 dijkstra算法 dijkstra算法采用的是贪心算法的策略.大体意思是将所有点分成两个点集,一个是已经确定了到起始点的最短距离的点的集合,一个是还未确定的集合. 分别记为 A B 初始化各点到起始点的距离为无穷大(足够大)记为dv[i]:点i到起点的距离.记graph[i][j]为输入的点i到点j的距离(如果没有则记为无穷大) 1,首先可以将起始点a1加入A 2,然后将所有点到a1的距离做比较,取最小的那个点记为a2加入 阅读详情

相关推荐

数学建模竞赛实战:从设施选址到资源分配的问题解决框架

设施选址与资源分配是运筹学和工业工程中的经典问题,其核心目标是在满足特定约束下,优化服务设施的布局与资源流向,以实现成本、效率或公平性等指标的综合最优。其基本原理通常基于整数规划、网络流或覆盖模型等数学框架,通过定义决策变量、目标函数和约束条件来形式化实际问题。这类模型的技术价值在于能将复杂的现实场景抽象为可计算、可优化的方案,为物流规划、公共服务设施布局、供应链管理等提供决策支持。在实际应用中,面对数据不完备、约束复杂等挑战,常需对经典模型进行适应性改造,例如引入惩罚项处理软约束,或运用遗传算法、模拟退火

weixin_30463341的博客 1047

CTF是什么?一文带你读懂网络安全大赛

随着大数据、人工智能的发展,人们步入了新的时代,逐渐走上科技的巅峰。

Python栈 8175

保姆级图解:NCCL源码里如何把PCIe拓扑XML变成一张“交通图”?

本文深入解析了NCCL如何将PCIe拓扑XML转化为高效的分布式计算通信网络。通过类比城市交通规划,详细介绍了NCCL在硬件拓扑勘测、通信路径构建及智能调度算法中的关键技术,帮助开发者理解GPU集群中的数据流优化策略,提升AI训练和HPC应用的通信效率。

weixin_30553777的博客 499

啥是CTF?新手如何入门CTF?

CTF是啥 CTF 是 Capture The Flag 的简称,中文咱们叫夺旗赛,其本意是西方的一种传统运动。在比赛上两军会互相争夺旗帜,当有一方的旗帜已被敌军夺取,就代表了那一方的战败。在信息安全领域的 CTF 是说,通过各种攻击手法,获取服务器后寻找指定的字段,或者文件中某一个固定格式的字段,这个字段叫做 flag,其形式一般为 flag{xxxxxxxx},提交到裁判机就可以得分。 信息安全的 CTF 的历史可以说很长了,最早起源于 96 年的 DEFCON 全球黑客大会 为啥要参加CTF 入门渗.

MachineGunJoe666 3万+

代码审计工具学习之Seay(安装以及初步认识)

目录 1.1名词解释 1.2代码审计的重要性 1.3代码审计的步骤 1.4代码审计的内容 1.5常见的代码审计工具 2 Seay 2.1什么是Seay 2.2Seay的安装过程 3典型漏洞分析 3.1什么是命令注入漏洞 3.2 如何理解命令注入漏洞 3.3 如何防御命令注入漏洞 4 利用工具对命令注入漏洞进行分析 4.1DVWA靶场命令注入漏洞分析 4.2 Pikachu靶场命令注入漏洞分析 1.1名词解释 软件代码审计是对编程项目中源代码的全面...

weixin_52515588的博客 2万+

人工智能训练师技能等级认定四级技能考核试卷-样题1

本文为人工智能训练师四级技能考核试卷,包含六个实操考核项目,总分100分,考试时间150分钟。试卷涵盖数据处理、模型训练准备及系统维护等核心技能:1)垃圾分类数据集规范与处理(30分),要求评估数据格式并编写Python处理代码;2)学生成绩数据集分析(20分),涉及数据预处理、可视化及相关性分析;3)数据标注审核(10分),重点审核标注准确性;4)智能数据服务系统维护与优化(40分),包括安全帽数据集的项目创建、数据处理及平台协作。考核强调Python编程、数据处理平台操作及AI工作流程的实践能力。

weixin_42221934的博客 440

CTF入门教程(非常详细)从零基础入门到竞赛,看这一篇就够了!

CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯”。MISC(安全杂项)

2401_82672634的博客 5586

FPGA实战:用Verilog实现Costas环载波同步(附Vivado2019.2仿真步骤)

本文详细介绍了如何在FPGA上使用Verilog实现Costas环载波同步,包括核心原理、Vivado2019.2工程配置、代码实现及仿真验证。通过正交下变频、相位误差检测和环路滤波等关键模块的设计,帮助开发者掌握数字通信系统中的载波同步技术,并提供了实用的调试和优化技巧。

k0l1m2n3o的博客 134

网络安全CTF夺旗赛入门到入狱-入门介绍篇

网络安全CTF夺旗赛入门到入狱-入门介绍篇

喜欢Python编程的程序员柚柚呀 9050

基于SVPWM控制策略的二极管钳位型NPC逆变器并网闭环simulink仿真

本文介绍了二极管钳位型三电平SVPWM技术在逆变器中的应用,通过控制IGBT的开关状态,将直流电压转换为三相交流电压,并采用钳位技术降低谐波失真,提高输出质量。文章还描述了基于SVPWM控制策略的二极管钳位型NPC逆变器并网闭环的Simulink仿真模型,该模型实现了并网控制,具有优异的性能,THD小于1%,适用于新手学习。仿真模型参数包括DC 800V、AC 380V、功率100kw,采用三电平NPC拓扑结构和SVPWM闭环控制策略,配备LCL滤波器,生成三电平波形,监测交流侧电压电流、有功功率和无功功率

2510_91195931的博客 466

Streamlit安装避坑指南:从零到一键启动你的第一个数据可视化应用

本文提供了一份详尽的Streamlit安装避坑指南,帮助用户从零开始快速启动第一个数据可视化应用。文章深入剖析了安装过程中常见的网络超时、依赖冲突、环境变量缺失等核心问题,并给出了使用虚拟环境、配置国内镜像源、利用.whl文件离线安装等多种经过验证的解决方案,确保安装过程顺畅无阻。

weixin_29065015的博客 614

BUUCTF刷题记录

现在是暑假第四周,BUU现在是正在刷第三页。加油学,只要能不断超越过去的自己,就是最值得骄傲的事。

2301_78965658的博客 1038

【GameFramework框架】7-2、GameFramework框架是否“过度设计”?

框架是否过度设计,这个问题其实我被问到很多次了。不仅仅是新手刚接触就觉得“过度设计”的评价,有些熟练的开发者也会有这种感觉。那么,这篇文章就来探究一下,为什么框架会让人感觉“过度设计”,以及框架如何设计,还有,如何让框架适应自己的节奏。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2118

Cosmos-Reason1-7B在CTF与算法竞赛中的应用:编程题自动解析与思路生成

本文介绍了如何在星图GPU平台上自动化部署Cosmos-Reason1-7B推理交互工具,打造本地化的智能解题助手。该工具专为逻辑推理优化,能够自动解析CTF逆向工程、密码学及算法竞赛中的编程题目,并生成详细的解题思路与代码实现,有效辅助竞赛准备与学习。

weixin_42612804的博客 391

无实习经验?IT应届生简历封神思路:把校园经历写成offer收割机

摘要: IT应届生无实习经历如何打造竞争力简历?本文揭秘“无实习简历封神指南”,通过四大步骤将校园经历转化为HR认可的硬核技能: 素材挖掘:课程设计、个人项目、社团活动、竞赛证书都是隐藏的“实战经验”,用STAR法则细化成果。 技能转化:匹配岗位JD关键词,用“动词+量化结果”包装经历(如“优化查询效率30%”)。 避坑指南:避免流水账、夸大技能或堆砌无关经历,聚焦技术能力与岗位需求。 核心逻辑:HR看重潜力而非经验,用校园经历证明学习能力、问题解决能力和技术落地能力。 无实习≠无竞争力,学会“翻译”经历,

通俗易懂学IT 423

广东省低应变题库

11.按《建筑地基基础检测规范》DBJ/T15-60-2019的规定,采用低应变法对混凝土预制桩进行检测时,地基基础设计等级为甲级的桩基工程抽检桩数不应少于总桩数的30%,其余桩基工程抽检桩数不应少于总桩数的20%,且不得少于10根;16.按《建筑地基基础检测规范》DBJ/T15-60-2019的规定,当对某桩的桩身完整性判定为III类时,可认为该桩不满足验收条件,不用进一步确定该桩桩身缺陷对桩身结构承载力的影响程度。2.地基基础检测所用计量器具均应在检定(校准、验证)的有效期内,性能符合相关技术要求。

ZShy001238的博客 319

HDU - 2544 最短路 (dijkstra 优先队列优化)

题目链接 是一个求最短路的模板题(题目中都写最短路23333)。         一般建图比较方便的是用邻接矩阵的方法,但是对于dijkstra算法来说,其时间复杂度为O()。        我们有一个更好的优化算法:即利用优先队列(小根堆)进行时间上的优化,复杂度可以达到O((m+n)logm)。 (题外话:vector真心真心好用,vector是已经封装了的,又不像链表那么麻烦,最关键...

hhh 891

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

HDU - 2066 一个人的旅行(dijkstra最短路)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066点击打开链接 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 40053    Accepted S

xuejye的博客 330

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

九度1008&&HDU - 3790:最短路径问题 (最短路径dijkstra)

题目链接:http://ac.jobdu.com/problem.php?pid=1008点击打开链接 题目1008:最短路径问题 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:12182 解决:4177 题目描述: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,

xuejye的博客 333

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

buuctf 救世捷径【dijkstra算法】【单源最短路径算法】

max=2000 graph=[[max] * 27 for _ in range(27)] #读取节点信息 f=open('dj.txt','r').readlines() #存入列表 for x in f: a,b,c,d=x.strip().split(' ') graph[int(a)][int(b)]=int(c) graph[int(b)][int(a)]=int(c) temp1=[True for a in range(27)] zuixiao=[0 f...

amber_o0k的博客 951

最短路径题目(Dijkstra)

hdu 2066  2544 2112 1217 1548 1142

安逸风声 828

UVa658 这不是bug,而是特性

题目:VJ : UVa658 代码实现: #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;queue&gt; #include&lt;vector&gt; #include&lt;string&gt; #include&lt;functional&gt; using namespace std; struct Node{...

Moyu的专栏 356

大学生必看的高含金量赛事全解析:计算机专业

计算机比赛是一条充满挑战但也充满机遇的道路。通过比赛,你不仅能提升技术能力,还能培养解决问题的思维、团队协作的精神和抗压能力。给不同阶段同学的建议:不要急于求成,从基础做起。蓝桥杯省三也是不错的起点。重要的是培养兴趣,建立信心。这是关键的提升期。组建固定团队,系统训练。争取在省级比赛中取得好成绩,为冲击国赛打下基础。目标要明确:要么冲击ACM区域赛,要么在专项比赛中拿国奖。这是保研和就业的关键时期。用比赛成绩敲开心仪公司的大门。同时也要开始思考:技术路线还是管理路线?大厂还是创业公司?

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 316

python堆-完全二叉树--完全解读

阿里云博客专家认证跨领域学习发现美 欣赏美。

20岁爱吃必胜客 328

ACM之最短路径做题笔记与记录

在这里纪念一下从4月开始一直因为事情而荒废了的最短路,多亏了jbb的帮助,我才完成了FZU热身赛一题简单的一个用模拟链表存边以及最短路径的学习,目前(6.5)已经学会使用了最简单的djstral与spfa,以及优先队列优化的dj,这里是最近2天做出来的题目,在这里记录一下 HUD1221 HDU Today 这题需要注意的就是可能存在回路,头尾一个点 //dijkstral + 动态数组 #inc...

weixin_30367945的博客 169
上一篇: re 入门
下一篇: sql注入学习(入门)
Maxmalloc
博客等级 码龄8年 12粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值