自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

binarycopycode

人百我一,人万我十,舒服了

  • 博客(823)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Hello world

来自HN.长沙市一中 高一 (from 2014) 因为GB是无上的力量,所以就叫这个名字了 小学和初中时候就接触过OI但一直没认真学,看着现在某礼某郡等同省竞赛强校的神犇们初中省队,初中金牌什么的,很后悔啊… 然而还是比较颓,我也没有同机房的神犇们聪明,马上就要滚粗辣 参加了NOIP2014 当时学了一些算法但考得很差,与TBTB等同校神犇形成鲜明对比(可以去她的博客园看看) 有些东西写

2015-07-01 22:20:12 1150 6

原创 codeforces1439B Graph Subset Problem

https://codeforces.com/contest/1439/problem/Bunordered_map,set都过不了,学习了jiangly的代码写了binary_search(e[x].begin(),e[x].end(),y)就过了,离谱首先要有解那么就必须k*(k-1)<=2m,否则度数凑不出来大小为k的团,更凑不出每个点都>=k的子集然后不停得把那些du<k的删去,如果要删掉一个du为k-1的,那么直接把他连向的点全拿出来看是不是一个团,用二分去找两两之间

2020-11-18 21:51:29 94

原创 codeforces1439A2. Binary Table (Hard Version)

https://codeforces.com/contest/1439/problem/A2上来两构造题,直接痛苦面具,还好过的不是很慢。。。从上往下搞,从左向右搞,只要当前为1,不管右边和下面是什么,直接把他变成0然后考虑最下面两行,从左到右枚举列,不管右边是什么,当前是1,就选当前和右边两个然后对于右下角的2*2格子,有4个,就先选3个,再搞剩下一个,由A1知道,对于任意一个1,我们可以用3次操作,实现不改变其他格子,把他变0了,有3个,就直接选了,有2个,就选2个再选1个0,再把多

2020-11-18 01:19:52 1295 4

原创 gym102823A. Array Merge 2018CCPC桂林

https://codeforces.com/gym/102823/problem/A思维题还是太弱了。。。感觉思维短时间练不出效果,只能看看能不能积少成多首先如果随便拿的话,那么肯定是大的放前面小的放后面然而直接找着归并排序放的话显然就错了,因为可能a[1]很小,但是a[2]巨大无比,然而一直被a[1]卡着出不来所以我们要想个办法让a[1]和a[2]在一起考虑,于是可以把他们合并起来取平均值也就是把a,b数组从前到后合并,每次新增一块,考虑末尾两块的合并,如果当前新增的块比末尾块的平均

2020-11-17 22:27:06 60

原创 AtCoder Grand Contest 005 D - K Perm Counting

AtCoder Grand Contest 005 D - ~K Perm Countinghttps://atcoder.jp/contests/agc005/tasks/agc005_d首先想到如何去容斥,假设任意钦定i个非法点的选择方案是dp[i]那么 ans=∑i=0n(−1)n∗dp[i]∗fac[i]\sum_{i=0}^{n}(-1)^n*dp[i]*fac[i]∑i=0n​(−1)n∗dp[i]∗fac[i]然后我们考虑如何去求出这个dp[i]我们可以通过列出二分图来分析,第i个点

2020-11-16 22:09:19 29

原创 AtCoder Grand Contest 005 C - Tree Restoring

https://atcoder.jp/contests/agc005/tasks/agc005_c感觉这题去年某场cf E题好像见过啊到最远的通过树的直径的求法可以知道每个点到最远点一定会使某条树的直径的端点那么最大值首先一定要有两个,然后我们把这条直径链全构造出来如果构造不满一条直径,就无解,如果最远点距离小于直径的一半就无解,然后注意样例中提醒了我们直径中间的点也就是最小的最大距离数量是确定的,不可以接上某个点成一个分叉,必须只能是直径上的点#include<bits/std

2020-11-16 19:27:57 20

原创 codeforces1446 C. Xor Tree

