上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页
摘要: 题目描述: 题解: 先见出Trie图,然后bfs出所有状态。 我们按照字典序遍历,只要找到合法串直接跳出。这样可以保证长度最小+字典序最小。 代码: 阅读全文
posted @ 2018-11-30 20:07 LiGuanlin 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目描述: Fish是一条生活在海里的鱼。有一天他很无聊,就到处去寻宝。他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进。 通过翻阅古籍,Fish 得知了这个密码的相关信息: 该密码的长度为N。 密码仅含小写字母。 以每一个字符为中心的最长回文串长度。 以每两个相邻字符的间隙为中 阅读全文
posted @ 2018-11-30 19:59 LiGuanlin 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串。 例如当S=(22,333,0233)时,233是幸运数,2333、20233、3223不是幸运数。 给定N和S,计算不大于N的幸运数个数。 题解:trie图上数位dp。 好像很裸的样子。 代 阅读全文
posted @ 2018-11-30 19:38 LiGuanlin 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给定整数K和质数m,求最小的正整数N,使得 11111⋯1(N个1)≡K(mod m) 说人话:就是 111...1111 mod m =K 题解: 将两边一起*9+1,左边就是10^ans,然后BSGS即可。 代码: 阅读全文
posted @ 2018-11-30 19:28 LiGuanlin 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 将原式处理成A^x≡B(mode C)的形式即可。 代码: 阅读全文
posted @ 2018-11-30 19:26 LiGuanlin 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 貌似是BSGS板子题。 代码: 阅读全文
posted @ 2018-11-30 19:23 LiGuanlin 阅读(141) 评论(0) 推荐(0) 编辑
摘要: BSGS和EXBSGS是OI中用于解决A^xΞB(mod C)的常用算法。 1.BSGS BSGS用于A,C互质的情况。 令m=sqrt(C),此时x可表示为i*m+j。 式中i和j都<=sqrt(C) 原式Ax≡B(mode C) -->Ai*m * Aj≡B(mode C) 枚举Ai*m,此时A 阅读全文
posted @ 2018-11-30 19:20 LiGuanlin 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对。 题解: 代码: 阅读全文
posted @ 2018-11-30 19:07 LiGuanlin 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 有一个n*m的表格,格子(i,j)中的数w是σ(gcd(i,j))。 Q组询问,每次给出n,m,a。求表中所有不超过a的w之和。 题解: 然后后面的用树状数组动态更新即可。 代码: 阅读全文
posted @ 2018-11-30 19:04 LiGuanlin 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给出n,求出三元组(a,b,c)组数,使得gcd(a,b,c)==1且1/a+1/b==1/c。 题解: 代码: 阅读全文
posted @ 2018-11-30 19:00 LiGuanlin 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题解: 有一个式子: 证明先不说了。 然后倒一波反演: 然后整除分块就好了。 代码: 阅读全文
posted @ 2018-11-30 18:57 LiGuanlin 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目描述不说了。 题解: Trie+vector…… Trie存学生,vector存答案。 极为无脑但无脑到让人怀疑 代码: 阅读全文
posted @ 2018-11-27 00:36 LiGuanlin 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 题解:Trie树。 从左向右扫一遍,然后从右向左扫一遍。 代码: 阅读全文
posted @ 2018-11-27 00:32 LiGuanlin 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 可持久化Trie的入门题。 直接粘代码: 阅读全文
posted @ 2018-11-27 00:29 LiGuanlin 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 现在你拥有 n 颗宝石,每颗宝石有一个能量密度,记为 ai,这些宝石的能量 密度两两不同。现在你可以选取连续的一些宝石(必须多于一个)进行融合,设 为 ai, ai+1, …, aj,则融合而成的宝石的能量密度为这些宝石中能量密度的次大值 与其他任意一颗宝石的能量密度按位异或的值,即,设 阅读全文
posted @ 2018-11-27 00:24 LiGuanlin 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给出两个串(长度<=1e6),问是否同构,如果同构输出最小表示。 题解: 这是最小表示法模板题。在这里好好讲一下最小表示法。 首先有一个最暴力的方法:把所有表示搞出来排序。 时间复杂度O(n^2logn); 然后可以发现,比较两个字符串时都是从第一位向后比。 伪代码: 时间复杂度O(n^ 阅读全文
posted @ 2018-11-26 17:44 LiGuanlin 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目大意: Alice有n个字符串S_1,S_2...S_n,Bob有一个字符串集合T,一开始集合是空的。 接下来会发生q个操作,操作有两种形式: “1 P”,Bob往自己的集合里添加了一个字符串P。 “2 x”,Alice询问Bob,集合T中有多少个字符串包含串S_x。(我们称串A包含串B,当且仅 阅读全文
posted @ 2018-11-25 21:02 LiGuanlin 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 你有两种机器,一种可以生产回文串,一种可以链接两个串。链接时可以覆盖相同前/后缀。 给出多个串,求最少链接多少次。 题解:先做manacher找出最长回文,然后贪心发现这是线段覆盖。 排序然后搞就行了。 代码: 阅读全文
posted @ 2018-11-25 09:01 LiGuanlin 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。 题解:若X,Y都是回文串且相邻,则共用一个’#‘。 可以对于每个‘#’找出其左边界和右边界。 代码: 阅读全文
posted @ 2018-11-25 08:23 LiGuanlin 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目贴图: 题解: AC自动机/Trie图+矩阵乘法。 首先构建矩阵,因为有: f[ i ] = Σ f[ j ] * g[ j ][ i ] 然后就搞成矩乘了。 把邻接矩阵自乘足够多次就行了。 代码: 阅读全文
posted @ 2018-11-24 20:16 LiGuanlin 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 求包含n个串的长度最短,且字典序最小的串。 题解: AC自动机/Trie图 + bfs。 我用的是Trie图。 把所有串扔到Trie树上,Trie图建fail指针。 然后的bfs搜索路径。 遍历时从小到大,可以保证字典序最小。 状态中压入各个子串出现过/为出现过。 代码: 阅读全文
posted @ 2018-11-24 16:27 LiGuanlin 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 给出n个串(总长<=30000),求是否有一个无限长的串,使得不包含任何一个给出串。 题解: 建trie图,然后搜索。 搜索时如果这个点搜过以后无法return true,那么我们可以标记这个点。 只要再次搜到这个点直接return false 代码: 阅读全文
posted @ 2018-11-24 11:09 LiGuanlin 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 喜欢钻研问题的JS 同学,最近又迷上了对加密方法的思考。一天,他突然想出了一种他认为是终极的加密办法:把需要加密的信息排成一圈,显然,它们有很多种不同的读法。 例如‘JSOI07’,可以读作: JSOI07 SOI07J OI07JS I07JSO 07JSOI 7JSOI0 把它们按照 阅读全文
posted @ 2018-11-24 09:52 LiGuanlin 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目描述: https://www.luogu.org/problemnew/show/P4015 题解: 建图跑最小费用流。 对于最大费用,我们可以重新建边,并把权值变成相反数。 也称 最大费用最大流。 代码: 阅读全文
posted @ 2018-11-24 09:09 LiGuanlin 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目描述:你有一个#。有8个不同方向可以动,编号依次为A-H。求使其中心8个块数字变成相同时,最短字典序最小的字符串以及中心的数字。 题解: 对于这种状态极为发散的搜索,我们可使用A*。而这道题要求最短,我们可以采用IDA*。 估价函数h=8-(中心块上出现最多的数的出现次数)。 因为每动一次只踢出 阅读全文
posted @ 2018-11-24 07:45 LiGuanlin 阅读(114) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页