摘要: 题意 给一个$1$到$n$的排列 现在有$m$个操作,每个操作是下面的一种: $(1,pos)$,指把$pos$位上的数增加$10,000,000$ $(2,r,k)$,询问操作,你需要输出一个数满足下列三个条件 1. 这个数不等于$a_i(1\leq i \leq r)$中的任意一个 2. 这个数 阅读全文
posted @ 2019-09-02 22:04 四季夏目天下第一 阅读(211) 评论(0) 推荐(0) 编辑
摘要: El Psy Congroo! 题意 给出一个长为$n$的数组$a$,与一个长为$m$的数组$b$ 求数组$a$与数组$b$的 最长公共上升子序列 长度并输出任意一组方案 $1\leq n,m\leq 5000$ 解法 这题很有意思 首先对于这类匹配问题,我们一般可以设$f[i][j]$表示$a$数 阅读全文
posted @ 2019-09-02 20:54 四季夏目天下第一 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个大小为$N$的数组$A$,每次对数组进行如下的变换: $B[i]=A[i]\oplus A[i+1]$ $A[i]=B[i]$ 这里的$\oplus$运算指异或 我们会发现每次数组$A$的长度会减一,当数组$A$的长度减至一时,结束变换 如果我们把每次变换后的$A$数组的第一项保存下来, 阅读全文
posted @ 2019-09-02 15:09 四季夏目天下第一 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题意 经典的 约瑟夫问题 $n$个人标号为$0...n 1$排成一圈,由第$0$个人开始报数,报到$k$的人~~去世~~ 求最后一个活下来的人是谁 解法 解法$0$:模拟算法$O(n^2)$ 链表模拟删除即可 入门题 解法$1$:线性算法$O(n)$ cpp int res = 0; for (in 阅读全文
posted @ 2019-09-02 13:05 四季夏目天下第一 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题意 给一张无向图,点带权,边也带权 要求在图中删去最少的边,使得对于每一条边,它所在连通块的点权之和大于其边权 解法 首先,看到题目里出现了 删边 ,我们首先想到反向加边(如 星球大战 ) 那么最后的答案就是$m ans$,$ans$为加入的边 考虑一个边权为$w$的边$E(u,v)$ 它是合法的 阅读全文
posted @ 2019-09-01 21:16 四季夏目天下第一 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题意 给一颗$n$个点的二叉树,每个点被标上了$1$到$n$中不同的标号 定义一棵树为 伪二叉树 当且仅当对于每个节点,其左子树所有节点的标号都小于它本身,右子树所有节点的标号都大于它本身;或是左子树所有节点的标号都大于它本身,右子树所有节点的标号都小于它本身 现在有一颗未标号的树,请为其标号使它成 阅读全文
posted @ 2019-09-01 19:49 四季夏目天下第一 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个二元组$(a,b)$ 每一次可以将这个二元组变为$(2a b,b)$或$(a, 2b a)$,问是否能够通过$\geq 0$次操作将其变成$(c,d)$ 如果有,输出一组合法解。 $T\leq 8\times10^4, 10^{18}\leq a,b,c,d \leq 10^{18}$ 阅读全文
posted @ 2019-09-01 10:43 四季夏目天下第一 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题意 给一颗$n$个点的树,对于结点$i$,你要给它标上一个$[l_i,r_i]$之间的数,要求所有边两端节点上标的数字的差的绝对值的总和最大 解法 首先要有一个贪心的思路: 对于一个点$x$,它选择的权值一定是$l_x$或$r_x$ 为什么会这样呢?意会一下证明 对于一个点,如果与它相连的点填的数 阅读全文
posted @ 2019-09-01 09:57 四季夏目天下第一 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个长度为$N$的排列$P$与一个正整数$K$,可以进行如下操作: 对于两个满足$|i j|\geq K$ 且$|P_i P_j|=1$的下标$i$和$j$,交换$P_i$与$P_j$ 我们的目的是要求操作后的排列字典序最小 解法 首先,这两个条件都不好判断,直接做是不太好搞的 考虑把这个数 阅读全文
posted @ 2019-08-30 22:33 四季夏目天下第一 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一颗带权树,求一个排列$P$,最大化 $$ \sum_{i=1}^{n 1}maxflow(P_i, P_{i+1}) $$ 其中$maxflow(x,y)$为点$x$到点$y$之间的最大流 解法 结论题 这个最大值就是所有边权的和,即所有情况中最优的一种 证明这个解是所有解中最优的: 考 阅读全文
posted @ 2019-08-30 19:37 四季夏目天下第一 阅读(143) 评论(0) 推荐(0) 编辑