https://codeforces.com/contest/1446/problem/C去年暑假多校补了两道稳定婚姻关系,今天把这题做成图论题自闭了两小时看了牛逼网友十多分钟写完的代码,我真是草了感觉又要回绿重造经典再现了直接考虑吧所有数字按位插入字典树,然后考虑dfs,如果字典树中某一棵子树中有两个点,那么由于这棵子树向上位都是相同的,那么这棵子树内部的点一定是两两匹配最小的接下来我们考虑如何贪心得到最多的点我们考虑如何计算字典树上没有个点的值,如果他左右两棵子树都有点,而且已经计算

2020-11-16 02:09:05 91

原创 AtCoder Beginner Contest 183 F - Confluence

https://atcoder.jp/contests/abc183/tasks/abc183_f裸的启发式合并对每个连通块维护个map表示存在哪些班级的几个人就行了#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl=3e5+10;int n,m,cnt,tot,cas,ans;int a[maxl],c[maxl],f[maxl],sz[maxl];map&l

2020-11-15 21:45:50 43

原创 AtCoder Grand Contest 049 B - Flip Digits

https://atcoder.jp/contests/agc049/tasks/agc049_b这题比A题水一些= =期望太难了观察发现11可以变成00,01可以变成10那么1只能够两两消除,或者向左移动了所以吧S中所有1的位置丢进队列然后从左到右枚举T,如果当前位是0,然后S中这里又有个1,那么这个1只能被消掉,那么把队列首两个1消除就行了如果当前是1,那么就从队首拿个1移动到这里#include<bits/stdc++.h>using namespace s

2020-11-14 23:47:53 59

原创 AtCoder Grand Contest 049 A - Erasing Vertices

https://atcoder.jp/contests/agc049/tasks/agc049_a概率期望构造一生之敌对于每个点的贡献,就是所有能到达他的点都不能在他之前选,他就能贡献1那么每个点能+1的贡献就是(1/所有能到他的点数)其实我现在还不是很能理解这个东西的正确性,hwh总是告诉我期望有很良好自然的性质我总想不明白,我对期望的理解还停留在所有方案的总和除以方案总数,所以只能做威海C那种题,再期望一点的题过得了也想不明白#include<bits/stdc++.h&gt

2020-11-14 23:40:31 48

原创 codeforces1438D Powerful Ksenia

https://codeforces.com/contest/1438/problem/D奇数一定可以构造出来1 2 3 ,3 4 5 ,5 6 7这样,最后就是a[1]=a[2],a[3]=a[4],....a[n-4]=a[n-3],a[n-2]=a[n-1]=a[n],这样的形式,然后再选择1 2 n,3 4 n,那么相等的就会抵消掉,a[1]-a[n]都等于a[n]偶数情况也是除了最后一位像奇数一样构造然后看a[1]....a[n-1]是否也等于a[n], 如果也相等,也就是说原来的

2020-11-14 23:32:38 18

原创 codeforces1438C Engineer Artem

https://codeforces.com/contest/1438/problem/C构造题一生之敌一条斜线奇数,一条斜线偶数,相邻的一定就不一样了#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl=210;int n,m,cnt,tot,cas,ans;int a[maxl][maxl],b[maxl][maxl];inline void prework

2020-11-14 23:20:47 18

原创 gym102798C Rencontre 2020CCPC威海

https://codeforces.com/gym/102798/problem/C比赛的时候枚举3个点的中心点然后嗯算方案数,写了100多行的dfs计数。。。然后wa 3然而这题只要想到,3个点到中心点的最小距离,要么一条链在中间点上,要么在3叉路口上,这两种情况都可以拆成从a-b,b-c,a-c的路径之和/2然后这个问题就转换成了3组独立问题,每组就是两个人任选2个点之间的期望距离之和那么就直接dfs下去算每条边的贡献就行了,每条边的贡献就是连接的两端连通块中a,b的数量乘起来,a*b

2020-11-13 00:49:35 92 1

原创 agc004_d Teleporter

