随笔分类 -  G-字符串===================

摘要:Template 算法逻辑: 模板: 注意: 1、可以利用基数排序直接算出排名 求出前缀和后其实就表示了该权值下的排名上界,每次将上界减一 因此要按第二关键字从大到小算SA 2、当已经出现$len$个$rank$时即可退出 Exercises 1、[BZOJ 4892]Dna 一共只有$n-m+1$ 阅读全文
posted @ 2018-12-28 12:02 NewErA 阅读(293) 评论(0) 推荐(0)
摘要:Link: P1580 传送门 Solution: 拿来练练字符串的读入: 1、$gets()$相当于$c++$中的$getline()$,但返回值为指针!(无数据时为NULL) (都读入换行符,并将其舍弃) 2、$sscanf(起始指针,.....,......)$可以实现从另一个字符串读入 3、 阅读全文
posted @ 2018-07-09 19:34 NewErA 阅读(168) 评论(0) 推荐(0)
摘要:Link: ARC060 传送门 C: 由于难以维护和更新平均数的值: $Average->Sum/Num$ 这样我们只要用$dp[i][j][sum]$维护前$i$个数中取$j$个,且和为$sum$的个数 最后统计$dp[n][k][k*a]$即可 这样就得到了$O(n^4)$的解法 #inclu 阅读全文
posted @ 2018-07-02 13:13 NewErA 阅读(197) 评论(0) 推荐(0)
摘要:Link: UVa 11732 传送门 Solution: 思路还是很套路:建$Trie$树,在$Trie$树上跑一遍统计答案 (统计答案时注意将叶节点特殊处理,同时对于$e(u,v)$用$val[v]*(val[u]-val[v])$来统计个数) 重点在于此题的存储方式:左儿子右兄弟存储法 (链表 阅读全文
posted @ 2018-06-30 20:09 NewErA 阅读(199) 评论(0) 推荐(0)
摘要:Link: LA 3942 传送门 Solution: 感觉自己字符串不太行啊,要加练一些蓝书上的水题了…… $Trie$+$dp$ 转移方程:$dp[i]=sum\{ dp[i+len(x)+1]\} (x为从第i位开始的字符串的前缀)$ 计算一个字符串前缀的多模式匹配在$Trie$树上跑一遍就行 阅读全文
posted @ 2018-06-30 19:54 NewErA 阅读(253) 评论(0) 推荐(0)
摘要:Link: BZOJ 1212 传送门 Solution: 看到字符串的多模式匹配,正解一般就是Trie树/AC自动机 此题由于每个模式串长度都很小,于是直接在Trie树上暴力就行了 先把所有模式串建一颗Trie树, 用$DP[i]$表示能否匹配到第$i$个字符,如果能,则从第$i+1$位开始继续从 阅读全文
posted @ 2018-06-01 10:33 NewErA 阅读(263) 评论(0) 推荐(0)
摘要:Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2342 Algorithm: 解决回文串问题,一般从对称轴下手。 肯定先跑一边Manacher,(可以只记录长度为偶数的回文串) 枚举x为“主”对称轴,实际上对称轴在x到x+1之间。这样外层 阅读全文
posted @ 2018-05-23 09:20 NewErA 阅读(184) 评论(0) 推荐(0)
摘要:Brief Intro: 1操作:添加一个数 2操作:寻找一个数v,ki∣GCD(xi,v), xi+v≤si, 且v^xi最大 Algorithm: 以前做的关于异或和字符串的题目比较少,这题就当是补基础了吧 此题对v的限制条件很多,其中V、Xi异或值最大我们发现是一类经典问题 建立Trie树,贪 阅读全文
posted @ 2018-05-17 22:37 NewErA 阅读(358) 评论(0) 推荐(0)
摘要:[Codeforces 17E] Palisection 阅读全文
posted @ 2018-05-14 07:23 NewErA 阅读(224) 评论(0) 推荐(0)