自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 上海区域赛总结

总结一下这次上海区域赛1. 做题情况这次总共做出3题,罚时比较多首先做的是G题,也是水题吧,但是遇到的问题是推出公式了,一开始为了代码简便就进行了公式的化简,结果产生了偏差,然后没化简公式带入过了M题的话直接map暴力存储,比赛中出现的问题是一个continue写错位置了,导致字符串没有累加B题主要是思维题,进行反转即可,不过出现了字符串越界问题,也是第一次遇到字符串赋值出错,只能先预处理2. 最后的时间最后主要都在思考D题,其实思路大体类似,一开始就想到了二分,但是不知道拿什么为.

2020-12-14 08:36:21 166

原创 Codeforces Beta Round #73(Div2)

这套CF练习题感觉有点迷,坑好多传送门A - Chord思路:给予C 、C#、D、D#、E、F、F#、G、G#、A、B、H,这12个符号,题目给予3个符号,如果相隔 4 3,那么就输出“major”,如果相隔3 4,就输出“minor”,否则就输出“strange”。排着循环遍历即可,判断他们之间的距离(mp存一下),然后判断输出即可。代码:#include <iostream>#include <cstdio>#include <cstring&gt.

2020-12-06 17:58:02 174

原创 2018-2019 Asia Nanjing Regional Contest

A - Adrien and Austin Gym - 101981A博弈思维题,一开始没想明白,最后才整明白,真的很简单思维:其实也就是3种情况吧,一种是 n==0n == 0n==0 的情况,这种后手肯定赢第二种是n 为偶数, k 为 1 这样后手也肯定赢第三种是就是剩余的情况,因为剩余情况总能变成两堆相同的,根据前面的来走后面的即可(第二种情况不可)代码:#include <iostream>#include <cstdio>#include <

2020-12-01 23:54:30 235 2

原创 天梯赛练习第一周

2020 - 11 - 09做题情况: L1 4题(15 — 20分)7-1 打印沙漏 10:55 — 11:08 用时:13min (20分题)7-2 到底有多二 11:09 — 11:16 用时: 7min (15分题)7-3 谁先倒 11:17— 11:27 用时:10min(15分题)7-4 帅到没朋友 11:28 — 11 :43 用时 15min(20分题) 卡的点:输出5位,前补0没注意...

2020-11-09 11:49:14 210

原创 Tarjan算法

Tarjan算法Tarjan算法主要解决图论中求割点和割边的算法,通常使用邻接表存储图,然后根据回溯方法进行判断。相关变量介绍:low[u]low[u]low[u] 表示顶点u及其子树中的点,通过非父子边(回边),能够回溯到的最早的点(dfn最小)的dfn值(但不能通过连接u与其父节点的边)dfn[u]dfn[ u ]dfn[u] 存储 u 点被访问的时间戳(第几个被访问)Tarjan代码详解:res[u]res[u]res[u] 主要存储 u 点去除后可分为几个子强联通块bridg

2020-10-28 11:19:49 134 1

原创 2017 Shenyang onsite replay L - Tree

这里主要补一下L题,感觉也是挺巧妙的,不过也不难传送门题目大意:给予一个无根树,然后给予K种颜色,求将所有颜色的点都连接起来,这K种颜色最多有多少条公共的边。解题思路:首先看一个图,我们直接拆分边,如果这个边的两端都有>=k 个点,那么这条边就可以公共通过。假如K == 3, 那么如果我切割中间的边, 那么左右的点的数目都是 >= 3 ,就符合条件,所以我们根据这个性质来继续解题。因此我们只需要找一个点作为根即可。(找度为1的点,比较方便)然后我们记录每个点有多少.

2020-10-18 20:18:18 175

原创 2020 - 10 - 18 ACM 周总结

一、学习相关内容:复习了相关数学的知识复习相关大数的知识整理大数模板看了一些博弈的思想二、 本周总结:本周事情比较多,做的题也相对较少,做了一套小白月赛27,然后做了10多道蓝桥杯的题目,周六考了4小时的蓝桥杯(稀碎),周天打了组队赛,相当于没学什么新的算法,主要是复习了,锻炼了一下思维。下周计划:数论没补完的补完线段树...

