会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
KirinSB
努力,奋斗
首页
新随笔
联系
订阅
管理
上一页
1
···
29
30
31
32
33
34
35
36
37
···
42
下一页
2018年7月20日
HDU 4990 Reading comprehension(矩阵快速幂)题解
摘要: 思路: 如图找到推导公式,然后一通乱搞就好了 要开long long,否则红橙作伴 代码:
阅读全文
posted @ 2018-07-20 16:22 KirinSB
阅读(165)
评论(0)
推荐(0)
编辑
CodeForces 450B Jzzhu and Sequences(矩阵快速幂)题解
摘要: 思路: 之前那篇完全没想清楚,给删了,下午一上班突然想明白了。 讲一下这道题的大概思路,应该就明白矩阵快速幂是怎么回事了。 我们首先可以推导出 学过矩阵的都应该看得懂,我们把它简写成T*A(n-1)=A(n),是不是有点像等比?然后我们得到T^(n-1)*A(1)=A(n),所以我们可以通过矩阵快速
阅读全文
posted @ 2018-07-20 14:45 KirinSB
阅读(177)
评论(0)
推荐(0)
编辑
2018年7月18日
HDU - 3068 最长回文(马拉车Manacher)题解
摘要: 思路:马拉车裸题,我们用一个p[i]数组代表以i为中心的最大回文半径。这里用了一个小技巧,如果一个串是aaaa这样的,那我们插入不相干的字符使它成为#a#a#a#a#,这样无论这个串是奇数还是偶数都会变成奇数,容易处理。马拉车的效率在于,在暴力处理前面的回文时,我们可以初始化后面的p[j],减少暴力
阅读全文
posted @ 2018-07-18 19:59 KirinSB
阅读(205)
评论(0)
推荐(0)
编辑
FZU 1901 Period II(KMP中的next)题解
摘要: 题意:给你一串字符串,问你前后缀相同情况有几种,并输出后缀位置(?这里一直没看懂length是什么,但是这样理解答案也对,然后还要加上本身长度) 思路:这里好好讲讲next的用法。我们都知道next代表前后缀匹配值,现在我们以下面这个字符串为例,讲述next的用法: len = 9,next[len
阅读全文
posted @ 2018-07-18 17:47 KirinSB
阅读(261)
评论(0)
推荐(0)
编辑
HDU 3374 String Problem(最大最小表示+KMP)题解
摘要: 题意:给你一个字符串,这个字符串可以这样操作:把第一个字符放到最后一个形成一个新的字符串,记原式Rank为1,每操作一步Rank+1,问你这样操作得出的最小字典序的字符串的Rank和这样的字符串有几个,最大字典序的字符串的Rank和这样的字符串有几个。 思路:手动模拟操作复杂度O(n^2)果断超时,
阅读全文
posted @ 2018-07-18 15:36 KirinSB
阅读(297)
评论(0)
推荐(0)
编辑
HDU 4300 Clairewd’s message(扩展KMP)题解
摘要: 题意:先给你一个密码本,再给你一串字符串,字符串前面是密文,后面是明文(明文可能不完成整),也就是说这个字符串由一个完整的密文和可能不完整的该密文的明文组成,要你找出最短的密文+明文。 思路:我们把字符串当做全是密文然后解密成明文,这样前面密文部分就是完整的明文,后面明文部分就乱码了,要求最短密文+
阅读全文
posted @ 2018-07-18 10:57 KirinSB
阅读(131)
评论(0)
推荐(0)
编辑
2018年7月17日
POJ 2923 Relocation(状压DP+01背包)题解
摘要: 题意:给你汽车容积c1,c2,再给你n个包裹的体积,问你最少运几次能全运走 思路:用2进制表示每次运送时某物在不在此次运送之中,1在0不在。我们把运送次数抽象成物品价值,把状态抽象成体积,用一个dp[ i ] 记录完成状态i的最少步数那么就转化为了01背包问题,得到状态转移方程dp[ j|state
阅读全文
posted @ 2018-07-17 15:27 KirinSB
阅读(145)
评论(0)
推荐(0)
编辑
HDU 4272 LianLianKan (状压DP+DFS)题解
摘要: 思路: 用状压DP+DFS遍历查找是否可行。假设一个数为x,那么他最远可以消去的点为x+9,因为x+1~x+4都能被他前面的点消去,所以我们将2进制的范围设为2^10,用0表示已经消去,1表示没有消去。dp[i][j]表示栈顶是i当前状态为j时能不能消去栈顶,-1代表不知道,0不行,1行。所以我们只
阅读全文
posted @ 2018-07-17 09:54 KirinSB
阅读(207)
评论(0)
推荐(0)
编辑
2018年7月16日
POJ 1185 炮兵阵地(状压DP)题解
摘要: 思路:和上一篇思路一样,但是这里要求最大能排几个,这里要开三维,记录上次和上上次的状态,再一一判定,状态转移方程为 dp[i][j][k] = max(dp[i][j][k],dp[i - 1][k][t] + num[j]) 代码:
阅读全文
posted @ 2018-07-16 19:28 KirinSB
阅读(177)
评论(0)
推荐(0)
编辑
POJ - 3254 Corn Fields(状压DP)题解
摘要: 思路: 参照blog,用状压DP做,和题解稍微有点不一样,我这里直接储存了状态而不是索引。 这一题的问题是怎么判断相邻不能种,我们用2进制来表示每一行的种植情况。我们将每一行所能够造的所有可能都打表(即认为每一块都能种),然后将每一行不能种的地方用2进制保存下来,两者&运算聚能知道是否有重合,重合即
阅读全文
posted @ 2018-07-16 16:49 KirinSB
阅读(176)
评论(0)
推荐(0)
编辑
上一页
1
···
29
30
31
32
33
34
35
36
37
···
42
下一页