自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hongkongreporter

命运莫测,自己看不清

  • 博客(13)
  • 收藏
  • 关注

原创 20200807 练习:字符串

T1 P3193 [HNOI2008]GT考试思路:设 fi,jf_{i,j}fi,j​ 表示有 iii 个号码,kmp 上匹配到第 jjj 位时的情况总数gi,jg_{i,j}gi,j​ 表示 kmp 上第 iii 个位置转移到第 jjj 个位置的总方案数有 dp 方程:fi,j=∑k=0mfi−1,k×gk,jf_{i,j}=\sum_{k=0}^{m} f_{i-1,k}\times g_{k,j}fi,j​=k=0∑m​fi−1,k​×gk,j​时间复杂度:O(n)O(n)O(n)

2020-08-07 22:42:23 226

原创 20200806 专题:manacher

总览:O(n)O(n)O(n) 找回文串Manacher算法本质上也是基于暴力匹配的方法,只不过做了一点简单的预处理,且在扩展时提供了加速Manacher 对字符串的预处理:在字符间添加符号,将偶回文串变成奇回文串在字符串首尾添加字符,防止越界基本概念:回文半径和回文直径:回文半径是包括回文中心在内的回文子串的一半的长度,回文直径则是回文半径的 2 倍减 **1 。最右回文边界:在遍历字符串时,每个字符遍历出的最长回文子串都会有个右边界,而R则是所有已知右边界中最靠右的位置,也就是说最右

2020-08-06 14:54:22 116

原创 20200805 SCOI模拟T3(字符串哈希+二分)

T3 P4324 [JSOI2016]扭动的回文串思路:发现拼接成的回文串中, 较长的回文串必有一段前(后)缀为回文串即必然是一段回文串和两段相同的字符串拼接于是可以先二分找回文串,再二分找拼接的串单独考虑上下相同的情况&&ab&&&&&&ba&&\&\&ab\&\&\&\\\&\&\&ba\&\&&&ab&amp

2020-08-06 00:14:06 103

原创 20200805 SCOI模拟T2(树哈希+换根dp)

T2 P4323 [JSOI2016]独特的树叶思路:考虑一种树哈希fx=1+∑y∈sonxfy×pr(szy)f_x=1+\sum_{y\in son_x} f_y\times pr(sz_y)fx​=1+y∈sonx​∑​fy​×pr(szy​)其中 pr(i)pr(i)pr(i) 表示第 iii 个质数考虑处理出每个节点为根时的哈希值知道 xxx 为根时 x,yx,yx,y 的哈希值,求 yyy 为根时的哈希值yyy 子树的哈希值不变,考虑如何处理祖先的哈希值哈希值与深度无关,可以

2020-08-06 00:04:30 152

原创 20200805 SCOI模拟T1(分数规划)

T1 P4322 [JSOI2016]最佳团体思路:分数规划二分套路∑pi∑si≥mid∑(pi−si×mid)≥0\frac{\sum p_i}{\sum s_i}\geq mid\\\sum {(p_i-s_i\times mid)}\geq 0∑si​∑pi​​≥mid∑(pi​−si​×mid)≥0然后每次将点值赋为 pi−si×midp_i-s_i\times midpi​−si​×mid做树上的背包问题求最大值注意卡常代码:#include <bits/stdc++.

2020-08-05 23:51:29 75

原创 20200804 专题:仙人掌(圆方树)

总览:无向仙人掌图的定义:任意一条边至多只出现在一条简单回路的无向连通图称为仙人掌。处理方法:建立圆方树圆方树的建点:原图中的点都是圆点对于每个点双连通分量,新建一个方点,这个方点和环上其它圆点连成菊花图对于不在环上的两个圆点,保留原图中的边根据仙人掌的性质,易证不存在相邻的两个方点边 (u,v)(u,v)(u,v) 权值的确定:若 u,vu,vu,v 都是圆点,则权值为原图中边权若 uuu 为方点,则权值为 vvv 到 uuu 父亲的最短路感性理解:对于图中每一个

2020-08-04 22:49:25 373 1

原创 20200803 SCOI模拟T1(数学问题)

思路:分类讨论a=1a=1a=1:总流量为奇数,显然不成立b=1b=1b=1:用一条流量为 1 的边将它变成一条流量为 1 的边n=2n=2n=2:讨论 a,ba,ba,b 的奇偶性即可n>2n>2n>2:最优情况必定是流量为 1 和 2 的各成一个环,通过一个点相连判断 a+b−1≥na+b-1\geq na+b−1≥n 即可代码:#include <bits/stdc++.h>using namespace std;namespace IO {c..

2020-08-04 00:19:53 102

原创 20200803 专题:LCT

总览:用 splay 动态维护树的信息支持加边断边,换根等操作可以维护连通性板子:struct LCT { int ch[2], f; int rev;} tr[A];#define ls(x) tr[x].ch[0]#define rs(x) tr[x].ch[1]inline int isroot(int x) { return ls(tr[x].f) != x && rs(tr[x].f) != x; }inline void pushup(int x)

2020-08-03 16:21:33 119

原创 20200801 专题:线段树分治

2020-08-02 15:53:25 125

原创 20200731 SCOI模拟T3(线段树分治)

2020-08-02 00:21:30 103

原创 20200731 SCOI模拟T2(分块套分块)

T1 铃铛计数问题思路:考虑对 l,rl,rl,r 进行分块预处理出每个节点的祖先在每个块中的数量,修改某点权值可以在 nnn\sqrt nnn​ 的时间内维护

2020-08-01 17:01:56 191

原创 20200728 SCOI模拟T2(状压dp)

T2 P6622 [省选联考 2020 A/B 卷] 信号传递思路:发现对答案产生影响的实质是边的经过次数 cnti,jcnt_{i,j}cnti,j​令 iii 的位置为 posipos_iposi​则一条边 i,ji,ji,j 对答案的贡献为{posj−posi(posi<posj)k(posi+posj)(posi>posj)\begin{cases}pos_j-pos_i(pos_i<pos_j)\\k(pos_i+pos_j)(pos_i>pos_j)\e

2020-08-01 16:38:30 105

原创 20200728 SCOI模拟T1(线段树上二分)

T1 P6619 [省选联考 2020 A/B 卷] 冰火战士思路:发现选择一个温度时,冰系的贡献时前缀和,火系的贡献是后缀和,答案为较小的贡献的两倍因为一个贡献单增,一个单减,肯定存在一个点双方贡献相等因为温度属于整数,所以最佳温度为这个点左右的最近温度对于一次询问,可以两次二分找到这两个温度因为要求最大的最佳温度,当零点右侧的点最佳时,可能存在更加右侧的点,最终结果一样,于是需要第三次二分维护前缀后缀和,可以用线段树时间复杂度:O(nlog2n)O(nlog^2n)O(nlog2n),不

2020-08-01 16:08:46 188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除