最短路相关
Anxdada
多读书多看报, 少吃零食多睡觉
展开
-
AtCoder ARC061Eすぬけ君の地下鉄旅行 / Snuke's Subway Trip 【拆点最短路 + 思维】 好题!
传送门 题意: 有一个n个点m条边的无向图, 边上有一个编号, 表示这条边归编号公司管理, 如果相邻的两条边的编号相同, 则代价为0. 否则代价加1, 其实为1, 问1到n的最低代价为多少.思路: 这道题的思路真的是秒啊!!! 很明显我们要解决的问题就是如果让相同公司之间的花费为0, 所以我们进行拆点, 将u v c, 拆成u - uc, uc - vc, vc - v, 边权分别是1, 0...原创 2018-08-21 10:49:03 · 648 阅读 · 0 评论 -
POJ 1847 Tram 【最短路】
传送门 题意: 给定n个十字路口可以通向其他十字路口的图, 给定终点和起点,问起点到终点最少需要改变多少次方向, 下面n行中第1个数字表示连接的十字路口数目, 第二个数字表示该十字路口的直接连接的十字路口(即不用转方向), 其他的都要转一次方向.思路:直接每两个十字路口之间如果反向直接相连连边0, 否则连边1, 跑最短路即可.AC Codeconst int maxn = 1e2+5;int n原创 2018-02-13 15:26:13 · 273 阅读 · 0 评论 -
三种最常见最短路算法 及其 应用范围 // 兼板子
HDU – 2544 模板题 第一种: Dijkstra算法 //用于求单源最短路径void dij(int u) //从u点开始找出距离所有的点最短距离. n 是点数.{ Fill(vis,0); for(int i = 1 ; i <= n ; i ++) near[i] = g[u][i]; vis[u]=1; for(int i =...原创 2017-06-22 17:04:42 · 1635 阅读 · 0 评论 -
POJ 1062 昂贵的聘礼 【枚举 + 最短路】
传送门 // 中文就不多说题意了.思路: 我们首先明确一点的就是我们的关键人物是1号点, 因为我们我们找出的一条路径上所有人的等级都是跟1号点有着联系的, 所以我们直接枚举该范围, 我们通过对题意的了解知道对于一个物品它的优惠物品到它应该有条单向边, 但是我们由于后面计算的了解知道我们每枚举一次范围就会算所有点到1点的最短距离, 即多源单汇的情况, 所有我们先建图的时候反向建图, 然后以1作为起点原创 2018-02-11 22:43:58 · 263 阅读 · 0 评论 -
POJ 3660 Cow Contest 【floyd求传递闭包 + 思维好题】
传送门 // 题意: 每头牛都有一个确定的排名, 两头牛打架排名高的一定会赢, 现在给出m场比赛双方以及结果, 问最多可以确定多少头牛的排名.思路: 首先分析如何才能确定一头牛的排名, 那就是假设一头牛a可以打败x头牛, 同时也输给了y头牛, 那么如果x+y == n-1那么这头牛的排名就是可以确定的, 同时如果a打败了b, b打败了c, 那么a也是打败了c的, 也就是具有传递性. 所以我们先用f原创 2018-02-11 12:56:44 · 293 阅读 · 0 评论 -
Gym 100935 Weird Maze 【预处理最短路 + 思维】
传送门 // 题目背景就不说了, 主要说说进行转化后的问题. 就是给定n个点和m条单向边和起点, 边上有权值和时间(时间可以为负) , q次询问终点, 问是否可以恰好在t的时间之内到达终点 , 如果可以那么输出最小花费, 不行则输出No. // 思路: 首先就是建图, 那么我们考虑一种特殊情况就是在t的时间比较大, 那么它可能会在一个环上绕几圈再到达终点, 所以我们对于一个起点预处理出在[-原创 2018-01-19 13:14:35 · 552 阅读 · 0 评论 -
HDu 3339 In Action 【最短路 + 背包】好题!!!
传送门 // 题意: 每个点有一个电量值, 任意两点之间有一个距离, 每次从0出发到其他点的消耗的油量为到该点的距离, 到了该点后就可以摧毁该点, 注意是每到一个点都要重新从0号点出发, 问至少摧毁总电量的一般至少花费多少的油量. // 思路: 注意是每新到一个点都是重新从0号点出发的, 所以在一条路上的点不存在依赖关系, 所以这个问题就比较明显了, 首先最少, 肯定是到这个点的最短路, 可以先预原创 2018-01-29 13:12:19 · 307 阅读 · 0 评论 -
HDU 2807 The Shortest Path 【最短路 + 快速判断矩阵是否相等】
传送门 // 题意: 给定n个m*m的矩阵, 如果A*B == C矩阵, 那么A -> C 有一条长度为1 的边. 最后给出q次询问, 每次询问两个矩阵的最短距离.// 思路: 很明显我们首先需要先把矩阵先存下来, 然后n^3方建图, 然后我们知道矩阵相乘是n^3的,然后判断两个矩阵是否相等是n^2的, 一共就是n^5的,完全会爆炸. 所以这样肯定不行. 所以我们首先要对矩阵进行hash降维判断.原创 2018-01-29 17:15:43 · 329 阅读 · 0 评论 -
HDU 2145 zz's Mysterious Present 【多源单汇 + 反向建图最短路转换】
传送门 这道题和hdu2680几乎一样. // 题意: 就是给定一幅有向图(n, k), 有m个人, 给出终点ed. 给出那m个人所在的城市编号和他们行驶速度, 问最小到ed的是哪个编号, 如果时间相等取距离终点远的那个点, 再相等取编号大的那个人.// 思路: 很明显的反向建图, 以终点做起点跑最短路, 然后扫一遍比较他们的时间和距离就行啦~注意: 题中说for each case , 所以是原创 2018-01-29 16:47:57 · 349 阅读 · 0 评论 -
HDU 2680 【多源单汇 + 反向建图最短路转化】
传送门 // 题意: 给定一个有向图(n, m), 和一个终点, 再给定一些起点, 问从这些起点的某一个到这个终点的最短路径是多少. // 思路: 很明显的就是多源单汇, 那么我们直接反向建图, 以终点为起点跑, 然后就又变成了单源多汇了, 从中选一个最小的即可.AC Codeconst int maxn = 1e3+5;int cas=1;int cnt, head[max原创 2018-01-29 13:31:15 · 269 阅读 · 0 评论 -
HDU 2363 Cycling 【暴力枚举 + 最短路】
传送门 // 题意:给定一个无向图(n, m)然后每个点有一个海拔高度, 问从1 - n中”起伏高度最小的”最短路径是多少. 起伏高度最小表示我们选择的这条路径中海拔高度最高的和最低的差值要最小.// 思路: 很明显的一个思路就是二分该差值, 然后跑最短路验证, 但是有一个问题就是我们无法确定该条路上的选择了那些点, 从而在跑最短路时无法排除一些不符合条件的点. 所以就不行. 那么由于数据较小,原创 2018-01-29 13:39:16 · 379 阅读 · 0 评论 -
LightOJ - 1074 Extended Traffic 【spfa判负环 + dfs】
传送门 题意:给定(n, m)有向图, 每个点有点权, u->v的代价是(a[v]-a[u])^3, 给出q个询问, 问从1出发到询问的该点的最小代价, 如果代价<3或者不能到达该点输出’?’.思路: 很明显这幅图是可能有负权环, 在负权环中的点代价肯定是无穷小, 负权环中的点可以到达的点也是无穷小, 所以我们用spfa跑最短路, 每跑到一个负权环我们就dfs其中的任意一个点可以到达的点并标记他们原创 2018-02-13 15:54:51 · 349 阅读 · 0 评论 -
POJ 3159 Candies 【差分约束】
传送门 题意: 给定n个限制关系u v w表示u认为v的糖果数量最多比它多w个. 问在满足这些的条件下, 1与n的糖果数量最大的差是多少.思路: 知道差分约束的很容易可以判断出这个是差分约束, 我们用d数组表示一个人拥有的糖果数量那么结合题意就有d[u] + w >= d[v], 也就是类似于最短路中的松弛条件dis[u] + g[u][v] <= dis[v], 只是形式上有点不同, 但是它的实原创 2018-02-13 16:09:17 · 319 阅读 · 0 评论 -
POJ 2502 Subway 【最短路之建图为关键】
传送门 题意: 有n条地铁线, 相邻两站可以做地铁到达, 速度为40km/h, 可以在任意站换乘其他地铁线必须走路, 速度为10km/h, 给定起点和终点问最少需要多少分钟才能到终点.思路: 很明显这是一个最短路, 关键在于建图, 因为每个点都要向终点连一条速度为10km/h的边, 同时起点也想每个站连边, 同一条地铁线的相邻站连40km/h的边, 不同的地铁线中的站也要两两连走路的边, 然后跑原创 2018-02-13 16:16:16 · 324 阅读 · 0 评论 -
UVA - 10054 The Necklace 【欧拉路径】
传送门 题目大意: 有一串手链, 现在散掉了, 每一个珠子上左右都有一个颜色, 现在判断是否有珠子丢失了, 如果没有最后链接的手链应该是怎样的, 思路: 就建个图, 套一套无向图欧拉路求解的板子输出结果就行, 注意颜色的范围是1-50,不一定是从1开始的….AC Codeconst int maxn = 1e3+5;int cnt, head[maxn];int n, m;...原创 2018-07-29 20:01:23 · 174 阅读 · 0 评论 -
HDU - 5669 Road 【线段树优化建图 and 思维类dp最短路】
传送门 题意: q次描述, 每次描述给出两个区间 a b 和 c d, 表示这里存在一条路在节点 (x,y)之间 ,a ≤ x ≤ b,c ≤ y ≤ d. 权值给出, 问1到n的最短路是多少, 其中你可以使用不超过k次的技能, 每使用一次, 那么你使用的那条道路的权值可以不进行累加, 即该条道路权值为零. 思路: 这道题很明显的线段树优化建图了, 具体建图方法可以参照我另一篇博客 一样的建...原创 2018-05-24 13:47:18 · 444 阅读 · 0 评论 -
CodeForces - 786B Legacy 【思维最短路 and 线段树优化建图】
传送门 题意: 有n个点, q次操作, 操作有三种: 1 u v w 表示u -> v 有有一条权值为w的边. 2 u l r w 表示 u 到 下标在[l, r] 的城市 有一条权值为w的边 3 u l r w 表示 下标在[l, r] 的城市 到 u 有一条权值为w的边 然后求给出起点s, 输出s到每一个点的最小花费. 不能到达输出-1.思路: 很明显直接暴力建边, 建的过...原创 2018-05-24 10:11:15 · 539 阅读 · 0 评论 -
CCCC 比赛题目集 L1 - 001 紧急救援 【最大点权和 + 打印路径和路径条数 + 最短路】 好题!!!
传送门 //题意: 给定一幅带权无向图, 每个点有点权, 给定起点和终点, 问起点到终点的最短路径的条数, 以及这些最短路径中经过的点权和最大的点是那些, 并输出这个最大点权和.// 思路: 首先分析我们要求的量, 保存一条点权和最大的最短路径信息, 要记pre数组, 记录路径条数ans数组, 最短路常规的dis, vis数组, 然后再要一个dp数组, dp[x] 表示到达点x所能获得的最大点原创 2018-03-06 17:35:04 · 549 阅读 · 0 评论 -
BZOJ 1001 狼抓兔子 【平面最小割转最短路】
传送门 这道题是很明显的平面最小割转最短路的题, 就是建图方法有很多种, 我写的是1 2 3 ….. 按行下去的, 死活过不了, 本地找AC代码对拍完全没问题, 然后我就被卡了一下午, 是在不行找题解复制了一个建图方法就过了…. 可以只是数字的不同这不会有影响吧? 总之这道题真的非常坑, 还要特判n == 1 || m == 1的情况, 最重要的还是思想, 可是我能看过来用这种算法做, 但是我每次原创 2018-03-04 15:02:42 · 326 阅读 · 0 评论 -
牛客交流赛1 D题 迷宫2 【思维 + 最短路 + 平面最小割转最短路思想】
传送门 // 题意: 一个n*m的矩阵, 每个格子上有一个数, 0 代表走道, -1为墙, 然后我们要选择一些格子把它变成墙 , 代价是该格子上的数, 使得从右上角出发不能到达左下角, 问代价最小是多少, 每次移动可以向8个方向移动. // 思路:这道题一看就是隔绝右上到左下的题, 很明显是个最小割问题, 然后因为点数比较多, 所以我们不能直接求最小割, 而是再利用平面最小割转最短路的思想. 思想原创 2018-03-04 12:35:36 · 360 阅读 · 0 评论 -
HDU 3416 Marriage Match IV【最短路 + 最大流】经典模型好题
传送门 题意: 给定一幅单向图(n, m), 起点和终点, 问起点到终点有所少条最短路径, 每条边只能做一遍. 思路: 如果没有只走一遍的限制, 那么就是个很简单的最短路了. 关键在于只能走一遍. 那么我们就想跑最短路吧图中有用的边先存下来, 重新建图, 让每条边的流量的为1, 然后跑s - t 的最大流就是ans. 有用的边为(假设dis1表示从s出发的最短路, dis2表示t出发的最短路.)原创 2018-02-13 17:04:39 · 362 阅读 · 0 评论 -
HDU 4370 0 or 1 【抽象最短路】
传送门 题意:给定一个c矩阵 , 找出一个01矩阵满足题意所给的那四个条件后问矩阵对应位置相乘再相加最小是多少.先膜一发出题人太猛了. 这里我只能讲讲我的理解. 思路: 这种题下手点在于那四个条件, 需要对离散有一定的学习 . 往图的度数矩阵方向去想就不是这么难理解了. 条件一: 简洁刻画了1的出度为1, 条件而:刻画了n的入度为1. 条件三:表示除去1,n其它所有点入度等于出度,原创 2018-02-13 16:47:46 · 331 阅读 · 0 评论 -
HDU 4725 The Shortest Path in Nya Graph 【最短路之建图难点】
传送门 题意: 有n个点, 他们分布在不同层, 我们可以从任意一个点在x层移动到另一个点再x+1层, 花费为层之间的花费c, 同理反向, 同时给出m条点之间的边, 然后问1-n的最短路是多少. 不可达输出-1.思路: 最原始的想法就是相邻层的所有点连边, 然后跑最短路即可. 但是数据范围有1e5个点, 假设只有两层, 每层4e5个点, 这样连边就是n^2了, 已经T了, 所以不行, 我们的关键应该原创 2018-02-13 16:28:50 · 268 阅读 · 0 评论 -
HDU 1839 Delay Constrained Maximum Capacity Path 【二分 + 最短路】
传送门 // 题意: 一个无向图(n, m),然后除了边权时间还有一个容量, 问从1 - n在不超过给定的一个时间内最多能运多少的矿物.// 思路: 我在上一篇博客中说过, 像这种求某边上的某个关键字最小最大问题一定是二分, 所以我们直接二分该ans, 然后跑最短路验证即可.AC Codeconst int maxn = 1e4+5;int cas=1;int cnt, head[maxn];原创 2018-01-29 13:26:22 · 267 阅读 · 0 评论 -
HDU 2962 Trucking 【二分 + 最短路】
传送门 // 题意: 给定(n, m)无向图, 每条路上面除了边权还有一个高度, 如果高度为-1那么说明这个无限高. 然后给定一个起点和终点和一个限制高度, 问从起点到终点不超过限制高度的最高高度是多少, 并输出在此高度下的最短路径是多少, 如果不能到达就输出”不能到达”. // 思路: 很明显的, 每条路上面除了一个边权值还有一个关键字是高度, 那么像这种要求每条边上的某个关键字最大或最小或多少原创 2018-01-29 13:21:11 · 284 阅读 · 0 评论 -
HDU 1599 find the mincost route 【最短路之最小环模板】
传送门 // 求一个至少有三个点的环的路径和最小.// 由于n很小, 那么我们直接跑floyd求环, 大部分都和floyd本身很像, 只是多了一步和一个原始数组, 不能根据原数组进行更新, 因为原数组不断更新后最后会变成可达阵的最优路径. 所以我们只能保存第一步的可以到达的情况, 也就是我们开用两个数组, 一个拿来更新各个点之间的最短路, 一个更新ans也就是路径和最小的环, 且环上的点>=3,原创 2018-01-17 10:49:04 · 382 阅读 · 0 评论 -
NYOJ 203 三国志 【最短路 + 01背包】
传送门 // 题意: 这道题和HDU 3339很类似, 就是每一个城市有一个价值, 每一个城市必须排一个人去才能获得该价值的珠宝, 这个人一个单位距离要消耗一个(石)粮食, 现在他手里有s(石)粮食, 问最多获得多少的珠宝. 所有人都从0号城市出发.// 思路: 很明显要走最短路, 其次是对于一个城市我们可以选择去或者不去, 那么就是经典的01背包问题了, 我们首先求出0到其他所有城市的最短...原创 2018-01-31 18:00:11 · 349 阅读 · 0 评论 -
HDU 2833 WuKong 【floyd最短路 + dp】
传送门 // 题意: 给定一幅无向图(n, m), 给定两对起点和终点, 问这两对起终点的最短路上最多可以重合多少个点. (也就是最多可以经过多少个相同的点), // 很明显的经过的相同点必是连续的, 我们设dp[i][j] 表示 i 到 j的最短路径上的点数, 然后我们怎么更新这个值了, 那就是我们在做floyd的时候, 当一条边可以被松弛的时候, dp[i][j] = dp[i][k] +原创 2018-01-31 17:13:37 · 331 阅读 · 0 评论 -
HDU 3631 Shortest Path 【floyd的深层理解】
传送门 // 题意: 给定一幅有向图, 有两种操作, 0 代表标记某点, 1 代表求两点的最短距离, 但是求的最短距离有一定的限制, 就是这两点的最短距离经过的点必须是被标记过的. 若不行, 则这两点就是不能到达.// 思路 : 很明显的是, 每次标记一个新的点时我们需要更新之前被标记过的点任意两点之间的最短距离, 那么folyd就是最好的办法, 我们想floyd的运行机制, 每次用一个点去判断是原创 2018-01-31 16:55:50 · 266 阅读 · 0 评论 -
HDU 4460 Friend Chains 【最短路(bfs优化)】
传送门 // 题意: 给定n个人的名字以及他们的m个关系, 任意两个人的距离为他们人数最少的关系链中-1, 然后问这幅图中最长的距离是多少.// 思路: 很明显是求任意两点之间的最短路最长是多少., 但是floyd(O(^3))会T. 跑n次优化的dij(O(n^2logn))也会T, 然后我们可以发现他们的边长都为1, 所以我们用bfs来跑最短路, 这样的复杂度只有O(n^2), 因为bfs跑最原创 2018-01-31 16:48:18 · 532 阅读 · 0 评论 -
HDU 4571 Travel in time 【最短路 + dfs记忆化||dp】好题!!!
传送门 // 题意: 给定一幅无向图(n, m), 每个点有个时间花和价值, 任意点之间也有路径花费, 你经过的每一个点你可以选择访问它, 消耗该点的时间花费, 然后得到它的价值. 给定起点和终点(必须经过但是可以不访问), 问可以得到的最大的价值是多少.// 思路: 很明显的每一个点我们可以选择访问或者不访问, 那么就是01背包问题, 也就是dp, 我用的dfs来实现的该dp过程. 但是一定要记原创 2018-01-30 23:10:03 · 320 阅读 · 0 评论 -
HDU 6166 Senior Pan 【二进制分组最短路 】 好题
传送门 //题意: n个点m条边的有向图, 给出询问的k个点, 问这k个点中最短路径是多少. //思路: 有个最明显的思路就是加一个超级源点S和超级汇点T, 然后连接询问的那些点, 然后跑一遍最短路即可, 问题就是万一同时连接到了一个点, 那怎么算最短路了, 我们可以知道这些点可以分为两个集合, 一个是起点集合, 一个是终点集合, 而我们的目的就是把正确的点放在相应的集合中, 这样答案一定就可原创 2017-11-30 00:31:20 · 681 阅读 · 0 评论 -
poj --- 1724 最短路变形 【Dij + 优先队列 】
传送门 //题意:要从1到N的最短路并且每一条路上有对应的花费要求,总花费不能大于给定的一个值K,输出最短路径的长度. //方法: 不仅要最短,还有花费限制,所以就想到用优先队列,来维护一个优先级关系,使得答案最优. AC代码:const int maxn = 1e4+5;int cas=1;int n,m,tt;int cnt, head[maxn/100];struct node原创 2017-06-22 17:03:10 · 521 阅读 · 0 评论 -
景驰无人驾驶 1024 编程邀请赛 A 题 【最短路 + 思维】
传送门 //题意: 就是n个点, 有些地下通道可以挡雨, 有些普通路面不能, 从1出发到n点, 问在保证总距离小于L的情况下, 淋雨的最小距离是多少. //思路: 我的做法是标记每条路它是地下通道还是普通路面, 然后直接跑最短路就是了(因为这样跑, 可以将所有可以到达终点的路径都可遍历一遍, 所以一定可以出一个最优结果), 然后为了区分一个淋雨距离和总距离, 需要用到两个数组分别进行标记, 总原创 2017-10-31 11:24:03 · 1182 阅读 · 0 评论 -
HDU 3832 Earth Hour 【最短路好题 + 思维】
传送门 // 题意 : 给定n(n>=3)个路灯的二维平面上的位置以及他们能照射到的范围r, 如果两个路灯照射的范围有重合的地方, 那么说明这两个路灯是相连的. 问现在最多可以关闭多少个路灯使得前三个路灯是联通的, 如果怎么都不能使前三个路灯相连就输出-1.// 思路: 那么我们首先n^2建图, 通过照射的范围来, 然后我们就把问题转化为在图中如何删去尽量多的点使得三个固定点依然联通, 我们就可以原创 2018-01-17 17:36:30 · 538 阅读 · 0 评论 -
Gym 101020H Weekend 【枚举最短路 】
传送门 // 题意 : 从1出发去n点, 其中指定了f个点, 表示一定要先去这f个点, 再能去n点, 问总和的最短距离是多少.// 思路: 那么我么可以想到的是肯定那f个点之间先相互到达然后在去1和n点的最短距离就行啦, 问题就是如何让这f个点之间的最短距离最优了 ? 当然如果我们知道了任意两点间的最短距离那枚举不就好了? 所以我们首先算出任意两点间的距离, 因为总的点数也比较少所以可以直接原创 2018-01-18 01:04:53 · 512 阅读 · 0 评论 -
HDU 1535 Invitation Cards 【反向建图最短路】
传送门 // 题意 : 给您一个(n, m) 的有向图, 问从1出发到达所有点的最小花费和所有点回到点1的最小花费和是多少.// 思路: 从点1到所有点的最短距离肯定是要跑一遍单源最短路的, 问题是如何算所有点回到点1的最小花费和了? 暴力是肯定不行的. 我们可以发现如果一条边它是不能回到点1的, 那么它的存在对答案就没有意义的, 也就是我们直接对原图进行反向建边, 原来正向的是不会影响答案原创 2018-01-18 10:10:36 · 337 阅读 · 0 评论 -
HDU 2377 Bus Pass 【bfs找最最短路】
传送门 // 题意: 给定一些城市之间的相邻关系, 然后给定一些必经城市, 让你选择一个中心点使得它到所有的必经城市的最远的距离最小. 输出这个距离和城市编号. 如果有多解请输出编号最小的那个.// 思路: 我们大致算一下点和边的个数, 发现我们可以直接对每一个必经城市进行bfs, 然后每访问到一个点就更新它的距离, 取max, 最后从小遍历下每一个点, 从中取最小的那个出来就行啦~AC Code原创 2018-01-29 13:00:55 · 358 阅读 · 0 评论 -
HDU 1385 Minimum Transport Cost 【最短路 + 最小字典序路径输出】
传送门 // 题意: 给定一个矩阵表示点与边的关系, 有向边, 并且每个点有税收, 起点和终点不收税. 然后给出一系列的询问, st 到 ed的最短路是多少, 并且要输出该路径, 特别注意就是如果有同样的答案的最短路, 输出字典序最小的那条. // 思路: 首先还是最短路, 那么注意几个问题, 一是在结构体中加string name, 不能单纯的以前面那个点来排, 因为有可能小的在前面, 所以我们原创 2018-01-26 16:42:32 · 362 阅读 · 0 评论 -
POJ --- 3463 or HDU 1688 Sightseeing 【次短路 + 最短路 + Dij】
POJ传送门 HDU传送门 //给定一幅图, 给出起点和终点, 问从起点到终点的路线中最短路和次短路的条数和是多少. 并且要求次短路之比最短路长1. //那么总的体系不变, 还是运用Dij, 只是记录时变成2维的, 第二维表示状态, 即是最短路还是次短路, 并且方案数在累加时也可以确定是从哪个状态转移过来的, 这也是二维的好处. 然后松弛条件分为四种情况. // 这是四种情况是只能存在一种原创 2017-09-05 15:15:14 · 420 阅读 · 0 评论