专题二【搜索】
指导老师:毛明松 编撰:衷铭川(大数据 231 班,程设协会负责人) 友链:其实连按部就班也比想象中难 江西财经大学信息管理与数学学院编程会、计算机与人工智能学院程序设计竞赛协会 # 搜索训练的意义 在蓝桥杯竞赛中,搜索是一种强大的工具,解决诸如路径查找、排列组合、状态转移的问题,遍历图或树的所有可能路径。 有时,暴力搜索会直接爆炸 TLETLETLE,剪枝也是搜索中不可或缺的一环。 # 题目 题目集链接:https://vjudge.net/contest/700913#overview 题目集密码:duoxichanganduoxichanganduoxichangan VJVJVJ...
more...Dijkstra求最短路(优先队列优化)与反向建图
对于规模较大的题目,有的时候,普通 DijkstraDijkstraDijkstra 可能因为时间复杂度太高而被卡成 TLETLETLE 此时就需要使用优先队列优化的 DijkstraDijkstraDijkstra 算法来解决 对于单到多的最短路径,跑一遍 DijkstraDijkstraDijkstra 可以出来,但是如果是反向的呢? 不妨转变一下思路,多到单的最短路径,不就相当于将单向图的所有边的方向 reversereversereverse 一下,反向建图之后跑一遍单到多的 DijkstraDijkstraDijkstra 嘛,由此可以提出反向建图的思想 # 例题 #...
more...Dijkstra算法及其应用
# 基础 Dijkstra 算法 # 题目背景 给出一个有向图,请输出从某一点出发到所有点的最短路径长度。 # 输入格式 第一行包含三个整数 n,m,sn,m,sn,m,s,分别表示点的个数、有向边的个数、出发点的编号。 接下来 mmm 行每行包含三个整数 u,v,wu,v,wu,v,w,表示一条 u→vu \to vu→v 的,长度为 www 的边。 # 输出格式 输出一行 nnn 个整数,第 iii 个表示 sss 到第 iii 个点的最短路径,若不能到达则输出 231−12^{31}-1231−1。 # 数据范围 对于 100%100\%100% 的数据:1≤n≤5001...
more...第七届传智杯省赛(第一场)
# 小苯的计算器 (B 组、C 组) 水题 给你两个数 aaa,bbb,输出 a=k*b+c python123456789t = int(input())while True: if t == 0: break (a, b) = list(map(int, input().split())) print("{}={}*{}+{}".format(a, a // b, b, a - a // b * b)) t -=...
more...