该文被密码保护。 阅读全文
posted @ 2019-07-11 18:32 h^ovny 阅读(4) 评论(0) 推荐(0) 编辑
摘要: "题面" 思路: 作为一个 后缀数组 的初学者,当然首先想到的是 后缀数组 把$s$这个串首尾相接,扩展为原来的两倍,就能按后缀数组的方法处理 证明: ~~神仙一眼就看出这是后缀的裸题,我这个蒟蒻想了半天想不出来~~ 如果我们只对$s$串进行后缀排序,明显无法处理如下的情况,~~于是就拿了30分~~ 阅读全文
posted @ 2019-03-04 18:54 h^ovny 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 上标 语法: x^2 效果: $x^2$ 下标 语法: x_i 效果: $x_i$ 整体 语法: x^{2y} 效果: $x^{2y}$ 大括号 语法: \\{\\} 效果: $\{\}$ 分数线 语法: \frac12 \frac{12}{23} 效果: $\frac12$ $\frac{12}{ 阅读全文
posted @ 2019-02-23 21:28 h^ovny 阅读(3454) 评论(0) 推荐(0) 编辑
摘要: "题面" 把$N$个无色格子排成一行,选若干个格子染成黑色,要求每个黑色格子之间至少间隔$M$个格子,求方案数 思路: 矩阵加速 根据题面,这一题似乎可以用递推 设第$i$个格子的编号为$i$,有$i$个格子时的方案数为$f(i)$ 显然,当 $i \le M+1$ 时, 可以所有格子 不染色 (方 阅读全文
posted @ 2019-02-21 21:09 h^ovny 阅读(272) 评论(0) 推荐(0) 编辑
摘要: "题面" 长度为$n$的数列,现有两种操作: 1、区间异或操作 2、区间求和操作 对于每个查询,输出答案 思路: 线段树+二进制拆位 线段树 区间修改 一般使用的都是 懒标记 的方法,但是对于异或,懒标记的方法显然是行不通的,于是就考虑 二进制拆位 主要的思路就是将一个数,拆成若干个二进制位,然后对 阅读全文
posted @ 2019-02-21 20:47 h^ovny 阅读(278) 评论(0) 推荐(0) 编辑
摘要: "题面" 给出一个$n$个数组成的数列$a$,有$t$次询问,每次询问为一个$[l,r]$的区间,求区间内 每种数字出现次数的平方×数字的值 的和 思路: 直接上莫队咯 ~~ ~~ 没学过莫队?!~~我也没办法~~ 这道题的数据范围在$2e5$的级别,有人会问莫队肯定要炸啊 捏~ 时限5000ms, 阅读全文
posted @ 2019-01-18 14:29 h^ovny 阅读(326) 评论(0) 推荐(0) 编辑
摘要: "题面" 大意:在加权无向图上求出一条从 $1$ 号结点到 $N$ 号结点的路径,使路径上第 $K + 1$ 大的边权尽量小。 思路: 由于我们只能直接求最短路,不能记录过程中的具体的边——那样会特别麻烦 所以,我们就尝试着去想更优的办法 题目中所说,能够免去 $K$ 条边的费用,那么对于要建设的边 阅读全文
posted @ 2019-01-08 10:59 h^ovny 阅读(189) 评论(0) 推荐(0) 编辑
摘要: "题面" 一个二叉树,边数为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 阅读全文
posted @ 2019-01-05 08:51 h^ovny 阅读(142) 评论(0) 推荐(0) 编辑
摘要: "题面" 好难表述啊~ 在n m的矩阵上,有一些大兵(为0),一些空地(一个正整数),障碍物( 1),现在摧毁一些空地,使所有大兵不能走出矩阵去(代价为表示空地的整数),求最小代价 思路: 网络流最小割 ~~“阻止”,“最小”,看到这样的字眼,肯定就要想到最小割啊~~ 在互相能到达的点之间建边,容量 阅读全文
posted @ 2019-01-02 14:29 h^ovny 阅读(155) 评论(0) 推荐(0) 编辑
摘要: "题面" 横的,竖的线~~短~~段,求最多能取几条没有相交的线段? 思路 ~~学过网络流的童鞋在哪里?~~ ~~是时候重整网络流雄风了!~~ ~~好吧,废话不多说~~ 这是一道最小割的题目 怎么想呢? 要取 最多 ,那反过来不就是 不能取的要尽量少 吗? 深思熟虑一番后,符合网络流中的 最小割 ,~ 阅读全文
posted @ 2019-01-02 14:01 h^ovny 阅读(223) 评论(0) 推荐(0) 编辑