https://atcoder.jp/contests/agc004/tasks/agc004_d观察整个图只有n个点n条有向边,且每个点一开始都能到1,说明除了1的出边,吧所有边反过来就是一棵1为根的树然后要让每个点走K>=1步恰好到1,那么显然1的出边必须到他自己接下来就是对于这棵树来说,我们要把高度限制在K一下,要把多少个点的父边连向1。考虑对于一个dep最深的点来说,要让他高度<=k,那么就把他从下向上走k-1步的祖先节点给连向1就行了,因为越向上,可能能解决深度超过K的

2020-11-12 00:35:32 19

原创 agc004_c AND Grid

https://atcoder.jp/contests/agc004/tasks/agc004_c经典会做D题做不出C题的构造留下了智商低下不会构造的泪水.jpg有一种特别傻逼的方式,就是先不管边上一圈,然后把第一张图奇数行上色,第二张图偶数行上色,然后第一张图第1列上色,第二张图第m列上色这样每一行都可以通过左边或右边的相连,然后第一张图偶数行上的紫色就是单个的色块也跟下面相连#include<bits/stdc++.h>using namespace std;typ

2020-11-12 00:22:22 18

原创 agc003_d Anticube

https://atcoder.jp/contests/agc003/tasks/agc003_d这题关键之处是想到3次方对应的3次方是唯一的,也就是说吧一个数质因数分解以后,吧每个因数的幂次都%3然后得到一个新数,那么这个新数只会和另一个确定的新数乘起来是三次幂然后x^3<=10^20,x<=10^(20/3),那么对于每个数我们只要暴力枚举10^(10/3)内的质数就行了,筛完以后如果还剩,对于10^(10/3)到1e5中的质数,要么是x^2,要么是x,那么只要sqrt一下看是不是平

2020-11-10 23:31:17 30

原创 agc003_c BBuBBBlesort!

https://atcoder.jp/contests/agc003/tasks/agc003_c操作2无法改变位置的奇偶性我们直接对所有数字离散化以后,对于奇数位的数字看有多少是偶数就是答案,也等于偶数位有多少数字是奇数操作1就可以吧一个数字从奇数位挪动到偶数位,然后操作2又可以吧他们挪到正确的位置#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl=3e5+10;

2020-11-10 15:59:31 20

原创 agc003_b Simplified mahjong

https://atcoder.jp/contests/agc003/tasks/agc003_b经典不会做水题查了查题解这题有两种思考方式,一是直接从左到右扫过去,如果上一位余1,那么就直接让他跟当前位的1个匹配就行,ans++,a[i-1]--,a[i]--,当前位少了1,但是多了一对,肯定不亏,然后ans+=a[i]/2,a[i]%=2,如果还剩就看能不能跟i+1匹配一下另一种解法是每一段不为0的连续的数字,他们的贡献一定是总和/2,可以这么感性地理解,每一个1都能在这一段中找到要么是他本

2020-11-10 15:56:57 18

原创 D - Meaningless Sequence 2020CCPC长春

a_t=c^(pop_count*(t))傻逼数位DP,这题我竟然写了半小时?身败名裂#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl=3010;const int mod=1e9+7;int n,c;ll ans;ll dp[maxl][2];char s[maxl];inline void prework(){ scanf("%s",s+1); n

2020-11-08 22:22:06 126 1

原创 J - Abstract Painting 2020CCPC长春

这个模型太常见了,看到n=1000就知道往哪个方向做了这场这道银到金难度的思维题是我会做的,因为区间dp积累比较厚,但换一个模型以后就不知道会不会了,重现赛开始一个多小时才开始打4个小时场,Lwa到结束,不知道最后能不能过,我是真的没点思路,思维题还是得练。H二分图博弈也没见过,hls现场直接过了牛逼这题就是dp[i][j][0]表示这段区间随便放但(i-j)不存在一个圆有多少方案,dp[i][j][1]表示存在一个圆有多少方案,可知当可以在外面套个大圆的时候也就是(j-i)<=10且偶数

2020-11-08 22:20:17 140

原创 agc002_d Stamp Rally 二分答案并查集树向上倍增