2020-10-18 20:03:51 114 1

原创 牛客 — 小白月赛28

发现小白月赛挺好,涉及到很多基础算法,正好复习相关算法传送门A. 牛牛和牛可乐的赌约主要思路: 这题就是一个很基础的求概率的题,用到了逆元(模板题),只要会逆元,就可以轻松解决。解题思路:首先每次投出n的概率都是 1/n1/n1/n,所以投出 m 次 n 的概率就是1/nm1/n^m1/nm所以,牛牛输的概率为 1 - 1/nm1/n^m1/nm, 很显然1/nm1/n^m1/nm 用到了逆元,直接带入求结果即可。另外一点就是,exp求的时候如果乘积也算进去,会变的很慢(TLE)。.

2020-10-13 09:43:24 352

原创 天梯赛补题 —— 2020-10.11

这次天梯还凑合吧只能说,25分的题目自己基本都会相关的算法,运气好一些,35分的题就不会了这里补一下链表去重的那个题题目大意:给予头指针和相关的链表数目,然后求出绝对值不同的链表,然后再求出需要删除的链表解题思路:这题一开始想复杂了,想怎么判断下一个(甚至是下下个)是否出现,导致写的很乱最后改成了首先判断当前的指针的值是否出现,如果出现,将头指针存入删除的数组中,并继续,如果未出现,存入输出的数组中,然后继续即可。最终要判断下知否存在y值(网上代码有错的)代码:#include.

2020-10-11 19:45:06 134

原创 2020 - 10 - 11 ACM 周总结

一、学习相关内容:复习逆元复习KMP复习了一些dp看了一些数论的推导复习并查集二、本周总结:很多知识点,相关算法都有些遗忘,知道有这个算法,但是用起来不熟练或者不太会用了,这周主要是复习了下相关算法,然后做了几个相关的题目,熟练了一下,看了一些白书的题,看了看之前做过的题。天梯赛还有一些细节没能处理好,有时候数据也太水,下次试着多想。三、下周学习规划与目标:找相关的试题进行练习学习数论的相关知识复习树状数组和线段树相关知识...

2020-10-11 19:31:33 160

原创 2020 — CCPC 总结

这次CCPC做出4题,做出的题数少,而且wa也不少。先总结wa题的几点原因:长时间没打比赛,有些数据范围和相关排序整错,或者是数组的大小太着急,过了样例有时候复杂度没有计算好就着急交总结过题数目少原因:长时间没打,没有做题的感觉复习期末考试,很多算法假期学的都不熟,学的不全面基础算法没有整理好,思维不灵活心态没有调整好,做到一半就感觉没啥希望了,也做不出题最重要的是自己没有好好练习,假期的时候状态还不错可以天天练,打了很多CF,18号来当志愿者后基本就是一点代码没敲,然后快开学开.

2020-09-27 11:50:23 756 1

原创 Codeforces Round #651 (Div. 2)

这里写下ABCDE吧,这次思路感觉不是怎么很明确传送门A. Maximum GCD主要思路:n/2即可解题思路:由于让求1 <= x < y <= n, 求 max(gcd(x,y)), 那么如果x = k, 那么最大情况, y = 2k, 这样他们的最大公约数就为k因此最大值就是n / 2(倍数关系,二倍是最小的)代码:#include <iostream>#include <cstdio>#include <cstring.

2020-06-23 11:36:25 322 3

原创 Codeforces Round #649 (Div. 2)

手速思路还是太慢了,放假后要抓紧练习才行传送门A. XXXXX主要思路: 首先求出全部的和是否是x的倍数,如果不是,则输出n, 如果是,那么找前后第一个余数不为0的点即可。解题思路:首先我们对所有数求和,如果不是x的倍数,那么直接输出n然后我们判断是x的倍数的情况,那么我们只要前后找一个位置,这个位置他不是x的倍数即可,然后我们求这个长度的最大值。代码:#include <iostream>#include <cstdio>#include <c.

2020-06-14 22:25:33 194

原创 Educational Codeforces Round 89 (Rated for Div. 2)

