02 2020 档案

摘要:H. Reporting on Mars 题意:给定n个数的数组,以及一个数k,每次操作可以把一个正数换成一个负数,把一个负数换成一个整数,问最少操作几次可以满足每个\(a[i]\rightarrow a[i+(k-1)]\)之间的数乘起来之后大于0 分析:序号相差k(下文我称他们为“同相位”)的数 阅读全文
posted @ 2020-02-27 23:25 swsyya 阅读(113) 评论(0) 推荐(0)
摘要:Martian Sunrise 题意:给你一个曲谱由音符组成 曲谱长度是n,有m行,每行有7个音符。一个演奏家可以演奏任意两行的所有音符。曲谱按顺序演奏,问你至少需要几个演奏家,可以把曲谱演奏完。 分析:状态压缩,把字符串化成数,用二进制的或与完成,具体见代码 AC_Code: 1 #include 阅读全文
posted @ 2020-02-27 11:41 swsyya 阅读(134) 评论(0) 推荐(0)
摘要:Sleep Buddies 算法:状态压缩, 把每一个集合都压缩成一个数字。 使用方法:把每个状态都进行1<<(x-1)压缩,这样的话我们可以保证,每个二进制上代表的那个数字是1就代表存在这个属性。 AC_Code 1 #include <bits/stdc++.h> 2 using namespa 阅读全文
posted @ 2020-02-26 16:34 swsyya 阅读(185) 评论(0) 推荐(0)
摘要:我们知道,任何一个正整数都可以被表示成一个二进制数。如: \[\left ( 8 \right )_{10} = \left ( 1000 \right )_{2}\] 那么定义一个函数 \[f=lowbit(x)\] 代表x的二进制表达式中最低位的1所对应的值 比如: \( lowbit(\lef 阅读全文
posted @ 2020-02-26 11:15 swsyya 阅读(186) 评论(0) 推荐(0)
摘要:什么是网络流? 在生活中,什么比较像图呢?答案一定不少吧,其中我想举的例子就是水管了。水管相互之间都是连通的,会构成一张图。从供水的一端出发,水必然沿一个固定的方向流向最终的汇聚点,也就是有向图。同时,在条件的限制下,水管有粗有细,不同的水管单位时间内的流水量限制是不同的,可以看做是带权图。运输货物 阅读全文
posted @ 2020-02-25 11:34 swsyya 阅读(507) 评论(0) 推荐(0)
摘要:Sereja and Swaps AC_Code: 1 //枚举区间,o(n^2),然后将区间内最小的数逐个和区间外面最大的数交换 2 #include <bits/stdc++.h> 3 using namespace std; 4 typedef long long ll; 5 const in 阅读全文
posted @ 2020-02-25 10:33 swsyya 阅读(181) 评论(0) 推荐(0)
摘要:multiset:允许容器内有重复的元素 set:不允许有重复元素 阅读全文
posted @ 2020-02-25 10:14 swsyya 阅读(206) 评论(0) 推荐(0)
摘要:定义 欧拉路径: 经过图中每一条边恰好一次的路径 欧拉回路: 起点和终点是同一个点的欧拉路径 欧拉图: 有欧拉回路的图 半欧拉图: 有欧拉路径的图 判断 怎么判断一张图有没有欧拉路径或欧拉回路呢? 有向图 如果图中所有的点的入度都等于出度并且这张图的基图联通,那么就存在欧拉回路。 简单感性的证明:因 阅读全文
posted @ 2020-02-25 09:04 swsyya 阅读(268) 评论(0) 推荐(0)
摘要:求\(\sum_{i=1}^N \lfloor \frac Ni \rfloor\) ,\(N \leq 10^{12}\) 显然不能直接做, 数论性质: $ 1. \large \lfloor \frac Ni \rfloor$最多只有\(2\sqrt{N}\)种取值 证明:对于\(i\le \s 阅读全文
posted @ 2020-02-24 20:24 swsyya 阅读(143) 评论(0) 推荐(0)
摘要:蓝魔法师 分析:sz保存包括自身的所有子孙总节点数(为了求连通块的大小做准备) dp[i][j]表示只考虑根为i的子树,包含节点i的联通块大小为j的方案个数 dp[i][0]表示dp[i][1]+...+dp[i][k] 一棵子树根节点为u的连通块(包括u)对于它的一个子节点v,当u访问到v时,假设 阅读全文
posted @ 2020-02-24 18:28 swsyya 阅读(230) 评论(0) 推荐(0)
摘要:选点 分析:对于一颗树选出得点的权值的关系为:根节点 < 右子树 < 左子树。所以我们可以按照根节点、右子树、左子树进行 dfs 遍历,然后按照这个 dfs 序求 LIS 即为答案。用二分优化求LIS AC_Code 1 #include <iostream> 2 #include <bits/st 阅读全文
posted @ 2020-02-24 10:09 swsyya 阅读(309) 评论(0) 推荐(0)
摘要:F. Tree with Maximum Cost 学习博客:https://blog.csdn.net/LJD201724114126/article/details/85240762?utm_source=app 题解:换根 我们先设sum[u] 等于 以u为根的子树的∑ai (注意没有*距离) 阅读全文
posted @ 2020-02-22 16:04 swsyya 阅读(263) 评论(0) 推荐(0)
摘要:F - Dragon Ball I 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=5e5+10; 5 const ll inf=0x3f3f3f3f3f3f3f3f 阅读全文
posted @ 2020-02-22 10:13 swsyya 阅读(226) 评论(0) 推荐(0)
摘要:AC_Code 1 #include <iostream> 2 #include <cstdio> 3 #include <vector> 4 #include <cstring> 5 #include <algorithm> 6 using namespace std; 7 typedef lon 阅读全文
posted @ 2020-02-21 22:57 swsyya 阅读(111) 评论(0) 推荐(0)
摘要:简易版第k大(权值线段树) 比较简单的权值线段树模板题,主要用来学一下动态开点 一般权值线段树模板AC_Code 1 include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 1 阅读全文
posted @ 2020-02-20 17:55 swsyya 阅读(453) 评论(2) 推荐(0)
摘要:题意:有一个长度为m的计数数组a,初始均为0,并给定前n个操作x表示让a[x]加1. 现在还有一些操作,一个操作是在a[1~m]中找一个a[p]值最小的位置p(有多个则取最小的满足条件的p)使得a[p]加1,现在有q个询问,问第k次操作时的p. 首先考虑把前n次操作后的a数组按照a[i]的值从小到大 阅读全文
posted @ 2020-02-20 11:25 swsyya 阅读(307) 评论(0) 推荐(0)
摘要:Petya and Array 题意:给你n个数,问有多少个区间的和的值小于t 分析:区间和问题,常常用到前缀和来进行预处理,所以先预处理出前缀和数组sum sum[i]代表前i个数的和,那么sum[i]的贡献就是, 当i<k<=n时,存在多少个k,使sum[k]<t+sum[i],也就是求在[i+ 阅读全文
posted @ 2020-02-20 11:05 swsyya 阅读(157) 评论(0) 推荐(0)
摘要:题意:Pavel 将要举行一个聚会,他想确切地邀请k个人参加。他有n个朋友,并且他已经决定按什么顺序打电话和邀请他们,每个朋友会回复他两个值 l 和 r,代表如果Pavel准备邀请的人数在[ l, r ] 之间他就会参加。Pavel一旦集合了所需的人数,就会立刻开启聚会,不会给其余的朋友打电话。询问 阅读全文
posted @ 2020-02-20 10:56 swsyya 阅读(164) 评论(0) 推荐(0)
摘要:AC_Code 1 //权值线段树: 2 //区间的值是这段值域里的个数的线段树 3 //叶子结点的值 是这个数在序列里出现的次数 4 //能够比较容易实现平衡树的一系列操作 5 //权值线段树就是把线段树的每个点权权值线段树就是把线段树的每个点权,赋予一定的含义,比如数字出现的次数,数值前缀出现的 阅读全文
posted @ 2020-02-20 10:41 swsyya 阅读(211) 评论(0) 推荐(0)
摘要:AC_Code 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 1e5+5; 5 const int inf=0x3f3f3f3f; 6 #define rep( 阅读全文
posted @ 2020-02-20 10:19 swsyya 阅读(247) 评论(0) 推荐(0)
摘要:分析:我们可以逆向考虑(因为正向的话由于第一位的逆序对数一定是0,算不出什么),对于第i个数,它使逆序对的数量增加了temp=num[i]-num[i-1],即区间【1,i-1】内比这个数大的有temp个,即它在i个数中从小到大排在(i-temp)个,那么找到这个数即可。 对于答案序列来讲,他是一个 阅读全文
posted @ 2020-02-17 23:35 swsyya 阅读(235) 评论(0) 推荐(0)
摘要:参考博客:https://www.luogu.org/blog/ybwowen/dan-diao-dui-lie 单调队列这个名字就指明了它的性质——单调性,是一个单调的双端队列 下面列出deque的常用成员函数:来自:https://blog.csdn.net/morewindows/articl 阅读全文
posted @ 2020-02-17 11:11 swsyya 阅读(238) 评论(0) 推荐(0)
摘要:托米的咒语(序列自动机) AC_Code 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 3e3+10; 5 const int inf=0x3f3f3f3f; 阅读全文
posted @ 2020-02-16 16:53 swsyya 阅读(173) 评论(0) 推荐(0)
摘要:月月查华华的手机(序列自动机) AC_Code 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 1e6+10; 5 const int inf=0x3f3f3f3 阅读全文
posted @ 2020-02-16 16:51 swsyya 阅读(155) 评论(0) 推荐(0)
摘要:序列:不要求连续 子串:要求连续 AC自动机,kmp都是匹配子串的;序列自动机是匹配序列的 参考博客:https://www.cnblogs.com/31415926535x/p/10504504.html 序列自动机实质还是用空间换时间,它有一个数组 nxt[i][j](nxt[maxn][26] 阅读全文
posted @ 2020-02-16 16:38 swsyya 阅读(240) 评论(0) 推荐(0)
摘要:引用博客:https://www.cnblogs.com/dalt/p/8324781.html 我们经常会遇到这样的问题:我们需要维护一个数据结构,我们可以修改单一结点的值,查询单一结点的值,但是最关键的是我们可能还需要回退之前做过的某些操作。这里回退是指回到未做这些操作之前的状态。 在无回退操作 阅读全文
posted @ 2020-02-14 16:19 swsyya 阅读(169) 评论(0) 推荐(0)
摘要:Chip Factory AC_Code: 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 #include <cmath> 5 #include <algorithm> 6 using namespace std; 阅读全文
posted @ 2020-02-13 22:49 swsyya 阅读(112) 评论(0) 推荐(0)
摘要:参考博客:https://blog.csdn.net/weixin_43847416/article/details/95048031 https://blog.csdn.net/qq_41292370/article/details/90680145 01字典树主要用于解决求异或最值的问题。01字 阅读全文
posted @ 2020-02-13 21:18 swsyya 阅读(361) 评论(0) 推荐(0)
摘要:如图为一颗字典树,该树插入了7个单词,abc,abcd,b,bcd,efg,hij 字典树模板: 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int maxn=2e6+5; // Trie 树上的最大结点数 4 5 int to 阅读全文
posted @ 2020-02-13 20:38 swsyya 阅读(132) 评论(0) 推荐(0)
摘要:题目描述 Noname老师有一个班的学生名字要写,但是他太懒了,想少写几个字母。很快他发现这是可行的,例如下面的学生名单: Davidson Davis Dixon Smith 可以缩写为 David Davis Di S David 指明Davidson外,不可能是其他三位同学名字的前缀。S仅能代 阅读全文
posted @ 2020-02-13 18:09 swsyya 阅读(847) 评论(0) 推荐(0)
摘要:Graham算法模板 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 using namespace std; 7 typedef l 阅读全文
posted @ 2020-02-12 11:17 swsyya 阅读(216) 评论(0) 推荐(0)
摘要:http://codeup.cn/problem.php?id=22110 AC_Code 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=105; 5 int n, 阅读全文
posted @ 2020-02-11 11:03 swsyya 阅读(224) 评论(0) 推荐(0)
摘要:输出"魔方阵"。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2要求输出1~n*n的自然数构成的魔方阵。 解:魔方阵中各数的排列规律如下: (1)将1放在第1行的中间一列。 (2)从2开始直到n×n止各数依次按下列规则存放:每一个 阅读全文
posted @ 2020-02-11 10:16 swsyya 阅读(790) 评论(0) 推荐(0)
摘要:K Integers 参考博客:https://blog.csdn.net/Q755100802/article/details/103664555 【题意】 给定一个1到n的排列,可以交换相邻的两个元素。 现在定义一个函数f(x),表示在原排列中,通过交换操作,形成一个1,2,3....x的排列的 阅读全文
posted @ 2020-02-10 11:08 swsyya 阅读(189) 评论(0) 推荐(0)
摘要:P1908 逆序对 离散化+树状数组:AC_Code 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=500010; 5 6 int a[maxn],tree[max 阅读全文
posted @ 2020-02-09 19:56 swsyya 阅读(132) 评论(0) 推荐(0)
摘要:Mayor's posters(线段树+离散化+lazy) 题目大意:在墙上贴海报,然后很多海报,一层又一层,问你最后可以看到多少张海报。 题目分析:数据范围很大,普通的线段树肯定超时+超内存,所以要用到离散化,离散化有基础的和稍微复杂一点的,然后这题要用到稍微复杂一点的,离散化简单的来说就是只取我 阅读全文
posted @ 2020-02-08 08:58 swsyya 阅读(182) 评论(0) 推荐(0)
摘要:GCD 题意:给出一个数列 ,m次询问,每次询问 l,r区间内的gcd值 和 与该区间gcd值相同的区间有多少个 思路: 枚举每一个左端点,找每个左端点对应的所有gcd值区间,预处理出来,由于gcd值呈阶梯下降,所以完全可以处理,此时顺便用map统计区间个数 一开始考虑的是用线段树取gcd值,在加上 阅读全文
posted @ 2020-02-07 16:47 swsyya 阅读(252) 评论(0) 推荐(0)
摘要:Codeforces Round #609 (Div. 2)--D. Domino for Young 思路:用黑白相间的棋盘来给他染色( 参照国际象棋棋盘 ), 一个棋子一定是落在一个白色和一个黑色棋点上的,所以统计黑色块和白色块的最小值 AC_Code 1 #include <bits/stdc 阅读全文
posted @ 2020-02-07 15:12 swsyya 阅读(215) 评论(0) 推荐(0)
摘要:双色相邻染色法(国际象棋棋盘染色法) 原论文地址:http://www.doc88.com/p-1438088100243.html 这个染色法的基本构图如图 正如它的名字所言,是分析问题的奇偶本质。我们可以发现这种染色法得到的一个质。我们可以发现这种染色法得到的一个图像有以下几个特点: (1)这张 阅读全文
posted @ 2020-02-07 15:11 swsyya 阅读(1517) 评论(0) 推荐(0)
摘要:一: 区间问题:什么时候用线段树,什么时候用ST 如果需要动态维护,需要添加或者删除,那么就必须用到线段树,线段树的单次查询时间为O(logn),如果查询量大还是很浪费时间。 在不需要动态维护的时候,ST算法的查询速度可以到达O(1) 二: 【什么样的问题适合ST算法】例如,RMQ问题和RGQ问题适 阅读全文
posted @ 2020-02-07 12:56 swsyya 阅读(148) 评论(0) 推荐(0)
摘要:【在线算法】所谓在线算法就是说,每次请求及时处理,处理完之后,直接返回,然后等待处理下一次请求。所以一般在线算法有个预处理过程,预处理数据之后,能够更快速的处理每次请求的结果,但是会有一个相对长一点的预处理过程。(e.g.ST算法) 【离线算法】所谓离线算法只是在来了非常多的请求之后,一次性处理多个 阅读全文
posted @ 2020-02-07 12:39 swsyya 阅读(843) 评论(0) 推荐(0)
摘要:Cooking Time 题意: 有n种调料放在冰箱,你最多能把k种调料放外面,你每次打开冰箱,可以拿出一种调料,同时也可以放回去一种调料,也可以不放回。 每组输入案例第一行为n,k,第二行为n种调料的编号(从1到1e9),需要调料的顺序是输入的循序,输出是最少要打开多少次。 对于知道使用情况的置换 阅读全文
posted @ 2020-02-06 17:14 swsyya 阅读(304) 评论(0) 推荐(0)
摘要:Long Beautiful Integer 思路: 对于n位数来说,全为9一定是beautiful的,所以结果的m一定是等于n的。因为要求第i位于第i+k位相等,所以数的值实际上是取决于前k位的,因为需要大于等于原字符串,所以可以直接取原字符串的前k位,构造出新的字符串b,如果b>=a,就可以直接 阅读全文
posted @ 2020-02-06 16:09 swsyya 阅读(141) 评论(0) 推荐(0)
摘要:Modulo Equality 关键:a数组中的数变换后与b数组中的数唯一对应 AC_Code 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=2010; 5 con 阅读全文
posted @ 2020-02-06 15:44 swsyya 阅读(150) 评论(0) 推荐(0)
摘要:J - One of Each AC_Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 #include <algorithm> 6 #include <ctime> 7 阅读全文
posted @ 2020-02-06 15:23 swsyya 阅读(170) 评论(0) 推荐(0)
摘要:Super Subarray 一个数能被几个数整除,则能被它们的最小公倍数整除 1 #include <iostream> 2 #include <bits/stdc++.h> 3 using namespace std; 4 typedef long long ll; 5 const int ma 阅读全文
posted @ 2020-02-05 18:16 swsyya 阅读(165) 评论(0) 推荐(0)
摘要:Convoy 二分基本题目 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstring> 5 #include <cmath> 6 #include <queue> 7 #include <st 阅读全文
posted @ 2020-02-04 16:37 swsyya 阅读(180) 评论(0) 推荐(1)
摘要:Farming Mars 预处理优化 AC_Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstring> 5 #include <cmath> 6 #include <queue> 7 阅读全文
posted @ 2020-02-04 16:10 swsyya 阅读(221) 评论(0) 推荐(0)
摘要:吉哥系列故事——恨7不成妻:参考博客 乍一看好像是道数位dp;然而要求的是平方和。在暂时没有其他思路的情况下——能不能用数位dp做平方和? 数位dp在搜索的时候是这么个样子的:比如说abcdefghi 现在搜到:9982|e|fghi 那么现在确定了前面的9982,当前这一位和之后的 fghi 都不 阅读全文
posted @ 2020-02-04 15:50 swsyya 阅读(370) 评论(0) 推荐(0)
摘要:Wall 题目大意:给定n个点和一个距离L,要求围墙距离任意点的距离大于等于L,求出最小围墙长度。 最短的周长 = 凸包的周长 + 半径为L的圆的周长(顶点处加起来刚好为圆) 1 #include <cstdio> 2 #include <cstring> 3 #include <string> 4 阅读全文
posted @ 2020-02-03 19:26 swsyya 阅读(405) 评论(0) 推荐(0)
摘要:学堂在线课程《计算几何》 模板: Jarvis March算法算法的复杂度更准确的表示为O(nh)。h又由最终输出结果,即凸包本身来决定,输出结果决定了构造过程的复杂度,这就是所谓的“输出敏感性”。这种类型的算法又被称为output sensitive algorithm。这种特性在其它凸包算法中也 阅读全文
posted @ 2020-02-03 19:18 swsyya 阅读(585) 评论(0) 推荐(0)
摘要:stringstream 的用法就见代码吧: 1 ///string 转 int 2 int main() 3 { 4 string a="10"; 5 stringstream ss; 6 int n; 7 ss<<a; 8 ss>>n; 9 n+=5; 10 printf("%d\n",n); 阅读全文
posted @ 2020-02-03 12:11 swsyya 阅读(147) 评论(0) 推荐(0)
摘要:Halloween Costumes 基础区间dp AC_Code 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int maxn = 110; 5 int dp[maxn][max 阅读全文
posted @ 2020-02-02 18:22 swsyya 阅读(201) 评论(0) 推荐(0)
摘要:思路: 可以发现朴素的区间dp已经不足以解决这个问题了。对于石子合并问题,有一个最好的算法,那就是GarsiaWachs算法。时间复杂度为O(n^2)。 设序列是stone[maxn],从左往右,找到一个最小的且满足stone[k-1] <= stone[k+1]的k,找到后合并stone[k]和s 阅读全文
posted @ 2020-02-02 15:38 swsyya 阅读(360) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2020-02-02 12:24 swsyya 阅读(0) 评论(0) 推荐(0)
摘要:这道题是不可以用贪心的:因为每次要求合并相邻的两堆,不能保证每次合并的都是最多的,或是最少的 有一道题是链式的:石子归并 加上环怎么办? 断环为链:将长度为n的链复制一份接在后面,环的情况就是长度为2n的链中任意连续的长度为n的链。 注意平行四边形只能用于min,这道题要求的max是不能用平行四边形 阅读全文
posted @ 2020-02-02 11:04 swsyya 阅读(142) 评论(0) 推荐(0)
摘要:【思路】 我们 dp[i][j] 来表示合并第 i 堆到第 j 堆石子的最小代价。 那么状态转移方程为 dp[i][j] = min ( dp[i][j],dp[i][k]+dp[k+1][j]+w[i][j]); 其中, w[i][j] 表示把两部分合并起来的代价,即从第 i 堆到第 j 堆石子个 阅读全文
posted @ 2020-02-02 10:45 swsyya 阅读(293) 评论(0) 推荐(0)
摘要:AC_Code 1 #include <bits/stdc++.h> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 #include <cmath> 6 #include <queue> 7 #include <stac 阅读全文
posted @ 2020-02-02 10:03 swsyya 阅读(193) 评论(0) 推荐(0)
摘要:给出伪代码:(可以看出时间复杂度为O(n^3)) 1 for(int len=1;len<=n;len++){///len为区间长度 2 for(int l=1;l<=n-len+1;l++){ 3 int r=l+len-1; 4 for(int k=l;k<r;k++){ 5 m[l][r]=m 阅读全文
posted @ 2020-02-01 23:48 swsyya 阅读(418) 评论(0) 推荐(1)
摘要:AC_Code: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 #include <cmath> 6 #include <queue> 7 #include <stack> 8 阅读全文
posted @ 2020-02-01 20:32 swsyya 阅读(155) 评论(0) 推荐(0)
摘要:引用博客 【引入】 首先我们要清楚数位dp解决的是什么问题: 求出在给定区间 [A,B] 内,符合条件 f(i) 的数 i 的个数。条件 f(i) 一般与数的大小无关,而与数的组成有关 由于数是按位dp,数的大小对复杂度的影响很小 【设计搜索】 这里我们使用记忆化搜索实现数位dp。本质上记搜其实就是 阅读全文
posted @ 2020-02-01 18:51 swsyya 阅读(269) 评论(0) 推荐(0)
摘要:Wormhole 注意精度,不要用long long 输出,用%.0f输出 AC_Code 1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #include <cstring> 5 #include <string> 6 阅读全文
posted @ 2020-02-01 11:31 swsyya 阅读(279) 评论(0) 推荐(0)

回到顶部