https://atcoder.jp/contests/agc002/tasks/agc002_dABC傻逼题,感觉以前的AGC有点水,然而B题一开始想假了写了快20分钟D题最后9分钟过了挺爽的首先对于M条边,把整棵树连起来只有N-1条边,那么因为答案要求最小化最大边的序号那么我们直接按序号连边,如果要合并,就新建一个点,记录下这个点对应的集合的大小时多少,然后连向合并的两个点,且边的权值为当前枚举的边的序号,相当于把完整的并查集树建出来,且不需要按秩合并由于图是联通的,根节点一定是一个

2020-11-08 01:08:06 22

原创 agc001_d Arrays and Palindrome

https://atcoder.jp/contests/agc001/tasks/agc001_d经典构造题不会写,不知道从什么地方下手,不知道什么时候无解。。。这题得从图论角度分析有无解的情况,我们发现当回文串长度为偶数时,会给每个点的度+1,为奇数时,中间那个点没有连边,度为0然后我们最后需要所有元素相等,即变成一条链或者1个环。所以就算我们b数列给他全偶数段回文串,也就只能让每个点度+1,由于至少要成为1条链,最多只能由2个端点的度为1,所以a数组中如果存在大于2个的奇数回文串,就无解

2020-11-07 01:08:12 20

原创 agc001_c Shorten Diameter

https://atcoder.jp/contests/agc001/tasks/agc001_c很经典的模型了,感觉今年打的训练赛都见过两次。。。果然AGC的题目都挺经典的要让整棵树直径<=k,然后又要删掉的点最少,那么就是枚举直径的中心,让直径<=k且点最多发现n=2000,可以n^2做,那么就枚举每个点为直径中心,然后规定长度小于k/2,看最多能有多少点然后以每条边为直径中心,从这条边两个点向外跑(k-1)/2,看最多有多少点#include<bits/stdc

2020-11-07 00:08:57 17

原创 agc001_b Mysterious Light

https://atcoder.jp/contests/agc001/tasks/agc001_b我经典下标搞不清构造不会写,所以要练练思维题然后看了下知乎发现stdcall推荐刷agc,然后发现很多牛逼oi选手板刷过agc打了下agc01这题我们会发现怎么反射都是60度的,那么同一段连续的反射三角形边长肯定都是一样的了然后观察样例发现他第一段一定是x,第二段一定是n-x,接下来就是用短的那一边去填长的那一边,比如样例中a=n-x=3,b=x=2(我们规定a>=b),那么用2次反.

2020-11-07 00:03:58 36

原创 codeforces1442C Graph Transpositions

https://codeforces.com/contest/1442/problem/C第一遍优先距离,最远换20次,dij每次把距离最小的点拿出来跑,如果这之内就能到N,则直接求出了答案然后如果20次都不行,那么说明后面每多一次变换都肯定会超过大于实际走的路径长度之和,我们就分层走,走的过程中只能由上层拓展出来的点去更新下层新拓展出来的点,路径不记录转边的代价,只记录路径长度,最后第一次到达n就是最小值,然后再把已经转过的边的次数的代价全加上#include<bits/stdc++.

2020-11-05 21:26:14 24

原创 L. Lottery 2020ccpc绵阳现场赛

wa到最后半小时才过。。。对幂次排序对于每一段可以连续进位进到的地方,从每一位乘以2的幂次转移到最低位,那么这一段能够得到的方案总数就是各位的数量在最低位上的总和比如2^0有4个,2^1有1个,那么他最多就进位到2^2,不会影响2^3,所以直接把2^1上的1加到2^0上面,然后他们能得到所有不同的方案就是(6+1)=7,数字7是达不到的,后面如果2^3有1个,就直接乘以(1+1),即数据 3 \n 0 4 1 1 3 1 答案是(6+1)*(1+1)=14注意判断当前短累计和的时候,如果

2020-11-01 19:42:07 1272 1

原创 gym102769B. Bounding Wall ccpc2020秦皇岛