这次比赛的题目挺好,又是无限wa,这里写下ABCD的题解传送门A. Shovels and Swords主要思路: 找相同的时候,然后 /3 * 2 找最大值解题思路:首先我们分情况讨论,最简单的情况就是相同,那么当 a , b 都选出3个的时候,能组成2个,这个是最多的情况,我们还要判断是否是否留了2个,如果留了2个,那么还可以制造一个。然后我们之间考虑a > b这种情况(换一下即可)。首先我们看他们之间的差值 x = a - b, 如果 b < x,那么 res =.

2020-06-12 21:44:15 179

原创 Codeforces Round #648 (Div. 2)

这次状态不好,总是wa题,心态都有点炸了,这里写下CDEF(F有时间就写上)传送门C. Rotation Matching主要思路: 主要是看两个相同的值的差距距离,然后计算差距距离最多的数值是多少即可解题思路:这题还是比较简单的思维题首先我们可以想到我们计算两个数组相同值差的距离,这里我们用: 第一个数组的值的位置 - 第二个数组值的位置 + n % n 即可,表达式:(res是记录的差值为x时的个数)scanf("%d",&b[i]);int x = (aa[b[i.

2020-06-09 00:51:43 276

原创 Codeforces Round #647 (Div. 2) - Thanks, Algo Muse!

这里就补下BCD吧,这次打思路太慢了传送门B. Johnny and His Hobbies主要思路: 首先看到是1 — 1024,那么直接枚举1 — 2048 ,看看是否符合条件即可(是否和原来的一样)解题思路:首先枚举1 — 2048 这些数,然后直接与输入的值进行 ^ 异或操作,然后判断这个值是否在原本输入数据中,并且看是否有重复的主要是处理初始化,也没什么难的,暴力就ok代码:#include <iostream>#include <cstdio&g.

2020-06-05 19:07:49 268 1

原创 Codeforces Round #646 (Div. 2)

这次CF有事没打,后期补了ABCE传送门A. Odd Selection总思路: 循环找出奇数个奇数,判断是否存在符合的情况解题思路:首先要求 x 个数,他们的数之和为奇数这个题有O(1) 做法,不过相对麻烦些,这里写一下稍微思维简单些的O(n)做法首先输入,我们求出 有 a 个奇数, b 个偶数给予的 x 的个数,我们肯定会选出奇数个奇数,剩下的选偶数就可以,所以我们根据这个规律直接循环。for (int i = 1; i <= x; i += 2){ i.

2020-06-01 23:29:57 324

原创 Codeforces Round #635 (Div. 2)

这里单纯写下C题的题解,后期有时间写下别的题传送门C.Linova and Kingdom设计知识点:dfs、思维、贪心解题思路:根据题意我们了解掉,我们尽量选距离根节点1较远的点作为工厂,肯定会考虑到每个点距根节点的距离,这里利用dfs来搜索进行存储,然后我们如何选择点成为了关键这里我们想一下,如果当前点作为工厂,那么他的贡献度为 : 当前点的深度 - 前面的黑色的点(就是工厂)那么我们转换一下,我们的贪心思想是 当前点的深度 - 其子节点的数目 (deep - size.

2020-05-28 18:19:29 163

原创 Codeforces Round #645 (Div. 2)

这次DIV2 有点难搞,这里补一下CD题,感觉自己做难题的速度还是不太行传送门C题解题思路:首先C题可以自己先瞎推推,首先要写一下,不能盲目的猜,因为路径和里有相同的数(自己举例一下就好)然后其中可以满足的数目其实就是路途上的数的和的 最大值 - 最小值 + 1, 这个应该好理解吧。然后我们求最大值最小值的差值即可,最大值是先向下走,再向右走,最小值是先向右走,再向下走(这个规律还是比较容易发现的),如果想单纯的直接累加求肯定是爆掉的,然后找他们之间的规律。首先我们看下图,图.

2020-05-27 23:04:24 210

原创 Codeforces Round #617 (Div. 3) --- E2

通过做这道题学到了很多知识,还是很好的,用到Dilworth定理题目传送门Dilworth定理解题思路:就是给你一堆字母,ababcdba,最终让你排成aaabbbcd(字典序最小)如果2个位置的字母涂的颜色不同,那么他们可以交换,问的是用最少的颜色进行涂色,我们最少需要多少种颜色, 而且将他们的位置的颜色标记出来。这里用到Dilworth定理:不上升子序列的数目 == 最长下降子序列的长度 (反之亦然,如果想看正面的点上面的链接即可)这个题简单的来说是找有多少个不下降子序列,也就是能划.

2020-05-27 10:56:57 148

原创 牛客OI周赛8-提高组 — 用水填坑

题目挺好的,不过自己不太会,用到优先队列的bfs,不错传送门解题思路:给我们一个水池,我们想让里面的水最多,也就是慢慢找呗,首先这个池子能存多少水(假设先是一圈墙),取决于这个墙的最低高度是多少,所以我们因此可以想到我们每次都是用最低的墙是进行搜索首先我们利用贪心的思想,首先计算周围的墙(也就是最边上的墙),然后我们找高度最低的墙往里缩小(因此如果不找最小,如果水高于那个最小位置,那么水会溢出),所以从周围的最小值开始找起,如果找到比他高的,先暂时存入队列不用管,如果找到比他小的,那么证明这.

2020-05-27 09:54:04 197

原创 Codeforces Round #636 (Div. 3)

这套div3还可以,比较简单吧,D题感觉比较不错,这里补一下D题传送门D题解题思路:D题原本还想用二分三分去做,但是感觉不太靠谱,hhh差分的思想,其实还好首先我们这里需要列出几种情况,他们的和为x + yx=ai x = a_i x=ai​ y=an−i+1 y = a_{n - i + 1}y=an−i+1​首先是保持不变,那么他们的和仍然为x + y, 操作的数目是0增大其中一个数,如果我们想操作一次让他最大,那么我们需要操作x,y中较小的那个数,所以我们可以操作一次达.

2020-05-24 10:16:53 131

原创 2020 - 05 - 16 个人笔记

昨天竟然忘写个人笔记,今晚才发现果然早晨不打卡英语,就会忘记,昨天单词都忘记打卡了上午忘了干了啥,应该听了下听力然后忘记了,真的忘了下午:组队赛,自闭然后整理一些资料然后CodeForces,好惨晚上:补题?忘了干了啥...

2020-05-18 00:20:47 131

原创 Codeforces Round #643 (Div. 2)

最近CodeForces比赛有点多,有点刺激,这次A了三题,不过思路太慢了,而且理解题意整的不好传送门A题 : 自己没耐心写下去,结果好久好久才过,下次遇到这种题一定记得解题思路:主要是暴力,给你一个值就第 k 项的值根据这个式子往后计算就可以,因为每次加的数 1 ~ 81 ,所以百位不是+ 0 就是 + 1,所以最多1000次,他就为将改为变为0,如果存在0,那么他的值肯定就不会变换了,就是这样!代码:#include <iostream>#include &l.

2020-05-17 22:35:51 159

原创 2020 - 05 - 15 个人笔记

今天还可以感觉昨晚睡的太晚,今早没背单词上午:整了下cf的题,补题然后背了单词然后整了下安卓然后linux写实验报告下午:android 实验课,换了下主题然后看了会电视晚上:7点多就是听力课,然后继续听了会听力然后看了cf 的E题题解,题解了会然后补题...

2020-05-16 00:10:00 94

原创 Codeforces Round #642 (Div. 3)

22分钟A了前三天,然后…然后就没然后了,这里补下DE题传送门D题解题思路:这个题开始就是找规律…找…正解是set或者优先队列,这里用优先队列写下首先我们是从哪个区间大我们就往哪个区间的中间位置放数,所以我们就存储他的头和尾的坐标,一开始肯定是1,n我们这里对优先队列排序,按照长度由长到短,如果长度相同那么看坐标小就排在前面(这里学了下优先队列的排序,与sort是反的)struct cmp{ bool operator()(PII x, PII y){ if (.

2020-05-16 00:03:37 149

原创 2020 - 05 - 14 个人笔记

感觉又是混了一天,感觉没干啥早晨继续英语单词上午:毛概听了会课,然后看了每日一题然后整了下android,很多问题下午:离散听课然后听了听力然后忘了干啥晚上:写了下每日一题,还出错了然后整了下cf (自己水题写的还行,有难度的题就不行了),还是要多加练习...

2020-05-15 00:43:43 124

原创 2020 - 05 - 13 个人笔记

忘了干了啥早晨继续背单词上午:Linux 看了啥我也忘了,貌似是看了题解然后写了昨天的题解(好不容易理解好了)写了体育作业下午:英语听力然后看了会电视然后又忘记干啥了(记性太差了)晚上:练了会字查了下LCM GCD的相关资料然后继续听听力(听不懂,愁啊)然后看了会Linux中关于计算机网络的(就是大体了解下)...

2020-05-14 09:01:34 159

原创 Codeforces Round #641 (Div. 2)

这里补BCD题,这次还是太菜了,只a了2题,D还理解错了,c是一点不会传送门B题B题wa了三发好惨,这个时间比较宽裕,所以有很多办法,最终基本都是DP原本想的是把每一个数分解,求出他的因子,然后对因子进行操作或者直接DP,直接对当前数值的倍数进行操作这里比较坑的是让dist[i] = 1,原本只对1进行了赋初值,然后想到一个样子a[1] = 10, a[2] = 1, a[3] =2, a[4] =3,这里是输出 2,因为2,4符合,但是如果不都赋初值1,那么输出的只是1,所以这个地方挺.

2020-05-13 20:27:31 262

原创 2020 - 05 - 12 个人笔记

老了,几点起的都忘记了,反正早晨背完了单词上午:今天竟然是单周,没英语,这样就多睡了会,好像是这样然后补了下那天div4的题,然后补了下昨天的C,D上面的两件事好像是安卓课干的,这几天补一下安卓视频,emmmm然后忘了干啥中午: 我竟然把1.30看成2.30了,还以为迟到了…下午:HDFS听课然后出去拿快递,转了好几圈回来写了几个字,感觉好难受,主要是书写姿势不规范然后听英语晚上:补了下昨天的每日一题,今天的用hash(过段时间补吧)然后打了CF,惨不忍睹,痛哭流涕.

2020-05-12 23:45:15 200

原创 每日一题 — 2020 - 05 - 11

bfs,但是有点巧妙?还是自己没理解好原本的题,没转换好题目链接解题思路:就是常规的bfs,只不过处理点的时候有点技巧(应该也不算技巧)只是让原本要出发点的dist值为0,然后存入队列中,然后排着去搜索就OK还是挺简单的,可能想的有点慢#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>usi.

2020-05-12 20:21:48 153

原创 Codeforces Round #639 (Div. 2)

这里补一下CD题,B题看错题浪费好多时间,太菜了比赛链接C题解题思路C题阅读理解,很迷很迷很迷…好不容易才理解好,对于这个无限的房间,我们将n作为一个周期,因为a的下标是k%n,所以我们0 ~ n-1 作为一个周期,这里可以想一下第一个周期里的 k + ai ,第二个周期k + n + ai (因为a的下标对n取模,所以是一样的),这里可以看成,第一个周期的占了下一个周期的第二个位置,然后下一个周期占据下下个周期的第二个位置… 循环完后,每个周期的第二个位置其实都被占据了(这里的第二个位置.

2020-05-12 11:05:56 148

原创 2020 - 05 - 11 个人笔记

又是坎坷的一天早晨:日常背单词上午:体育课干了啥忘记了,好像在躺着?然后补了个人笔记然后HBase搭建环境下午:离散然后继续搭建环境,太坎坷了,笔记迷好不容易搭建好环境,t1表创建好,结果java代码运行出错太难了然后再打vj虚拟赛,c题好迷,没读懂。(现在是第二天了,有些读懂了)然后听了听力,然后继续看题解中途还补了下Atcoder E题(学了个板子)...

2020-05-12 09:33:26 165

原创 AtCoder Beginner Contest 167

这里补一下E题比赛链接解题思路:这题自己没写出来,主要是不知道组合的板子首先正常来推理思路有n个点,m种颜色,然后最多有k个相邻点可以使颜色相同那么对于k我们就可以分解成0 - k ,k + 1种情况对于任何一个i (0 ~ k),我们都有ans = m * C(n - 1,i) * (m - 1) ^ (n - i - 1)这里的m是第一个位置选颜色的个数,那么后面的位都可以选用(m - 1) 个颜色,其中有i个位置的颜色与相邻相同,所以我们选出这i个位置,其他的就有n - .

2020-05-11 20:46:41 320

原创 2020 - 05 - 10 个人笔记

又是今天补昨天的博客,昨天状态不好,头疼,没学多少,晚上9点多就躺在床上,然后11点多应该睡着了早晨还是背了单词,然后再没干啥上午:然后做了2道div4的题,5.11把这场的题补一下(最少4题)然后去帮弟弟搬书下午:中午看了会电视,到下午的时候出门去理发(感觉这次理毁了)然后晚上去吃的烤鱼晚上回来后做了Atcoder(状态不太好,做了4题)然后就躺床上,11点多就睡了...

2020-05-11 09:52:23 233

原创 每日一题(牛客) — 2020 - 05 -10

最小生成树的题目,其实发现自己对一些算法的时间复杂度的计算不怎么好,还是要练一下,不过这题挺不错,是最小生成树的加强版题目链接自己的想法这题自己看大体知道是最小生成树,也知道是找与1相连的图,但是不太会整一部分是忘记最小生成树他的排序(知道是从小到大,但是那是裸最小生成树),然后就是不太会处理他的集合看大佬的思路和代码后才能白了解题思路:首先我们存储的时候要注意他是个有向图,从高到低才能走过然后是找出他们的集合,然后存储起来,这里我们要记录他的个数,因为要输出他最多到达的地方然后.

2020-05-10 13:09:49 188

原创 每日一题 — 2020 - 05 - 09

今天多题又是二分,不过自己又不知道,为啥看不出啥二分呢,唉,看来还是要多做题题目链接解题思路首先没看出来是二分,首先我们了来想一下为啥是二分二分的时间复杂度是logn,r大概是1e14,那么二分可以解决,二分答案还是做题少,不太知道怎么分析好这里的l是a中的最大值,r就是他们的合,然后直接套二分板子,然后我们判断分成几段即可代码:#include #include #include using namespace std;const int N = 100010;long l.

2020-05-09 23:31:22 135

原创 2020 - 05 -09 个人笔记

都忘了星期几了,今天星期六上的星期二的课好的,hhh早晨7:15醒的看完了英语单词,然后40多的时候看完了今天的又睡了一小会第一节英语听力,日常去看每日一题,不过不太会做,二分的题目,还没写题解呢然后第二节安卓课,调自己的代码,不知道为什么有些手机不能用,型号问题下午Hbase课,配置hadoop环境,基本配置好了,而且增长了一些知识hhh然后关电脑出了些小问题,吓了我一跳然后就收拾东西去玩弟弟家了然后主要整了听力,然后补博客hhh看了会论文...

2020-05-09 22:49:01 159

原创 2020 - 05 - 08 个人笔记

昨天忘记写个人笔记了,今天补上,hhh第一节是英语就是看了每日一题,又涨知识(不过好像不难)然后忘了干了啥,配置东西?然后应该写了下cf的题解然后帮找程序BUG下午安卓实验课,然后叫到自己,差点翻车,模拟器出了点问题,不过问题不大然后干了啥忘记了,好像写了linux的实验报告晚上晚上看英语,感觉自己又听不懂了然后整了安卓的实验报告然后看了会论文,看了会知乎...

2020-05-09 22:40:57 108

原创 Codeforces Round #501 (Div. 3)

这次补个D题吧,E1,E2 回头再看比赛链接D题解题思路:这个题首先要注意两点第一,如果是(n - 1) * k < s,那么不能够完成,因为(n - 1)* k 是走的最大的步数第二, 如果 s < k,那么也不符合,因为每次走一步的话也肯定会超过s,所以不符合然后其余的情况都是YES根据贪心的思想,我们肯定是一开始走比较大的距离,后面剩的距离我们慢慢走完这里是...

2020-05-08 11:18:33 148

空空如也

空空如也

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

TA关注的人

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