摘要: 题目大意 给出n个数,每次选择任意一个区间加或减1,求最少多少次能在$mod m$意义下全变成0。 Solution 首先我们对于这n个数前后加个零,在$mod m$意义下差分一下。 $f[i]=(a[i]-a[i-1]+m)mod m$ 于是区间加减1操作就转换成了在某一位加一,另一位减一。 容易 阅读全文
posted @ 2018-05-03 12:53 skylynf 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 题目大意 n个数,求最多分成几组,使每组的和一样。 Solution of mine 简单可见n个数的总和一定能被组数整除。 首先预处理第$i$位向后$2^j$个数的和。 对于总和$sum$的每个因子x,我们执行$sum/x$次倍增查找下一个位置是否分割点。 复杂度O(因子个数和) 因为因子个数和上 阅读全文
posted @ 2018-04-30 17:26 skylynf 阅读(506) 评论(0) 推荐(0) 编辑
摘要: Problem Puzzle 题目大意 给一个串s和数T,求最少插入多少个乘号或加号可以使答案为T。 Solution 因为数据较小,然后我们直接深度优先搜索。 但是我们需要加上四个剪枝。 若当前已经搜索完毕的算式总和大于T则停止 若当前加入的符号大于目前最小符号则停止 若当前累加的数乘上前一个数已 阅读全文
posted @ 2017-09-20 22:23 skylynf 阅读(851) 评论(0) 推荐(0) 编辑
摘要: Problem Greemdam 题目大意 给一个图$G=(V,E)$,求要使这个图的最短路增长所需要增加的最小权值的值。 Solution 既然是要求这个玩意儿,我们可以排除除了最短路以外的所有路径,因为这些是无用的。 对于每一条最短路路径,如果这条路径与任意一个最短路路径有相同的一条边, 那我们 阅读全文
posted @ 2017-09-20 21:38 skylynf 阅读(491) 评论(0) 推荐(0) 编辑
摘要: Problem ALOEXT 题目大意 给出一个数据结构维护一个数列,要求支持以下操作: 向数列中某个位置插入一个数 将数列中某个位置的数删除 将数列中某个位置的数换成另外一个数 查询一段区间内的次大值与这段区间内整数的异或最大值 要求强制在线。 Solution 看到这个题目以后我们脑子里弹出了许 阅读全文
posted @ 2017-08-16 22:15 skylynf 阅读(581) 评论(7) 推荐(1) 编辑
摘要: Problem 踩气球 题目大意 给m个区间和一个数列,每次对其中一个数减一,强制在线求每次操作后区间内数字全都为0的区间。 Solution 对于数列开一个线段树。对于线段树每一个点开一个vector存区间的id。 这样我们一共最多会存下$\log m$个id。 对于每次操作,维护线段树sum值。 阅读全文
posted @ 2017-08-11 16:16 skylynf 阅读(417) 评论(1) 推荐(0) 编辑
摘要: Problem 树的统计 题目大意 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 阅读全文
posted @ 2017-08-09 20:00 skylynf 阅读(397) 评论(0) 推荐(0) 编辑
摘要: Problem 遗产 题目大意 一个平面上n个圆,任两个圆只会相离或包含,给出每个圆位置与半径。 alice&&bob轮流取圆,每取一个就可以取出这个圆以及被这个圆包含的圆。 没圆取的人输,alice先取,问谁有必胜策略。 Solution Method #1 首先我们考虑一个暴力一点的写法: 先将 阅读全文
posted @ 2017-08-09 11:39 skylynf 阅读(363) 评论(0) 推荐(0) 编辑
摘要: Problem 灯 题目大意 n盏灯排成一列,标号一到n,一开始标号为1的灯亮着。 现在依次对于2~n的每一个质数pi,指定一盏亮着的灯ai,点亮所有标号为$A[i]\pm kP_i$的灯。 有spj,任意一种方案即可。 输入一个整数n,输出点灯方案。 Solution 首先写个暴力,考虑一下小范围 阅读全文
posted @ 2017-08-07 20:20 skylynf 阅读(349) 评论(0) 推荐(0) 编辑
摘要: Problem 遗产 题目大意 罗马皇帝很喜欢玩杀人游戏。 他的军队里面有n个人,每个人都是一个独立的团。最近举行了一次平面几何测试,每个人都得到了一个分数。 皇帝很喜欢平面几何,他对那些得分很低的人嗤之以鼻。他决定玩这样一个游戏。 它可以发两种命令: 1. Merger(i, j)。把i所在的团和 阅读全文
posted @ 2017-08-03 07:47 skylynf 阅读(385) 评论(0) 推荐(0) 编辑