摘要: 前言 这个是我个人使用的Vim配置。双引号杠掉的部分是关于光标行列高亮(觉得难受而杠)和输入左括号同时打上右括号的(不习惯),如果要启用的话去掉引号即可。 将以下要启用的输入到$“./vimrc”$中的底端即可。 解释 $syntax$以及六个$set$请自行查找(其实我也不知道,必备的配置,有空补 阅读全文
posted @ 2019-01-24 22:18 AC-Evil 阅读(317) 评论(0) 推荐(0)
摘要: 这道题一开始尝试用数学方程来解,后来觉得太复杂,事实上解的个数很少,所以就考虑搜索了,不确定的格子枚举,确定的格子填上,如果发现错误就退出。 阅读全文
posted @ 2019-01-24 19:16 AC-Evil 阅读(174) 评论(0) 推荐(0)
摘要: 这道题的题意很显然。首先区间一定包括p,其次区间一定满足p左边右边大于p的数的个数和小于p的相等,于是将p左边和右边大于p和小于p的个数统计下。如果开二维数组记录空间太大了,事实上只要记录它们的差值即可。最后将差值能互补的乘起来加到答案里即可。具体做法见以下代码。 阅读全文
posted @ 2019-01-24 15:10 AC-Evil 阅读(131) 评论(0) 推荐(0)
摘要: 这道题根据题意,易知k的幂与p的二进制形式有关系,然后再一波高精度即可。(这里我用$n、k$代替了$k、p$) 阅读全文
posted @ 2019-01-23 17:26 AC-Evil 阅读(143) 评论(1) 推荐(0)
摘要: 这道题比较简单,就是一个最短路(SSSP)。数据水,用Floyd即可AC。这里用了Dijkstra。 #include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using nam 阅读全文
posted @ 2019-01-23 15:01 AC-Evil 阅读(177) 评论(0) 推荐(0)
摘要: 这道题实质上就是:若每个空位的上下左右有$l,r,u,d$个常青树,最后求每个空位的$C(l,k)*C(r,k)*C(u,k)*C(d,k)$的和。 由于实际坐标点很多,而树很少,又因为$k>0$对于没有树的行和列我们都没有必要处理。 所以通过离散化可以将规模转化成$W*W$级别的。 再通过扫描的方 阅读全文
posted @ 2018-12-15 18:40 AC-Evil 阅读(233) 评论(0) 推荐(0)
摘要: 这道题第一眼看是暴力,然后发现直接暴力会TLE。 把问题转换一下:移动空格到处跑,如果空格跑到指定位置的棋子,交换位置。 这个可以设计一个状态:$[x1][y1][x2][y2]$,表示空格在$(x1,\ y1)$,棋子在$(x2,\ y2)$的状态,可以向四个方向进行转移。 直接转移,对于每一组询 阅读全文
posted @ 2018-11-03 18:24 AC-Evil 阅读(423) 评论(0) 推荐(0)
摘要: 这道题的主要思想是倍增。其次的难点在于预处理,这里使用链表来实现。 复杂度:$O(n log n)$ 阅读全文
posted @ 2018-11-03 18:01 AC-Evil 阅读(519) 评论(0) 推荐(1)
摘要: 下面的代码能过 洛谷P3808 【模板】AC自动机(简单版)。 阅读全文
posted @ 2018-10-29 22:33 AC-Evil 阅读(299) 评论(0) 推荐(0)
摘要: 题意:在一棵树上,每条边有距离,有若干个军队,每秒走一单位距离,可以往各个节点移动,但最后不能停在1号节点。求覆盖所有叶节点的最短时间是多少。 为了优化大家的阅读感受,先放题解标程,再放解题过程&部分分 首先,军队一定是往根节点走,这样可以使覆盖的叶节点尽可能多,所以要贪心。要使时间最小,就要二分时 阅读全文
posted @ 2018-10-21 12:29 AC-Evil 阅读(530) 评论(0) 推荐(0)