DP动态规划
Wuliwuliii
谁无暴风劲雨时,守得云开见日明!
展开
-
[APIO2014]序列分割【long long与long double的精度差异】
题目链接 这道题的数据是真的大,如果你的得分是88分,有可能就需要对精度做一个优化了! 首先,考虑一点:上下两式子相等。所以,不需要考虑划分的先后顺序问题,最后的值只跟点的位置有关。所以,dp方程就自己推了,我只是记录一下我错的那个点的问题:考虑到值可能很大,所以很容易想到的是开一个long double来进行维护,但是可能想象不到的是,我们对于原本是整数的,可能用long long先存下来会更好一些。 然后,在求斜率的过程中,我们将整数部分用long long 记...原创 2020-09-16 10:29:22 · 318 阅读 · 0 评论 -
Subsequences of Length Two【DP】
题目链接 有一个长度为N的串S,有一个长度为2的串T,现在可以对S串做K次改变,最后使得T串在S串中的子序列出现次数最多。 于是,涉及计数问题,就可以推一个DP来进行操作了,表示处理到第i个位置,有j个t[0]时候,改变次数为k时候的最大值,然后分类讨论t[0]和t[1]的情况(相等、不想等)就可以推完这个dp方程了。#include <iostream>#include <cstdio>#include <cmath>#include <s..原创 2020-09-05 16:08:50 · 357 阅读 · 0 评论 -
Bracket Sequences on Tree【哈希+随机数+树DP】
题目链接 HDU-6647 有一棵N个点构成的无根树,我们可以任选一点开始进行dfs跑,得到一个括号序,现在我们想知道跑完整个dfs,有多少种括号序? 于是,可以比较容易的想到,我们可以推一个dp方程来解出从一个点出发,得到的方案数,假设表示以u为子树的根节点时候的跑完下面子树的种类数,那么可以看到,其中,表示u的不同形态的子树的个数。 于是,我们可以根据这个式子来进行DP得到目前假设的根节点的值,然后再根据该式子可以进行换根DP得到剩下以每个点为根时候的答案值,当然,当以它为根时候的树跟...原创 2020-09-04 20:24:10 · 241 阅读 · 0 评论 -
[POI2013]LUK-Triumphal arch【树形DP+二分答案】
题目链接给一颗树,1号节点已经被染黑,其余是白的,两个人轮流操作,一开始B在1号节点,A选择k个点染黑,然后B走一步,如果B能走到A没染的节点则B胜,否则当A染完全部的点时,A胜。求能让A获胜的最小的k。 好像洛谷给的N数据范围是1e5级别的。 于是,如果直接查的话,好想不大好查,但是如果我们现在假设一个答案k,然后呢,我们判断这个k是否可以满足这个条件,这样的做法会更好一些。 当我们假设一个k的时候,就可以判断它的可行性了,如果现在B要往树的某个方向走,那么它肯定选择的是最优的策...原创 2020-08-26 21:48:06 · 176 阅读 · 0 评论 -
Omkar and Bed Wars【Codeforces Global Round 10 D】【DP】
题目链接 CF-1392D 有N个人围坐成一个环,每个人会打左边或者右边的那个人,如果只有某一边的人打他,那么他就会只打这一边(打回去),否则,他打哪一边都是可以的(但是一定要打),现在,为了是给出的长度为N的「L、R」串符合规则,问最小需要修改的次数。 于是,开始的时候想法是状压DP,我想,某个点i,它收到的影响只会跟前后两个点有关,但是因为我们的正向DP是不能考虑后继的影响,所以如果将状态压进来还是不好处理。 于是,我们不妨把状态拆出来,那么(作为一个伪环形DP),我们可以存档其中“第...原创 2020-08-17 20:30:49 · 213 阅读 · 0 评论 -
Colored Rectangles【CF1398 D】【DP】
题目链接CF-1398D Educational Codeforces Round 93 有三种颜色,R、G、B,我们要用他们来构成矩形的长和宽,要求是矩阵的长和宽不能是同一种颜色,也就是一个矩阵必须是两个不同颜色来构成的。并且每个颜色对应的值只能用一次。 于是,就有贪心策略,肯定是要让权值大的尽量和权值大的进行一个匹配,这样能保证权值大的被利用的效果最好。 于是,我们可以对每种颜色降序排序,但是现在就是该确定怎样匹配了,所以可以用一个的这样的一个三维dp来进行维护这个东西。那么很明显...原创 2020-08-15 15:59:10 · 206 阅读 · 0 评论 -
Fragrant numbers【DP打表】
题目链接题意:用无限长的“1145141919”经过加、乘、括号、直接组成数字这四类方法用最短的前缀组成规定的数字。 首先,用dfs爆搜来进行初步估算,可以看出答案不会超过11,或者用穷举答案来看,如果存在非“3、7”的“-1”项,说明答案错了,扩大来看就可以了。 于是,我们就可以推个dp来进行打表了,我们用表示,来表示区间中,是否可以组成权值k的答案,然后我们推这样的一个区间dp就可以了。打表程序:#include <iostream>#include <..原创 2020-08-06 21:05:45 · 318 阅读 · 0 评论 -
Car【HDU - 6778】【二分答案+状压DP】
题目链接 我们可以二分答案,然后再去判断它的可行性,可行性可以用dp来贪心判断,但是如果不经过预处理的直接爆搜,时间复杂度是显然,是有可能被卡的,所以我们对这部分预处理了一下,就可以卡过去了。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#include <algorithm>#incl.原创 2020-07-31 17:26:03 · 266 阅读 · 2 评论 -
In Search of Gold【二分答案+树DP】
题目链接 题意:给一棵N个点的树,每条边有Ai、Bi权值可以选,现在问的是选K条边作为A边,其余N-1-K条边为B边,求最短直径。 一开始的时候,想直接在树上做一个DP,但是写完之后发现不对劲,如果我们直接在树上写DP的话,由于他们的关系是相互制约的,所以确实不大好维护,因为这个dp要考虑从祖先节点的另外的方向的节点。 所以,我二分了一个答案,假定现在直径为,接下去维护点u为根的子树,当选择kk个A边的时候,此时的可行解中的最小链长是多少?只要使得1节点(也就是根节点)存在合法解就可以证明...原创 2020-07-26 11:07:18 · 535 阅读 · 0 评论 -
棋盘游戏【51nod 1327】【DP+组合数学】
题目链接 首先要先强调,排列A(0, 0) = 1,被这个卡了半天。 然后讲一讲关于这道题的思路,一开始想的方向是先完美匹配之后再去找增广路,但是发现一点增广路可以确定的是被替换,但是不能确定的是方案数,于是,肯定就该利用dp思想来解决该问题了。 开始想办法dp,首先,想到的是我们不能去用行来进行约束,因为行的话没有确切的约束条件,但是通过每一列最多放一个这则消息,我们可以试着从列来进行展开,我们假设表示到第i列时候,前面还有j个列是空的情况。 在输入中的"l, r"表示前l个和后r...原创 2020-06-12 10:46:49 · 1025 阅读 · 0 评论 -
旅游规划【换根dp求可能存在于树的直径上的点】
题目链接 题意:求N个点,序号从0~N-1的一棵树,求可能存在于树的直径上的点,并将他们的坐标升序输出。 可以先利用树形dp的方式求得树的直径,然后根据换根dp的方法,我们可以求得以每个点作为中心时候的最远到达的距离是多长,来判断是否可以构成树的直径。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>..原创 2020-05-30 11:56:57 · 347 阅读 · 0 评论 -
Decay of Signals【2020 年 “游族杯” D题】【树形dp】
题目链接 这题有一个规律的东西,就是我们实际上只需要看1、2的链,譬如说有一个大于2权值为k的点,如果它的周围有权值为1的点的话,那么我们实际上没有必要去选上k,只需要选1即可,因为若是选上权值为k的话,,那么需要使得要取的值为1的点的个数为x的情况下:,又有,所以必须存在一条存在点度大于2的链,显然,这是不现实的,所以我们只需要考虑1、2两个点就是了,0的时候答案自然为“0/1”,若是没有1、2和0那肯定就是每个点“minn/1”就是了。 所以,关于2,还是要特殊的,需要保证的是,2的两边的x..原创 2020-05-29 16:17:00 · 348 阅读 · 0 评论 -
[BOI2003]Gem 气垫车【贪心+DP】
题目链接 P4395 [BOI2003]Gem 气垫车 很容易让人往树上最大独立集的dp[maxN][2]这样的做法去想,但是实际上是有错的,很容易举反例。如果按照0、1分配最大独立集的做法去解决这个问题,很显然的就会变成偏大的结果17了,所以这里需要进行改善。按照这样的分配可以让他变成16:我们假设中间递增的点为1~x,再假设有如果存在则显然是有可能成立的。我们可以出于重心,根据点个数的贪心的方式来进行选择,...原创 2020-05-29 09:04:24 · 318 阅读 · 0 评论 -
骰子【概率dp】
题目链接 P1409 骰子 因为会有人被弹出队列,所以我设置的期望dp为,表示当现在队列中有i个人的时候,第j个人获胜的概率。 于是有当只剩一个人的时候,那个人必胜,。 再往下,先看它在队首的情况,也就是直接获胜的概率加上它被弹到队尾时候的概率。 其他的情况呢,也就是不在队首的时候呢,,表示的是如果第一个被弹出队列,或者第一个被弹到队尾时候,第j-1个获胜,也就是现在的j获胜,因为j的位置就变成了j-1。 于是,连立这两个方程组,可以得到的求解方式,因为这里i比较的不清晰,接下...原创 2020-05-26 10:22:20 · 322 阅读 · 0 评论 -
[NOI Online #3 入门组 T3]买表【二进制优化dp背包】
题目链接 很可惜的一点就是,我正赛的时候好像把a和k看反了,于是一直想不到如何做,打了个暴力分,现在想想,暴力分也错了,因为a和k真的很关键,使得最后300变成200分,人生第一场OI就这样草草结束——或许这就是OI选手的刺激所在吧(得亏我不打正式赛 题目中的k指的是面额,而a指的是数量! 于是,我们可以用二进制优化的思想,将原来1000个的数量,优化到10个,于是复杂度就变成了这样的复杂度,能恰到好处的把题卡过去,是真的卡过去的。数据较强。#include <iostream...原创 2020-05-26 08:55:21 · 413 阅读 · 2 评论 -
Nikitosh and xor【字典树+dp】
题目链接比较明显的,正向一个推过去的字典树,再反向退回来的一个字典树,然后异或和用差分的方式解决。 字典树一定是要从第29位开始往下的,千万别从第0位往上!#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#include <algorithm>#include <limits.原创 2020-05-12 16:39:56 · 359 阅读 · 0 评论 -
简单瞎搞题【bitset优化dp背包】
题目链接 一开始,我想法的出发点在于用总的去减去重叠的部分,那么就是求这样的{a, b}和{c, d}不相等的数量,但是这里要不断的冗斥,显然在时间复杂度上没有优势,并且还难写。 于是,再看,实际上答案的上限也就是,为什么呢?首先一个平方上限为“100 * 100”,然后最多有100个,所以就是了。 那么,我们似乎可以维护一下这个数中有哪几个数被选择了,于是我们只用知道被选择...原创 2020-05-06 09:24:52 · 613 阅读 · 0 评论 -
[POI2014]HOT-Hotels【长链剖分+树形DP推导过程】
题目链接给定一棵树,在树上选33个点,要求两两距离相等,求方案数。这个真的不好想,真的好难好难哎。首先,我们不妨看成固定两点求第三点这样的策略,使得计算答案变得略微方便处理一些。固定一个二维点对(x, y)表示:使得,x和y满足这样的条件:我们不妨设也就是,我们知道这样的(x, y)点对,去寻找可能的z点的。z点有一个性质,就是距离u点的距离为j。那么,我们需要...原创 2020-04-06 23:07:55 · 255 阅读 · 0 评论 -
调查任务【51nod 1815】【Tarjan+拓扑DP】
题目链接这道题细节上的处理是真的比较容易的忽略了。就譬如说,题目中说到的,从S到点x的一条路径上的两个点,这句话很关键。我们都很容易的想到应该取次大值,但是次大值首先是根据最大值决定的,那么也就代表了最大值必须也是这条路径上的,次大值也是这条路径上的,不能取一条边的最大值,再取另一条其他边的最大值,组成最大值和次大值这样的组合是不行的。那么,你继承最大值的时候,我们有时候会忽略一些...原创 2020-04-02 15:33:55 · 228 阅读 · 0 评论 -
Kefa and Park【树形DP】
题目链接 CodeForces - 580C 题意:一棵以1为根的树,树上有些点是红的。一个叶子是合法的当且仅当从根到它的路径上出现的连续红点个数不超过m。求有多少个叶子是合法的。 思路:直接推个树形DP即可,dp[u]表示以u这点为终点的最大连续,dis[u]用以维护从根结点到目前u点的链上的最大连续。#include <iostream>#include <...原创 2020-03-22 20:18:22 · 238 阅读 · 0 评论 -
[APIO2018] 铁人两项【圆方树+树形DP】
题目链接 BZOJ 5463 首先,这道题的关键就是在于走环与直接走之间的差别。 很容易发现的是,我们可以通过枚举中间点来进行考虑,如果把这道题放到树上去,也就是原图是一棵树的话,那么很容易就能列写出对应的树形DP,通过维护子结点的size,我们构造起点和终点的可能性。如此,能解决所有的圆点上的问题。 现在的问题,就在于原图中存在环的情况,有环可怎么办呢?譬如说,我们现在取到的中...原创 2020-03-22 14:06:27 · 280 阅读 · 0 评论 -
小C的独立集【仙人掌圆方树+树形DP 最大独立集】
题目链接 BZOJ 4316 很显然,题目让求的是一个仙人掌图的最大独立集,那么就是用圆方树来弄到树上去做比较的方便。 于是,我们的第一步就是用圆方树来使得原图变成一棵树,于是原来的非环上的点,便变得很好求了,简单的dp[maxN][2]表示这个点选还是不选,选为1,不选为0,这是基础的树形DP的操作了。 接下去呢,就是关于环上的点该如何是好?那么,很容易想到,我们拆出一个点,这...原创 2020-03-19 09:40:10 · 356 阅读 · 1 评论 -
cactus仙人掌图【仙人掌圆方树+树形DP+单调队列】
题目链接 BZOJ 1023 首先,圆方树是比较好想到的,维护直径,我们最方便的做法就是先让它变成一棵树,这里因为是仙人掌图,所以就用圆方树来构建。 再者,就是维护直径了,比较好想到的是非环上结点,就是简单的树形dp就可以维护了。 如果这个点是环上的一个点那又如何是好?那么,环上的两点所构成的最长直径为dp[u] + dp[v] + dis(u, v),"dp[x]"表示x点到它...原创 2020-03-18 13:44:27 · 474 阅读 · 0 评论 -
Rebuilding Roads【树形DP 背包】
题目链接 POJ-1947 题意:有一棵N个点的树,现在我们想要构成一棵大小为P的子树,问至少需要割多少条边,使得存在这样的子树。 很明显的,我们可以维护一个dp[i][j],表示以i结点为根结点,大小为j的子树,最少需要删除的边的数量。于是,答案就是根结点的dp[root][P]或者是其余结点的dp[i][P]+1,“+1”的目的是为了割点掉以i结点作为子树的根结点时候的于上面的结点...原创 2020-03-06 14:21:33 · 297 阅读 · 0 评论 -
The Lost House【树形DP+期望+构造路径】
题目链接 POJ-2057 题意:有一棵N的点的树,开始的时候蜗牛在1号结点,它不知道它的家在哪个叶子结点,树上的有些结点有虫虫,虫虫会告诉你,你的家是否在以它所在结点为根的子树上,现在需要你规划走的方案,使得找到哪个叶子结点才是家的所走路径的期望最小。 思路:这里的路径规划,必定是有迹可循的,譬如说,我们现在有两棵子树A、B;如果走A结点,而不是走B结点,说明的是先走A再走B的期望就...原创 2020-03-05 21:28:44 · 213 阅读 · 0 评论 -
Crazy Thairs【树状数组+高精度+DP思想】
题目链接 POJ-3378 题意:有N个点,问的是要求组成一个长度为5的上升子序列的组成有多少种?最搞事情的是这道题不用取模!(所以,是一定会爆long long的)。 首先,很容易想到一点就是我们可以开一个dp[maxN][5],表示的是“dp[i][j]当第i个作为这5层中的第j层的时候的组成可能性”。所以,很容易推导的一个dp方程就是 有了这个方程之后,问题就好办了,很容易...原创 2020-03-05 14:47:35 · 268 阅读 · 0 评论 -
Cut the Sequence 【单调队列(栈)+堆优化DP】
题目链接 POJ - 3017 超级好的一道题目,从早上先写一个诡异的线段树(当然是错的),逐步推到了单调栈和单调队列,历时很久很久——题记。 将我的解题思路慢慢的展开: 首先,为什么会想到线段树呢,因为这很容易化简成为一个区间dp的形式,就是 这个dp还是比较容易想到的,然后呢,看到这里有一个区间最小值,然后再来就是一个单点更新,以及一个不断放进去的很容易想到用线段树...原创 2020-03-04 21:19:57 · 391 阅读 · 0 评论 -
[HEOI2014]大工程【虚树+树形DP】
题目链接 还不错,就是理解题意的时候理解的久了一些。题目中的距离实际上是每两个点在原树上的距离,而新建的结点是不会影响的,所以总的距离和是原树上任意两点的距离之和;最短距离呢,实际上就是最短边权了;最长距离,实际上就是新构成虚树上树的直径了,当然得是有效点的。 所以,构建虚树,然后再进行一个树形DP就可以了。#include <iostream>#include &...原创 2020-02-17 15:52:29 · 188 阅读 · 0 评论 -
异或的路径【树形DP】
题目链接题目描述给一棵 n 个点的树,1 号节点为根,边有边权,令f(u,v) 表示 u 节点到 v 节点,路径上边权异或值。求 ∑i=1n∑j=1nf(i,j)\sum_{i=1}^{n}\sum_{j=1}^{n} f(i,j)∑i=1n∑j=1nf(i,j),结果对 1000000007 取模。输入描述:第一行一个整数 n(n≤100000)n(n \leq 1000...原创 2020-02-14 20:32:13 · 342 阅读 · 0 评论 -
Optimal Slots 【Gym - 102219E】【题意+DP】
Optimal SlotsGym - 102219E在这里,要单独把题意拉出来,因为题目中确实说的好隐蔽。给出一个T指的是周末的时间,周末只有两天,算成小时也就是只有48个小时,这是隐蔽一,第二个是N(N<=50)有N个可以用的时间长度,要使得所有使用的时间长度之和小于等于T且是最大的,问合计。并且,如果有多个答案的话,这题还不是spj(不然的话岂不是01背包板子题?)I...原创 2020-02-12 21:07:49 · 226 阅读 · 0 评论 -
J牛牛的宝可梦Go【弗洛伊德Floyd+DP+剪枝】【2020牛客寒假算法基础集训营3】
题面牛牛所在的W市是一个不太大的城市,城市有n个路口以及m条公路,这些双向连通的公路长度均为1。牛牛在玩宝可梦Go,众所周知呢,这个游戏需要到城市的各个地方去抓宝可梦,假设现在牛牛知道了接下来将会刷出k只宝可梦,他还知道每只宝可梦的刷新时刻、地点以及该宝可梦的战斗力,如果在宝可梦刷新时,牛牛恰好在那个路口,他就一定能够抓住那只宝可梦。由于游戏公司不想让有选择恐惧症的玩家为难,所以他们设计不...原创 2020-02-08 22:35:50 · 428 阅读 · 0 评论 -
Darth Vader and Tree【DP+矩阵快速幂】
题目链接我们再不考虑x大小的时候,我们可以直接:其中,len(j)是j这个长度的出现次数,也就是输入的。但是,我们知道,上式的i可能会很大,这里就得要想办法优化,由于这里的d≤100,我们可以在这里考虑优化。用矩阵维护吧,因为这里有矩阵的性质。那么,我们就可以去构造矩阵了,矩阵的大小是101 * 101。因为我们的长度是1~100,所以其中可能会用到...原创 2020-01-03 16:06:07 · 208 阅读 · 0 评论 -
Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths【Codeforces 741 D】【Dsu on Tree + 状压】
Codeforces Round #383 (Div. 1) D 着实难做! 首先,题意,题意不是一棵子树上任意构成!!! 题意: 问的是对应子树v,它上面的简单路径(链),所能构成的最长的回文长度。然后输出对应的1~N的所有以它为子树根结点的最长回文长度(不强制要求经过根结点)。 思路: 首先,我们考虑因为是可以打乱顺序的,所以,如果构成回文,要么有唯一一个符...原创 2019-12-30 22:27:34 · 735 阅读 · 0 评论 -
Hard problem【Codeforces 706 C】【DP】
Codeforces Round #367 (Div. 2) C 可以说是一道简单的DP了,但是一开始的时候没有看到写在外面的提示,是可以令它们相等的,也就是"a == a"也是认为是可行的。 然后就是一直WA 8,无解了大概一个小时了吧,想起来看看提示,然后…… 晕 可以DP,也可以用优先队列的Dijkstra或者是SPFA跑,都是可行的,想写的简单一点的话,就是用DP来写吧。...原创 2019-12-17 15:58:37 · 288 阅读 · 1 评论 -
Beautiful Mirrors【Codeforces 1265 E】【期望DP】
Codeforces Round #604 (Div. 2) E 题记——不是杭电今年份的原题嘛?为什么比赛的时候没想到这个方面呢?(当然题也读错了,尬……)杭电多校原题 然后再继续说一下这道题的特殊之处吧。(随便说说,典型问题,没有特殊之处)大概画了个图,应该就是可以的吧。#include <iostream>#include <cstdio&g...原创 2019-12-06 16:20:56 · 364 阅读 · 0 评论 -
Balls【HDU-3281】【DP】
HDU 3281 题意:有B个球,有总共M层楼,问的是我们怎样最小化最糟糕的扔球选择方式。我们得要从M层楼上一个一个的往下扔,存在某个楼层K,使得第K-1层掉下去的球不回碎,而第K层掉下去的球是会碎的。我们想知道最坏情况下的答案,测试几次才能确定这个K。 一开始想了个不断二分的过程,但是这样岂不是就用不到这里的球B了呢?所以肯定是不对的。 正解还是DP,看了博客才大致知道了这道题...原创 2019-12-05 10:42:55 · 144 阅读 · 0 评论 -
Economic Difficulties【DP】【Codeforces 1263 F】
Codeforces Round #603 (Div. 2) F题意 给你两棵树,结点分别是1~A与1~B,然后给了N台设备,并且A树和B树的叶子结点都是链接设备的。问的是,我们最多可以割几条边使得每个设备都能链接A树或者B树上任意的一个“1”号根结点即可。(最大割!?)思路 首先,它肯定不是单独的关系的,它们之间的关系是相关的,因为存在“分支点”这样的点,如果选了两个有最近分...原创 2019-11-30 11:09:50 · 1277 阅读 · 0 评论 -
[APIO/CTSC 2007]数据备份【WQS二分】
BZOJ 1150P 3620 看到网上有很多的题解是用链表加上贪心来做的,但是可以去联想“tree【WQS二分+MST】”这道题,可以发现,如果我们对所有的边去删除一个数,我们可以把这道题做成线形的。 我们可以去对所有的边(一共N-1条边)都删去一个数,然后我们可以去想办法去取其中的尽可能多的边,要保证取的边是负数的,然后去看最后的取到的边的个数与K的关系,然后就是一个二分答案的...原创 2019-11-11 23:18:57 · 222 阅读 · 0 评论 -
Daniel and Spring Cleaning【数位DP】【Codeforces 1245 F】
Codeforces Round #597 (Div. 2) F 这道题化简一下就是让我们求有上下限的2进制数中有几对满足每一位的相"&"值不为1的对数。 那么,首先看到这个1e9就会让人想到数位DP,然后接着就是如何去求的这样一个问题。 我们不如将上下限看作一个二维空间,那么就是这样的一张图: 我们现在想知道的是图中的矩形块的面积,也就是最后的答案。 那...原创 2019-11-06 19:58:21 · 206 阅读 · 0 评论 -
Vacations【Codeforces 699 C】【dp】
Codeforces Round #363 (Div. 2) C 有四种状态:gym不开,contest不开;gym不开,contest开;gym开,contest不开;gym开,contest开;然后我们可以选择休息一天,也可以选择打,但是如果昨天做了gym今天是不能做gym的,同理,昨天做了contest,今天也是不能打contest的。现在问的就是最少休息的天数是几...原创 2019-10-30 21:56:31 · 199 阅读 · 0 评论