https://codeforces.com/gym/102769/problem/B写完到调试到对拍出来前前后后用了6个小时,写这种大模拟还是功力不够。。。现场感觉是不可能写出来的,现场也只有pku和渡渡鸟过了这题思路挺简单的,就枚举这个点在分别的左右上下边界上大致讲一下在左边界上怎么求最大的矩形首先l[i][j]表示i能连续最左边到哪,也就是最小的j,r[i][j]为最优边,u[i][j]为最上边也就是最小的x,d[i][j]最下边然后先求出上边最高可以到哪,由于(x,y)在左边界,

2020-10-30 22:51:52 58

原创 gym102759D Just Meeting XXI Open Cup. Grand Prix of Korea

https://codeforces.com/gym/102759/problem/D自闭场,4题跑路,五点共圆和uestc7题也太猛了由于要满足不存在一个3元环中,一条边同时小于另外两条边,那么对于u-v这条边,如果u-w,w-v只有一边存在,那么另一边可以任意变的边就等于这两条边的较小值,如果两条边都不存在,就直接2条1就行了然后可以发现对于同一个联通分量两个点之间的边一定是确定的,且对于这个联通分量的最大或最小生成树,那些还无法确定的边等于这棵树上两个点路径上最小的那条边最优,而对于那些.

2020-10-29 20:32:22 65

原创 E. 矩阵 2020计蒜之道决赛

https://nanti.jisuanke.com/t/49109学习自https://www.cnblogs.com/BOZHAO/p/13880947.html求最大全1子矩阵可以左开右开这样对应高度找最大宽度但是有时候涉及全1子矩阵中间的计数,需要左开右闭,即左边严格小于,右边<=这题我们统计以第i行为底边,必须经过(i,j)这个点的满足的矩阵数对于最高高度为h[j],左边界为l[j],右边界为r[j],首先我们可以得到(r[j]-l[j]+1)*h[j]这一整个矩阵中所有

2020-10-29 00:57:04 39

原创 codeforces1434C. Solo mid Oracle

https://codeforces.com/contest/1434/problem/Cvp的时候没写出来,写了一年= =,看了下前面人的代码,发现可以巨简单的直接计算。。。经典计算题搞不清楚首先如果a>b*c的话,也就是一次伤害比回血多,那么就无限血也可以击杀了否则如果c<=d,也就是在回血结束之后,才能放新的技能,由于a<=b*c,可知从第二次放技能开始肯定没第一次放技能血量低,那么答案就直接是a那么我们可以计算出当释放k=a/b/d+1次技能时,血量会达到最小值

2020-10-28 20:50:18 61

原创 codeforces1434B. Shurikens

https://codeforces.com/contest/1434/problem/B直接用栈模拟,并记录一个最大的最小值,表示当前栈中每个元素都大于这个最大的最小值,如果栈顶一个元素出队,就把这个最小值给新的栈顶更新一下。由于最大的最小值是不断增大的,而且每次操作是取出当前所有元素的最小值,所以这样模拟是肯定能找到答案,不然就无解的。#include<bits/stdc++.h>using namespace std;typedef long long ll;const

2020-10-28 20:34:41 38

原创 codeforces1434A Perform Easily

https://codeforces.com/contest/1434/problem/A直接把每个音在6个弦上的位置全部丢进数组,然后按位置排个序然后从左到右枚举左端点,维护右端点r,是的[i,r]中间包含每个音,然后更新一下ans=max{c[r].val-c[i].val}#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl=3e5+10;int n,m,cnt

2020-10-28 20:31:45 32

原创 G Tree Projection 2020ICPC·小米 网络选拔赛第一场

https://ac.nowcoder.com/acm/contest/7501/G把b中的数字变成对应a中数字的哪一个位置,dy[a[i]]=i,b[i]=dy[b[i]]然后从前往后枚举b[i],每次b[i]与之前出现最小的b[j]相连因为b[i]是dfs序,且从左到右枚举b[i],那么这棵树从b[1]开始是满足dfs序的又因为每次与之前出现最小的b[j]相连,且b[j]是原b[j]数字出现在a数组中的位置,越小越靠前,那么一定是b[i]=1也就是原b[i]=a[1]的地方为根节点,从上

2020-10-28 11:15:14 47

原创 codeforces1437C. Chef Monocarp

