自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 Codeforces Round 803 (Div. 3) G1~G2

考虑简单路径中的所有顶点应该满足什么条件,假设l,r为k个顶点组成的树的两个端点,那么其中在简单路径中的所有顶点到两端的距离之和应该等于两端的距离,因为如果不在简单路径之中的顶点要到达两个端点会经过至少一条边两次或以上,所以现在我们需要先找出k个顶点组成的树的两个端点,然后判断k个顶点是否都在简单路径上即可。类似于求树的直径,所以我们很容易可以先确定一个端点l,在预处理中求出每一个顶点的深度,离根节点最远的也就是深度最大的那个顶点就是l,然后再k个顶点中离l最远的那个就是另一个端点r。

2023-12-22 19:30:17 320

原创 AtCoder Beginner Contest 329 E - Stamp

如果相同是不是就意味着s这一段内可以覆盖掉原来的字符,我们把可以覆盖的标记为'#',那么以前该字符的取值就不重要了,再检查[p - m + 1, p + m - 1]这个范围(p能覆盖可以影响到的范围)的每一个下标,考虑除'#'外的字符与t中的是否相同。检查s中每一个下标p,视为用t替换的左端点,查看s(p, p + m - 1)与t是否相同,有一个长度为 N 的字符串 X 仅由字符 '#' 组成。T 也由大写英文字母组成,长度为 M (≤N)。最终s中字符都为'#'即为Yes。

2023-12-17 21:36:57 392

原创 codeforces 1898D

l1, r1],[l2, r2],l1 <= r1 < l2 <= r2,那么会让答案增大2 * (l2 - r1),所以其实只要排序扫一遍记录一下之前的最小右端点即可.题目大意:给定两个长度为n的数组a,b,求abs(a[1] - b[1]) +...+ abs(a[n] - b[n]) 的最大值,把每个位置看成一个线段,有一个结论,就是交换让结果增大肯定是让两个不交的线段变成交的.不妨设两个线段为。可以进行一次操作:选择两个索引i和j,交换b[i]和b[j]的值。

2023-12-10 23:55:56 386

原创 P3917 异或序列

按位考虑,计算有多少个区间异或值使得该位为1,因为该位为1才有贡献。对每一位异或前缀,记录1,0的个数,易知最终结果是01的个数相乘。

2023-12-04 00:12:42 440

原创 codeforces 1851F

