随笔分类 - 解题报告
摘要:"题面" 思路: 作为一个 后缀数组 的初学者,当然首先想到的是 后缀数组 把$s$这个串首尾相接,扩展为原来的两倍,就能按后缀数组的方法处理 证明: ~~神仙一眼就看出这是后缀的裸题,我这个蒟蒻想了半天想不出来~~ 如果我们只对$s$串进行后缀排序,明显无法处理如下的情况,~~于是就拿了30分~~
阅读全文
摘要:"题面" 把$N$个无色格子排成一行,选若干个格子染成黑色,要求每个黑色格子之间至少间隔$M$个格子,求方案数 思路: 矩阵加速 根据题面,这一题似乎可以用递推 设第$i$个格子的编号为$i$,有$i$个格子时的方案数为$f(i)$ 显然,当 $i \le M+1$ 时, 可以所有格子 不染色 (方
阅读全文
摘要:"题面" 长度为$n$的数列,现有两种操作: 1、区间异或操作 2、区间求和操作 对于每个查询,输出答案 思路: 线段树+二进制拆位 线段树 区间修改 一般使用的都是 懒标记 的方法,但是对于异或,懒标记的方法显然是行不通的,于是就考虑 二进制拆位 主要的思路就是将一个数,拆成若干个二进制位,然后对
阅读全文
摘要:"题面" 给出一个$n$个数组成的数列$a$,有$t$次询问,每次询问为一个$[l,r]$的区间,求区间内 每种数字出现次数的平方×数字的值 的和 思路: 直接上莫队咯 ~~ ~~ 没学过莫队?!~~我也没办法~~ 这道题的数据范围在$2e5$的级别,有人会问莫队肯定要炸啊 捏~ 时限5000ms,
阅读全文
摘要:"题面" 大意:在加权无向图上求出一条从 $1$ 号结点到 $N$ 号结点的路径,使路径上第 $K + 1$ 大的边权尽量小。 思路: 由于我们只能直接求最短路,不能记录过程中的具体的边——那样会特别麻烦 所以,我们就尝试着去想更优的办法 题目中所说,能够免去 $K$ 条边的费用,那么对于要建设的边
阅读全文
摘要:"题面" 一个二叉树,边数为n$(2 define N 110 using namespace std; int b[N][5],s[N]; int n,p; int a[N][N],f[N][N]; int read() { int s=0; char c=getchar(); while(!is
阅读全文
摘要:"题面" 好难表述啊~ 在n m的矩阵上,有一些大兵(为0),一些空地(一个正整数),障碍物( 1),现在摧毁一些空地,使所有大兵不能走出矩阵去(代价为表示空地的整数),求最小代价 思路: 网络流最小割 ~~“阻止”,“最小”,看到这样的字眼,肯定就要想到最小割啊~~ 在互相能到达的点之间建边,容量
阅读全文
摘要:"题面" 横的,竖的线~~短~~段,求最多能取几条没有相交的线段? 思路 ~~学过网络流的童鞋在哪里?~~ ~~是时候重整网络流雄风了!~~ ~~好吧,废话不多说~~ 这是一道最小割的题目 怎么想呢? 要取 最多 ,那反过来不就是 不能取的要尽量少 吗? 深思熟虑一番后,符合网络流中的 最小割 ,~
阅读全文
摘要:"题面" 给定圆的半径,求圆上整点数 这是一道很Nice的数学题!超爱!好吧,由于这道题,我去Study了一下复数(complex number)~~复杂的数~~ 真棒!!! 有兴趣的戳这里!!! "$\huge \to$" 思路: 高斯素数的原理,将整数分解质因数后,再把每个质因数分解成高斯素数,
阅读全文
摘要:"题面" 就是让你——在字符串A中,如果字符串B是A的子串,那么就删除在A中第一个出现的B,然后拼接在一起,一直重复上述步骤直到B不再是A的子串 |A|$\le 10^6$ 思路: KMP+栈 1、由于是两个 字符串匹配 的问题,当然一下子就会想到 KMP 2、由于是 删去一段区间 ,很多人第一反应
阅读全文
摘要:"题面" 一道模拟题,模拟CPU的处理过程?!~~省选模拟题~~ 思路: 模拟~~退火~~大法+优先队列乱搞 要注意的点 1、空闲时,CPU要处理进程 2、当队列中没有进程时,要先进行判断,然后访问 3、当优先级高的进程替换掉原进程时,原进程已经处理过的时间要减去 4、结束进程时要更新后面进程的时间
阅读全文
摘要:"题面" ~~这是一道诡异的黄题~~ 居然让你求一串吧啦吧啦的东西中 字母(大小写)最长的回文串的长度,还要输出完整的串 ~~吐血~~ 思路: 保持淡定,我们啥都不会,就会Manacher,那就用 Manacher 大法! 1、把字符串处理成只有字母(去皮) 2、把字符串中插入 号(掺假) 3、Ma
阅读全文
摘要:"题面" 求环中的长度为k(k为奇数)且回文中心不同的回文串个数 思路: ~~刚学manacher算法,就送上一道模板题,此题注重对manacher算法的理解~~ Manacher,但是不用插入其他符号,因为k是奇数,中心一定在字符上 不知道Manacher? "洛谷日报" 上有讲,但是比较难懂,建
阅读全文
摘要:"题面" 主要~~大衣~~大意: 给定一个字符串,求 至少 加入多少个字符才能使字符串变成回文字符串 下面就是我一本正经的~~胡说八道~~题解 思路: 很显然,这应该是一道典型的 最长公共子序列 的题目 因此,主要思想就是 DP 方程式也挺好推的 于是我们就来讲一下为什么这题能用 最长公共子序列(L
阅读全文
摘要:"~~圆~~原题面" 我环顾四周,发现大佬们的写法都好高端! 比较差劲的我,只能交上一份 DFS 的题解 思路: DFS(当然了,其他算法也行) 要想切断 叶子节点 到 根节点 的连接 就是在 叶子节点 和 根节点 之间砍掉一条边 这明显就很符合 DFS 的性质,一条路一直走下去,遇到分枝就分开走
阅读全文
摘要:"English题面" 题意: 给你一个长度为n的字符串,依次取字符串前i个(前缀),如果前缀由k(k 0)个相同 "真子串" 构成,那么输出i和k 直到n为0结束,每组数据后要有一行空白 思路: KMP+一点点判断 其实这道题并不是很难 可以先用 KMP 求出 最长的 是 s[1~i] 的前缀和后
阅读全文
摘要:"题面戳这里" 啥都别看,只是求 $a^b$所有的因数的和 思路: ~~真没想到!~~ 其实我们可以先将$a^b$ 分解成质因数 的 因为$a^b$的因数肯定是$a^b$的质因数在一定的条件下相乘而成的 然后 组合一下 正解!!! h^ovny:走开!别误导别人! 来一波公式: $a=\Pi^n_{
阅读全文
摘要:"题面" ~~看不懂?!~~ 大概的意思就是: 给出一个长度为n的序列,然后每次只能交换相邻的两个数,问最小需要几次使序列 严格上升 不断读入n,直到n=0结束 思路: 交换相邻的两个数,这不就类似冒泡排序吗?但是 n define ll long long using namespace std;
阅读全文
摘要:题面 "传送门" 思路: 离散化 、 hash 对于这样一个明显的统计排序的题目,当然轻而易举啦~ 但是!看!语言的编号 a 数组和 b 数组的值最大在$10^9$的级别,所以开个数组来存———That's impossible! 所以我们可以用上 离散化 (也就是hash) 离散化,我们有两种写法
阅读全文
摘要:"题目在这里啊题目在这里~" Hamilton路径:将所有点都遍历刚好一次的路径 思路: 数据范围比较小(1~20),所以我们可以考虑 暴力 中的 枚举 数组 i的二进制表示选取了哪些点 j表示以哪个点结尾 然后就是状态压缩 由于求的是 最小值 ,所以一开始的时候要 赋初值INF 为了有解, 应该
阅读全文

浙公网安备 33010602011771号