https://codeforces.com/contest/1437/problem/C这题好像比D题难一点,D题偏水了。。由于有n个菜,而且他们最好的时间ti<=n,那么可想而知就算从n开始拿出盘子,最多到2*n的时间可以拿完所以dp[i][j]表示前i个时间已经拿出了j个菜的最小代价,扫过去更新就行了#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl=3

2020-10-28 01:04:23 833

原创 codeforces1437E. Make It Increasing

https://codeforces.com/contest/1437/problem/E看清楚是严格递增序列那么无解的情况就是相邻两个差得太少的情况,必须满足a[b[i]]-a[b[i-1]]>=b[i]-b[i-1]才行然后对每两段中间,如果跟左右限制a[b[i]]和a[b[i+1]]差得太少不行,直接ans++否则则搞一个最不下降子序列,由于是要严格递增,我们就给每个地方变成c[j]=a[j]-a[b[i]]-(j-b[i]),这样把按下标至少严格递增1也考虑进去了,那么搞个最长

2020-10-28 01:01:49 106

原创 codeforces1437G Death DBMS

https://codeforces.com/contest/1437/problem/G要找一个串是另一个串的子串,直接把所有名字建一个ac自动机,在它们的末尾节点搞个multiset存他们的值然后修改就直接找到那个人的名字在ac自动机上的末尾节点修改multiset查询就直接对着查询串跑一遍,暴跳fail链(这样据说一次是sqrt(n)的?),沿路记录multiset中最大值#include<bits/stdc++.h>using namespace std;typed

2020-10-28 00:54:34 107

原创 C 攀登山峰 2020计蒜之道决赛

https://nanti.jisuanke.com/t/49111没想到这个t<=20怎么用。。。因为t<=20,那么l,r这一区间最多只有t个位置能够数量>=v=(r-l+1)/t+1,也就是说直接上主席树,如果当前区间的数字总数<v就直接return,那么每次查询就最多向下跑t条链,复杂度是O(Mtlogn)的#include<bits/stdc++.h>using namespace std;const int maxl=1e5+10;in

2020-10-27 21:59:59 55

原创 E Phone Network 2020ICPC·小米 网络选拔赛第一场

https://ac.nowcoder.com/acm/contest/7501/E看了看题解没太看懂怎么维护最小值的,学习了一下杭二oi爷的代码学会了按数字1-m的顺序求答案,因为求数字i的时候必须1-i-1都要出现过,所以求当前数字直接在之前的基础之上维护就行了我们维护从每个位置开始,1-i都出现过的最小右端点位置Ri,l,跟题解里面定义是一样的,按从左到右顺序枚举数字的位置,我们就是需要吧[last+1,id]这一段中小于id的更新为id,用树状数组维护前缀最大值,每个Ri,l等于prem

2020-10-27 20:08:07 71

原创 F Design Problemset 2020小米邀请赛第1场

https://ac.nowcoder.com/acm/contest/7501/F思想出问题了,这题应该秒的,跟19沈阳那个贪心有点像二分答案,然后每种题目先把l[i]全部放进每个题集,如果某一种题目不够放就不行,如果每个题集的总数已经大于R了,就直接不行,在L,R中间就直接可以了,不够L就需要贪心地放剩下的对于每种题目还剩下b[i]种,那么由于每个题集的题目必须在l[i],r[i]之间,由于已经全部放了l[i]个了,不够的最多只能放(r[i]-l[i])*mid,跟b[i]取个min,然后看

2020-10-25 23:09:46 120

原创 codeforces1436 E. Complicated Computations

https://codeforces.com/contest/1436/problem/E直接用权值树状数组暴力模拟就好了,想了一年想不出来树状数组b[i]记录值为i上次出现的位置在哪,getmi求前缀最小位置在哪里然后枚举右端点,不断地更新最小位置,一开始b[i]初值全部设成n+1然后考虑直接右端点就是n,每个数字上次出现的位置就是他最后出现的位置如果对于某个数字i,last[i]!=n && getmi(i-1)>last[i],也就是从末尾到i最后出现的位置,

2020-10-25 02:15:12 327

空空如也

二分抄代码的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除