07 2020 档案

摘要:本题解用于本蒟蒻加深算法印象,也欢迎大家阅读 本篇题解将分为四块,一步一步地讲解本题, Part 1: O(n^3) \(n^3\) 算法应该非常的显然,我们设 \(f_{i,j}\) 为到 \(i\) 个任务,分为 \(j\) 个批次所使用的最少时间,易得转移方程为: \[ \begin{arra 阅读全文
posted @ 2020-07-31 21:28 Point_King 阅读(144) 评论(0) 推荐(0)
摘要:这道题是在告诉我们如何成为时间管理大师(逃 题目大意 一开始给予你长度为 \(n\) 的一个空串,接下来给予你3种操作: \(DS~x\) :寻找串中长度大于等于 \(x\) 的 $0$ 串中最靠左的一个,输出他的左边界 \(l\) 和一个奇怪的字符串 \(",let's~fly"\) ,并将 \( 阅读全文
posted @ 2020-07-30 23:07 Point_King 阅读(164) 评论(0) 推荐(0)
摘要:P.S.此题无代码,只有口胡,因为作者码炸了。 题目大意 给你一个有 \(n\) 个点, \(m\) 条边的无向图,进行 \(q\) 次询问,每次询问两个点 \(u\) \(v\),输出两个点的之间的路径经过了几个割点。 题解 这是一道模板题,先考虑用 \(Tarjan\) 求出割点的位置,再选择缩 阅读全文
posted @ 2020-07-30 19:08 Point_King 阅读(108) 评论(0) 推荐(0)
摘要:题目大意 给你一个具有 \(m\) 条边的图( $2\le m\le 100$ ),询问两点之间正好经过 \(k\) 条边的最短路( $2\le k\le 1e6$ )。 题解 对于这种正好经过 \(k\) 条边的问题,使用矩阵快速幂求解。但是这里的矩阵快速幂需要进行修改,改为 \(C_{ij}=m 阅读全文
posted @ 2020-07-27 21:08 Point_King 阅读(88) 评论(0) 推荐(0)
摘要:题目大意 给你两个 \(n\) 个整数的排列,第一个排列表示原排列,第二个排列表示第 \(i\) 个数可以和 \(i\) 变成第 \(g_i\) 个数,问,最少对所有数进行几次操作可以使原排列变为有序的排列。 题解 首先,我们可以利用第二个排列建图,易得每一个点只有一个出度,一个入度,所以这幅图只由 阅读全文
posted @ 2020-07-27 20:56 Point_King 阅读(151) 评论(0) 推荐(0)
摘要:突然发现题刷累了写写题解还是满舒服的 题目大意: 给你一个只包含 \(R\) , \(P\) ,长度为 \(n\) 的字符串( $3\le n\le 10^5$ )。你可以选择一个跳跃距离 \(l\) ( $1\le l\le n-1$ ),并对于每一种跳跃距离,你可以随意选择一个起点,进行若干次跳 阅读全文
posted @ 2020-07-24 19:53 Point_King 阅读(100) 评论(0) 推荐(0)
摘要:题目大意 定义一种 \(Gabonacci\) 数列: \[ \begin{array}{c} G_1=a\\ G_2=b\\ G_i=G_{i-1}+G_{i-2} \end{array} \] 给定一个正整数 \(n\) ,求最小的 \(a\) , \(b\) 使得 \(n\) 是该数列上的一个 阅读全文
posted @ 2020-07-23 15:59 Point_King 阅读(101) 评论(0) 推荐(0)
摘要:本篇题解用于作者本人对于矩阵乘法的印象加深,也欢迎大家的阅读。 题目大意 众所周知,斐波那契数列为 \(f(0)=1\) , \(f(1)=1\) ,\(f(n)=f(n-1)+f(n-2)~(n>=2)\) 。 定义另一种斐波那契数列: \(A(0)=1\) , \(A(1)=1\) , \(A( 阅读全文
posted @ 2020-07-21 20:26 Point_King 阅读(147) 评论(0) 推荐(0)
摘要:作为作者今天唯一做出来的一道题,作者表示只能写这题的题解了…… 题意如题目,就是求第 \(n\) 个质数,但是 \(n<=1e9\) ,所以我们必须使用小于线性的做法来做这题。因为 \(n\) 是质数的序号,我们不可能直接通过数学方式处理(黎曼猜想说不定可以?)。 我们可以先思考另外一个问题,即我们 阅读全文
posted @ 2020-07-21 18:57 Point_King 阅读(351) 评论(0) 推荐(0)
摘要:这是一个作者历经千辛万苦,从无数次 \(WA\),\(RE\),\(TLE\) 中得到的心得体会与感悟。 这是一道后缀排序的进阶题,是一道很好的题目,作者认为它可以很好的加深我们对于后缀排序的理解。 首先,我们可以很容易的判断出来,这是一道后缀数组的题目,因为他要求我们找出在一棵基环树上,字典序最大 阅读全文
posted @ 2020-07-17 19:45 Point_King 阅读(134) 评论(0) 推荐(0)
摘要:这是作者对于这道典型例题思路的记录,用于作者自己本人对于字典树和异或的应用的加深印象,同时也欢迎大家的阅读。 这道题据说是有合理的最小生成树算法可以过(好像是$Boruvka$),但是没有试过,感觉是不可以过的。 这一道题的$n<=2e5$,用普通的$Prim$和$Kruskal$绝对是会炸的,无论 阅读全文
posted @ 2020-07-17 19:11 Point_King 阅读(292) 评论(0) 推荐(0)
摘要:题目描述: 计算乘法时,我们可以添加括号,来改变相乘的顺序,比如计算 \(x_1,x_2,...,x_{n-1},x_n\) 的积,我们可以: \((x_1(x_2(...(x_{n-1}*x_n))))\)......\(((((x_1*x_2)...)x_{n-1})x_n)\) 你的任务是编程 阅读全文
posted @ 2020-07-15 12:03 Point_King 阅读(97) 评论(0) 推荐(0)
摘要:本篇题解用于作者本人加深理解,也欢迎大家阅读。 这道题的正解是$KMP$加上树状数组,记录每一个位置前几个位置比其小的、相等的、大的数的数量,比较方式便是比较相应的数量,若相等,则匹配成功。 但是本篇题解使用了$Hash$的做法,因为$1<=s<=25$,所以我们可以利用一个数组,并利用二进制的压缩 阅读全文
posted @ 2020-07-14 13:54 Point_King 阅读(150) 评论(0) 推荐(0)
摘要:其实最优的方法其他的题解已经讲得很好了,本题解仅用于记录和分享一个新的思路。 这道题是让你输出符合条件的序列,而序列的每个数之间具有一定的逻辑关系,很容易想到拓扑排序,于是此题就变为,如何找出满足条件的逻辑关系。 我们可以先看一下操作次数最多的序列: (每一条红线都是一次操作),我们可以删除一次操作 阅读全文
posted @ 2020-07-14 13:50 Point_King 阅读(151) 评论(0) 推荐(0)
摘要:一个奇怪的思路。 在讲解题目之前,我们先来证明一个奇怪的东东: 任何一种的可行状态,必然可以变为一个至少有一个城市不用向上一个网络站获取连接(即该城市自给自足)的可行状态。 先假设有一个全部向左右获取连接的可行状态。 如图,假设k是所有$bi$为$a(i+1)$提供的连接中最小的一个,我们可以尝试删 阅读全文
posted @ 2020-07-14 13:46 Point_King 阅读(150) 评论(0) 推荐(0)
摘要:本蒟蒻在开开心心地A了这道题后打开了题解…… ?!状压?! 所以此篇题解在这里提供的是一种奇怪的做法。 首先,易得: 每一个灯最后的状态只与最后一次(对这个灯的)操作(1or-1)有关。 所以,正确的最后一次操作中不可以含有-1这个数,因为有-1就意味着最后有灯是打开的就无法达到最后的目标——灯全部 阅读全文
posted @ 2020-07-14 13:45 Point_King 阅读(160) 评论(0) 推荐(0)