任选一个x,求(a[i] ^ x) & (a[j] ^ x) 的最大值(1<=i,j<=n, i!题目大意:给你一个长度为n的数组a, 和一个整数k(2<=n<=2e5, k<=30, a[i]<=pow(2,k))。那么x与另外两个数的高位就要不同,但是可以想到当a[i]和a[j]某一位不同时,x这位的取值就不重要了。由于中间有个&,所以我们要求两个数最高位尽量相等,所以a[i]和a[j]的最高位也要尽量相等,要求a[i]和a[j]尽量相等的结果,可以转化为求最小异或和问题。最小异或和只需要排个序即可。

2023-11-27 00:39:31 486

原创 AtCoder Beginner Contest 328 F - Good Set Query

由题意:我们其实不难看出这题就是要维护Xai,Xbi之间的差值关系(Xai - Xbi = di可以理解为ai->bi的距离为di, sz[bi] = sz[ai] + di),自然而然的想到加权并查集。pre维护根结点,sz维护与根结点的距离。

2023-11-20 00:28:53 59

原创 AtCoder Beginner Contest 327 E - Maximize Rating

i=j,当k=j的时候,就可以相当于把Qk提出,即pi;再在整个式子中提出一个0.9,就得到dp[i][j] = dp[i - 1][j - 1] * 0.9 + p[i],由于Q的特殊性,实际上所又比赛都只有选与不选两种情况。得出完整的转移方程:dp[i][j] = max(dp[i - 1][j - 1] * 0.9+ p[i], dp[i - 1][j])。式子中要求的变量实际上只有减号右边的分子,不难想到枚举k(1~n),可以O(n^2)解决,dp[i][j]表示前i场比赛选了j场的最大值,

2023-11-12 22:33:31 40

原创 2023.11.5 一点题解

求b[1]:先把a数组异或前缀和一下,统计0~n-1与a[1]~a[n-1]之间每一位中1的个数,若不相等则b[1]该位为1。0~n-1都在b中恰好出现一次,a[i] = b[i] ^ b[i + 1](1<=i<=n-1)。求有多少个i,j(i<=j)满足a[i]^a[i+1]...^a[j]的因子数为偶数。题目大意:给你一个长度为n的数组a(2<=n<=2e5,1<=a[i]<=n),可以看出b[i]=b[1]^(a[i - 1]^...^a[1])给你n-1个整数:a1,a2...a[n-1]。

2023-11-05 22:48:55 30

原创 2023.10.29 题解

问你是否存在一个正整数x,使得所有(1<=i, j<=n)都满足gcd(a[i] + x, a[j] + x) == 1。条件「对于gcd(b[i],b[j])==1(1<=i,j<=n)恒成立」等价于「每个质数p只能整除至多一个b[i]」。cnt[i]为i在(a[1]%p...a[n]%p)中出现的个数,当cnt中的最小值大于等于2时,我们就输出NO,题目大意:给定一个长度为n的数组a(0<=a[i]<=63, 1<=n<=2e5),整数k(0<=k<=6),是 k 中最大的 p1=1,p2=2,…

2023-10-29 22:28:16 17

原创 题解 2023.10.22

换根:又父节点u换到子节点v:ans[v] = ans[u] + 1LL * (n - sz[v] * 2) * (a[u] ^ a[v])。相当于此时u的子树需要再算一次(u的子树的大小即为n-sz[v]),而v的子树不需要算了(v之前算了,所以要减去)。题目大意:给你一棵树(n个顶点,n - 1条边),每一个顶点的值为a[i],你需要求得的是每一个顶点为。你可以进行的操作:选定一个顶点v和一个非负整数c,把v的子树中的所有顶点的值异或上c,花费的。x >= y简单,贪心:尽可能的选择不相邻的l和r。

2023-10-22 22:36:36 32

原创 学习日记 2023.10.16

题目大意:给你一个长度为n的数组a (n <= 2e5, -1e9 <= a[i] <= 1e9), 可以把。题目大意:给你一个长度为n的由'0'~'9'组成的字符串(n<=1e5),如果非空数字字符串中每个字符。先把原数组进行前缀和,对于a[i]==0,找到i到下一个0或到数组末尾出现次数最多的元素x,将a[i]中的每一个字符出现数量都不能超过10,所有多样子串的最大长度为100,暴力枚举O(100*n)。由题意知,最大相同字符数量不能超过不同字符数量,而最多的字符数量只有10个,所有多样子串。

2023-10-16 09:19:54 31

原创 水一份总结 2023.10.8

由题意可知,每一位品茶师都可以喝min(b[i], a[i])+min(b[i], a[i - 1])+..min(b[i], a[1])。对b前缀和,即对于a[i],我们需要找到sum[j] - sum[i - 1] > a[i],i~j-1能喝到完整的次数加1,最后遍历。前面的品茶师i~j-1都能喝到相应的b[i]~b[j-1]毫升,所以每一位品茶师能够喝到的茶=能喝到的完整的+喝到剩下的总和。每一轮,每一位品茶师喝自己对应位置上的茶,即喝min(a[i], b[i])毫升,每一轮结束后,

2023-10-08 22:39:04 26

原创 2023年9月 学习计划

每天坚持刷cf(或其他较有思维性的题),训练思维(div2至少要到D)。.剩余时间在洛谷上进行自己所负责的每一块专题(外加数据结构)的巩固。.先花一部分时间学完OI知识树剩下的部分(计算几何,数学)。.cf达到1800以上。

2023-09-16 02:56:14 35

原创 置换环C++实现

可知元素之间的交换只会在同一个环内进行,而每个环内的最小交换次数为环上元素个数-1。最终排序所需最小交换次数为。置换环思想:置换环将每个元素指向其排序后应在的位置,最终首位相连形成一个环。

2023-09-01 17:42:00 108

原创 学习记录 题解

易得转移方程:dp[i][j] = {dp[i][j], dp[i - 1][j], ret[i - k] + w[i][j]}。先前缀和一下,好区间:sum[r] - sum[l - 1] >= x, 移项得sum[r] - x >= sum[l - 1]。题目大意:给你n,x,一个长度为n的数组a,好区间:左右端点l,r满足a[l]+..+a[r]>=x;题目大意:给定n,m,d,对应n个位置,m个卖饼人的位置,吃了饼后走d个位置就需要再吃一个饼,ret[i]:在第i个单位高度上的最大分数。

2023-08-16 22:29:59 28

原创 学习记录 --- 题解

一个机关,12个旋钮,每一个旋钮4种状态(分别是1, 2, 3, 4),每个旋钮只能向一个方向旋转(状态:1->2->3->4->1),题目大意:给你n顶点, n - 1条边,边长为k,根是1这样的一颗树(无向图),树的成本定义为树上所有顶点中从根到顶点的最大距离。sz[a]为a所在的部分的顶点个数,所以对于每一对顶点加边方案数为(s-w(a,b)+1)^(sz[a]*sz[b]-1)。定义a[5], a[0]为当前状态,a[1]是在1状态时旋转,也会旋转的另一个旋钮,a[2]..同理。

2023-08-13 00:30:27 40

原创 学习记录 -- A*,IDA*算法

2.空间需求减少:每个深度下实际上是一个深度优先搜索,不过深度有限制,使用 DFS 可以减小空间消耗。当然,我也用了IDA*,方法当然还是掌握的越多越好,不过这个提交跑的好像还没有我写的A*快。跟八数码差不多,只是这题规定了在15步之内(像极了迭代加深IDA*,但是现在我用A*)。题目求给定的数组变成目标数组需要的最少操作数(操作:只能交换'0'和与它相邻的位置)。3.重复搜索:即使前后两次搜索相差微小,回溯过程中每次深度变大都要再次从头搜索。:bfs + 启发式搜索(比普通搜索多一个估价函数)。

2023-08-09 22:58:08 91

原创 2023.8.5学习记录

1.a0 = 1, 2. am = n, 3.序列严格递增, 4.对于每一个k(1~m),都有i, j(0~k-1,i,j可相等)使得a[i] + a[j] = a[k]1个,并且剩下的k-1个都是在这两个元素旁边选的,最终情况下就会重复,而这种情况个数为C(k-1,n-(r-l+1))。题目大意:给你一个长度为n的至少有n-1个不相同元素的序列,问你其中长度为k的子序列为多少,最终答案%1e9+7。l和r为相同元素的左右下标,最终答案即为C(k,n)-C(k-1,n-(r-l+1))。

2023-08-06 00:28:46 29

原创 2023.8.2学习记录

折半搜索优化,怎么用呢,把原式转化为k1*x1^p1 + k2*x2^p2 +...+ k(n/2)*x(n/2)^p(n/2)=-k(n/2+1)*x(n/2+1)^p(n/2+1)...- k(n - 1)*x(n - 1)*p(n - 1) - kn*xn^pn。做法:遍历n^2,计算出所有两个点相遇时间,并存好每个时间点有哪些点相遇,遍历0-1000时刻,用并查集进行合并操作,每合并一次,该时刻减少一个点,最后前缀和得出所有时刻有多少个点。i为第几个奶酪,j是第几次拿,k是第j次拿了多少。

2023-08-02 22:52:23 39

原创 2023.7.29学习记录

思考:什么情况下字符串会改变呢,当区间内1在0的前面时就会使得副本跟原来的不同,怎么确定有多少个不同的副本呢,求出每一个位置的上一个0,和下一个1的位置,若l的下一个1位置在r的上一个0前面,那排序后肯定会发生改变(不变时也算一个新串,只是与原串相同,把l,r赋为-1)。若k<n, 这种情况很简单,就是把的第k个数前面的数赋成负数(这里用-1方便),第k个数赋成比前k-1个数之和的绝对值大的正数(这里用200),对于k=1,2..n,对应(a(1~1),a(1~2)..a(1~n))求出每一个序列的代价。

2023-07-30 00:52:46 55

原创 2023.7.26 记录

find(s) --- 寻找子串s出现的第一个位置, find(i, s)从i位置开始寻找子串s出现的第一个位置。求所有由si,sj,sk组成"MEX"(i<j<k),其对应的mex(ai,aj,ak)之和。replace(i, len, s) --- 将从下标i开始的len长度的子串替换成s。坑点:机器人是沿着格点走的,n行m列是不能走的,一个障碍物格子中的四个顶点也不能走。做法:求出每一个位置的前面有多少个M,后面有多少个X及他们权值出现次数,最后。思路:枚举E,查看前面有多少个M以及后面有多少个X。

2023-07-26 22:48:10 60 1

原创 2023.7.19 记录

感觉自己基础不够扎实, 思维不够灵敏,所以最近主要在刷cf和abc的题。题目大意:给定n,t,m,n表示有多少个人,t表示队伍个数,m表示敌人关系数量求:把n个人分为t支队伍有多少个方案数(敌人不能在一个队)由于数据量太小,直接暴搜。

2023-07-20 00:50:45 58 1

原创 2023.7.15 记录

数组都是1-n的数字,用mp数字标记b中的值在a中出现的位置,a,b两个数组的最长公共子序列在mp中是递增的。求lca:先把深度较深的那个结点跳到与另一个结点同样的深度,然后两个结点一起跳直到相等。6若是v已经被访问过了,则可以确认u和v的最近公共祖先为v被合并到的父亲节点a。Dilworth 定理: 最少的不上升子序列的个数就是最长上升子序列的长度。这题没什么难度,但是包括了最长下降子序列+最长上升子序列。2遍历该点u所有子节点v,并标记这些子节点v已被访问过。求a,b两个数组中的最长公共子序列。

2023-07-16 00:39:26 42 1

原创 2023.7.12 记录

在上一次了解了线段树和树状数组后,已经很久没有学新东西了,于是我上午看了下AC自动机,感觉有点接受不了,晚上再看的时候也是一样,可能是trie树和kmp就没学扎实,算是又浪费了大半时间,然后前几天也是一直在刷题,但是感觉没什么提升,甚至连刷了那些题都不太清楚。使用树状数组:树状数组里的每一个位置的值代表有多少个小于等于他的数,所以在修改的时候,相当于被修改的值没有了,所以要往上-1,修改后的值相当于是新增的,所以要往上+1,每次修改后,二分一下答案就行了。注意:这题要判两次:1-n和n-1,取较小值。

2023-07-12 22:37:23 71 1

原创 2023/7/8---个人总结

思路:因为1/k*(k+1)=1/k-1/(k+1),所以我们可以构建一个(2,6,12...n),但很快就会发现有问题,当n=6时,他已经在前面出现过了,我们可以这样做:n冲突的时候,n-1一定不会冲突,因为前面的序列是i*(i+1)的格式,不存在两个相邻的数,所以当n个数冲突的时候,就先构造n-1个数,n-1个数倒数求和=1,每个数乘以2后倒数求和=1/2,再加上1/2即为1。一直&下去,把等于0的分成一组(ans++,从下一个重新开始&),最后结果如果不等于0,而ans等于0的话就输出1。

2023-07-08 22:39:58 68 1

原创 2023/7/5--个人总结

题目大意:(字符串均由0~9组成)给字符串s,密码长度m,密码区间字符串l,r,l[i],r[i]表示第i位密码的范围,求是否存在一个密码串不是s的子串,存在输出YES,否则输出NO。因为密码串的每一位都在0~9之间,所以直接枚举第i位的范围(l[i]~r[i]),在s中查找,若找到则存储下标(下一次从该下标后面开始查找),若没有找到则输出YES。sz[1]为全树权值和,(sz[1] - sz[v])表示原来不在v子树中的+1, -sz[v]表示在的-1。用dfs算出f[1]和初始化sz,然后dp。

2023-07-05 22:37:35 38

原创 2023/6/21---个人总结

题目大意:有一颗树,1-n个结点,根结点为1,给定一个n,再给出n-1条边,有两个苹果(苹果会掉落到与它相连并且编号比它小的结点上,若没有则掉落),q次查询,每一次查询给出两个苹果所在的节点x,y,输出有几种掉落方案。题目大意:A跟B玩游戏,给定两个字符串,A可以把其中一个字符串中的一个字符换成任意字符, B可以把两个字符串中的一个颠倒。当两个字符串完全相等时,游戏结束,A要尽量缩减时间,B要尽量延长时间,求游戏结束的最短时间。a,b,c分别为各自位置上的位数,求满足a+b=c的第k个方案并输出。

2023-06-21 22:37:41 82

原创 2023/6/19---个人总结

又因为盒子可以为空(用1补),该问题又变为a+n个小球放入n盒子的问题,最终结果为C(a+n-1,n-1)。计算阶乘的逆元:inv[i]=inv[i+1]*(i+1)%mod(先把inv[i+1]算出来)||(inv[i]=(inv[i-1]*power(i,mod-2))%mod)。费马定理:当a和p满足gcd(a,p)=1,且p为质数,则a的p次方和a同余(a^p===a(mod p)),即a*a^p-2===1(mod p),用快速幂算出a^p-2,即a的逆元。题目大意:给定n,m。

2023-06-19 00:54:40 25

原创 2023/6/14---个人总结

设置二维数组sum[l][r]表示l-r中所有路线个数,由上条件易得方程sum[i][j] += sum[i + 1][j] + sum[i][j - 1]。易发现还需要减去重复部分sum[i + 1][j - 1],最终方程为sum[i][j] += sum[i + 1][j] + sum[i][j - 1] - sum[i + 1][j - 1]。虽然这道题不难,但是我还是想写,因为卡了很久。题目大意:有n个堵塞点,s-t为堵塞时间,x为坐标,q个人,输出每一个人在哪里被堵塞,若不会被堵塞,输出-1。

2023-06-14 23:02:58 41

原创 2023/6/11---个人总结

题目给定范围是n*m<=1e6,所以我用了vector可变长数组来存储数据,题目需要从起点出发,再回到起点,所有点只能走一遍,所以我们从起点旁边开始搜索,看能不能回到起点另一个旁边,如果能,则输出Yes,否则输出No。2操作:ans-首个元素乘以10的n次方可能为负数,所以结果要+mod再%mod,ans = (((ans - q[top] * mo[rear - top]) % mod) + mod) % mod;由于k的数据范围太大,所有要把查询时输入的顶点信息变为在原矩阵的顶点。

2023-06-11 22:35:42 32

原创 2023/6/9---个人总结

将是数字排序后分为3块,分别由3个人负责,通过二分,先找左边符合条件的最大区间,再找右边的最大区间,剩下的中间再判断是否满足条件。将原数组按照价格排序之后,遍历比较质量低下即可。先求出数据范围内的所有素数,如何从小到大遍历。这题没什么难度,但是好狗,我踩了很多坑。

2023-06-09 09:55:00 40

原创 2023/6/7---个人总结

给定一个n,可选边长为1-[n/2](向上取整)之间,求正方形最大边长。易得出n=2时无解。先选取最大边d=(n+1)/2组成正方形,后得出若想增加长度,需要再添加3个矩形,可得最终答案为d+(n-d)/3.把x[i]替换为x[i]-t[i],x[i]+t[i],从而把问题简化为有2*n个节点,没有化妆时间,只有x[i]位置的简单问题,答案为(最大+最小)/2.先将字符串中的数字提取出来,三种运算进行dfs,用栈存储运算符号,达到终点输出。

2023-06-07 01:03:39 37 1

原创 2023/6/5---刷题

要求重新构造的b数组满足a[i]=gcd(b[i],b[i+1]),易构造b[i]=lcm(a[i-1],a[i]),边界b[0]=a[0],b[n]=a[n-1],后遍历判断构造出的b数组是否满足条件。把A,B当前水量和当前操作数作为队列节点,进行bfs,求得最小操作数。一个好区间中的所有子区间都是好的,使用双指针求出每段最大好区间。

2023-06-05 00:48:17 27 1

原创 2023/6/1---个人总结(续上Tarjan)

思路:求出树的直径的中点,以中点为根,遍历树,求出该树上的节点自身深度和能够到达的最大深度,再求其差值,贪心思想:让差值最大的前k个节点成为核心城市,再在剩下的节点中选最大的,即是答案。(dfs求法):如果需要求出一条直径上所有的节点,则可以在第二次 DFS 的过程中,记录每个点的前序节点(父节点),即可从直径的一端一路向前,遍历直径上所有的节点。定理:在一棵树上,从任意节点 y 开始进行一次 DFS,到达的距离其最远的节点 z 必为直径的一端。:树上任意两节点之间最长的简单路径即为树的「直径」。

2023-06-01 22:38:57 65 1

原创 2023/5/30---个人总结---Tarjan算法

用途:Tarjan 算法可以在线性时间内求出无向图的割点与桥,进一步地可以求解无向图的双连通分量;若从图中删除节点 x 以及所有与 x 关联的边之后,图将被分成两个或两个以上的不相连的子图,那么称 x 为图的割点。:追溯值---(用来表示从当前节点 x 作为搜索树的根节点出发,能够访问到的所有节点中,时间戳最小的值)。:u 如果是割点,当且仅当 u 至少存在一个子树v,v中没有连向 u 的祖先的边(返祖边)。若从图中删除边 e 之后,图将分裂成两个不相连的子图,那么称 e 为图的桥或割边。

2023-05-30 23:36:12 66 1

原创 2023/5/29-Dijkstra算法优化版

Dijkstra算法优化:通过优先队列实现优化。优先队列也可以这样定义priority_queue < node> q;

2023-05-29 01:36:04 131 1

原创 2023/5/25个人总结

昨天的最小生成树,需要的一个算法忘提了---克鲁斯卡尔算法。贪心思想:优先选择权值小的边加入到最小树中,并保证不形成环(用并查集判断)。先构建最小生成树,最后给树中组成权值最大边的站点安装电话即可,相当于删去s-1条大边,剩下的最大边就是答案。在已有若干条边的情况下,选边构建最小生成树(也可以把给定的边的长度视为0),唯一坑的地方就是计算两点之间的距离时的精度非常重要。

2023-05-25 22:04:21 34 1

原创 2023/5/23个人总结

这道题我使用了map数组,先将输入的密码排序之后,存入map数组中,赋值为1,之后则一段一段8个字符的截取给出的资料,并排序,设ans为答案,则每次都让ans加上截取的字符串在map数组中的值。优先添加边长小的两个顶点,使用并查集判断添加后是否会成环,用num记录添加边的条数,sum累计边长之和,若等于(顶点个数)n-1,则说明连通,输出sum,否则输出orz。这两天学习目标有些不明确,遇到难点有点懈怠,导致学习效率有点低,在做题时,光想着简便的方法,却忽略了问题的本质,这是不应该的。

2023-05-23 23:42:45 38 1

原创 2023/5/21个人总结---还是刷题!!!

这道题非常简单,小卒只能往右或下走,被马控制的地方过不了,所以我们要算一个点的路径数的话,只需要把该点的上面的点和左边的点的路径数加起来就行了(处于最左和最上的点只能从上和左边到达,需要初始化),易得dp[i][j] = dp[i - 1][j] + dp[i][j - 1]。使用并查集,搭配购买的云可视为一个连通块,把连通块上所有的云的价格和价值都累加到最上级的云上,最后使用01背包,注意:只需要操作每一个连通块中最上级的云。递推,,由子状态推出父状态,,由最优子得到最优父。确定边界,找出初始值。

2023-05-21 22:06:53 71

原创 2023/5/14 个人总结---刷题!!!

思路:拿样例来看,现在我们要求第8位,我们已经知道在3串,只需要逆推出在第2串中的位置,2逆推到1也是一个相同的子问题。题目要求A-B=C的数对个数,先将原数组排序,枚举每一个数,易知与A对应的B一定是一段连续的区间,我们只需要找到这段区间的左右端点即可。用ans表示水坑的数量,遍历数组,找到一块水地,ans++,并把与这块水地相连的所有水地变成旱地。简单叙述原理:类似分治,把一个序列分成两个子序列,使子序列有序,最后合并两个子序列,对子序列也是相同的操作,通过递归实现。于是便没有悬念的TLE了。

2023-05-14 17:25:20 66 1

空空如也

空空如也

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

TA关注的人

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