自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Educational Codeforces Round 73 (Rated for Div. 2) D(dp)

D 给你n个点的初始值,和每个点提升1所需要的代价,问最少需要代价能够使任意相邻的两个点的值不同。 结论1, 每个点的提升值不超过2 例如 4 4 5 中间的4最多提升到6 那么对于每个点我们有三个状态 +0 +1 +2 ,下一个点也可能有3个状态, 则一趟状态转移有9个状态, 则dp的复杂度为9*n 我们令dp[i][j] 为前i个都满足条件 并且第i个上升值为j的时候的最小花...

2019-09-22 15:35:25 177

原创 杭电多校第二场 I Love Palindrome String (Pam+Hash)

给你一个字符串,问长度为0~|s| 满足l~r为回文串 并且l~(l+r)/2 也为回文串的数量 由题意可知如果长度为偶数则 需要满足l~(l+r)/2 == (l+r)/2+1~r 如果长度为奇数则需要满足l~(l+r)/2==(l+r)/2~r 对于回文树上的每个节点,我们预处理每个节点的回文串的末尾字符所在的下标 然后hash特判回文串是否满足 然后根据长度累计答案 #incl...

2019-09-19 22:29:50 196

原创 Codeforces Round #577 (Div. 2) D(DP)

给你一张n*m个的表格和k个点有宝藏, 以及只有b列的位置可以往上走,在其他列只能往左或者往右走,每次只能往左往右或者往上选择一个方向走一格,问从(1,1)找到所有宝藏最少需要多少步 做法: 考虑走完每层所有有宝藏的时候,必然是位于最左边有宝藏的位置和最右边有宝藏的位置 设dp[i][0], dp[i][1] 分别为从1到第i层找到所有宝藏后位于最左边宝藏的位置时的最短路径和最右边宝藏位置的...

2019-09-17 23:28:19 131

原创 BZOJ 4892 DNA (sa+暴力)

给你一个母串 和 一个子串 问母串中有多少个子串更改不超过三个字母 可以和子串相匹配。 做法: 把母串和子串连起来建sa数组 然后 对母串的开头 和子串的开头进行枚举,如果首字母相同则求下一个跳到当前位置+lcp(母串当前位置,子串当前位置) 然后继续往下比较 最多只要跳不超过3次 就可以完成一次 开头的枚举 建sa O(T*nlog(n)) n为母串加子串的长度 暴力 O(T*3*n)...

2019-09-16 22:59:39 135

原创 序列自动机学习

序列自动机一个可以n*(字符集)的复杂度预处理出字符串第i位及以后第一次出现大于字符j的位置 原理 if x>j dp[i][j]=i; else dp[i][j]=dp[i+1][j]; #include<iostream> #include<cstdio> #include<algorithm> #include<cmat...

2019-09-09 20:47:31 238

原创 回文树/回文自动机学习

len[i]:节点i的回文串的长度 next[i][c]:节点i的回文串在两边添加字符c以后变成的回文串的编号 fail[i]:指向i的最长回文后缀且不为i cnt[i]:节点i表示的回文串在S中出现的次数(建树时求出的不是完全的,count()加上子节点以后才是正确的) num[i]:以节点i回文串的末尾字符结尾的但不包含本条路径上的回文串的数目。(也就是fail指针路径的深度) last:指向...

2019-09-07 21:03:34 189

原创 2019徐州icpc网络赛补题

G :给你一个字符串求所有的回文子串中不同种类字母的数量(每个回文子串单独计算) 做法首先建立回文树,并求出与每个节点i回文串出现的次数,然后分别在偶节点0和奇节点0跑dfs, dfs的点来自next树,边表示字符串c,节点表示回文子串,则每次dfs到一个节点,答案更新为该点的回文串出现次数*已有的字符数种类数。字符种类数用一个26大小的vis数组存每次找到下一个点则vis[边]++, 回溯则...

2019-09-07 20:50:27 264

原创 2019南京网络赛A 题解

首先O(1)算出 m个点的对应的beauty值,然后就变成了一个二维数点问题,在一个n*n的矩阵上,有m个点,q个询问 每次询问一个矩阵内的值之和。由于n的范围为1e6,二维树状数组加离散化或者二维前缀和加离散化开不下,如果用map存pair 会多加一个log 复杂度为n(logn)(logn) 会T,这里要用到二维偏序预处理加一维树状数组。 在y轴上建立树状数组,对每个点的x轴和y轴进行排...

2019-09-06 22:49:07 171

原创 ac自动机学习

模板: #include<bits/stdc++.h> using namespace std; const int N=500005; struct ac_automation { int trie[N][26]; int e[N]; //字符串的结尾标记 int fail[N]; int L,root; int newnode()...

2019-09-01 11:34:23 109

空空如也

空空如也

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

TA关注的人

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