会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
KirinSB
努力,奋斗
首页
新随笔
联系
订阅
管理
上一页
1
···
30
31
32
33
34
35
36
37
38
···
42
下一页
2018年7月16日
HDU 1438 钥匙计数之一(状压DP)题解
摘要: 思路: 每个槽有4种深度,一共有2^4种状态。然后开4维来保存每一次的状态:dp[ 第几个槽 ][ 当前状态 ][ 末尾深度 ][ 是否符合要求 ]。 代码:
阅读全文
posted @ 2018-07-16 12:00 KirinSB
阅读(257)
评论(0)
推荐(0)
编辑
SPOJ BALNUM Balanced Numbers(数位DP+状态压缩)题解
摘要: 思路: 把0~9的状态用3进制表示,数据量3^10 代码:
阅读全文
posted @ 2018-07-16 09:53 KirinSB
阅读(155)
评论(0)
推荐(0)
编辑
2018年7月14日
CodeForces - 55D Beautiful numbers(数位DP+Hash)题解
摘要: 题意:美丽数定义:一个正数能被所有位数整除。求给出一个范围,回答这个范围内的美丽数。 思路:一个数能被所有位数整除,换句话说就是一个数能整除所有位数的LCM,所以问题就转化为一个数能否被所有位数的LCM整除。按照一般的思想,直接开三维dp[pos][num][lcm]。但是num范围很大,直接开就爆
阅读全文
posted @ 2018-07-14 22:49 KirinSB
阅读(264)
评论(0)
推荐(0)
编辑
HDU 3709 Balanced Number(数位DP)题解
摘要: 思路: 之前想直接开左右两边的数结果爆内存... 枚举每次pivot的位置,然后数位DP,如果sum<0返回0,因为已经小于零说明已经到了pivot右边,继续dfs只会越来越小,且dp数组会炸 注意一下一些细节:dp开long long,注意前导零只能算一次 代码:
阅读全文
posted @ 2018-07-14 16:28 KirinSB
阅读(195)
评论(0)
推荐(0)
编辑
POJ 2752 Seek the Name, Seek the Fame(KMP中next的理解)题解
摘要: 题意: 要求你给出每个前后缀相同的串的长度,比如: "alala"的前缀分别为{"a", "al", "ala", "alal", "alala"}, 后缀分别为{"a", "la", "ala", "lala", "alala"}. 其中有{"a", "ala", "alala"}是相同的,所以答
阅读全文
posted @ 2018-07-14 11:49 KirinSB
阅读(194)
评论(0)
推荐(1)
编辑
HDU 1358 Period(KMP+最小循环节)题解
摘要: 思路: 这里只要注意一点,就是失配值和前后缀匹配值的区别,不懂的可以看看这里,这题因为对子串也要判定,所以用前后缀匹配值,其他的按照最小循环节做 代码:
阅读全文
posted @ 2018-07-14 10:14 KirinSB
阅读(101)
评论(0)
推荐(0)
编辑
2018年7月13日
HDU 3746 Cyclic Nacklace(KMP+最小循环节)题解
摘要: 思路: 最小循环节的解释在这里,有人证明了那么就很好计算了 之前对KMP了解不是很深啊,就很容易做错,特别是对fail的理解 注意一下这里getFail的不同含义 代码:
阅读全文
posted @ 2018-07-13 18:51 KirinSB
阅读(171)
评论(0)
推荐(0)
编辑
LightOJ - 1247 Matrix Game (Nim博弈)题解
摘要: 题意: 给一个矩阵,每一次一个玩家可以从任意一行中选任意数量的格子并从中拿石头(但最后总数要大于等于1),问你谁赢 思路: 一开始以为只能一行拿一个... 将每一行石子数相加就转化为经典的Nim博弈 代码:
阅读全文
posted @ 2018-07-13 14:28 KirinSB
阅读(278)
评论(0)
推荐(0)
编辑
2018年7月12日
HDU 1686 Oulipo(KMP)题解
摘要: 题意:主串中能找到几个模式串 思路:超详细解释KMP KMP:针对这个代码,解释一下Fail数组的含义:T为主串,P为模式串,Fail代表失配值,即当P[j] != T[i]时,j要指向的位置为Fail[j],当Fail为-1时表示i指针后移。如果使用这个代码,Fail[j]的值的含义为P[0]…P
阅读全文
posted @ 2018-07-12 19:52 KirinSB
阅读(208)
评论(0)
推荐(0)
编辑
UVA 10462 Is There A Second Way Left?(次小生成树&Prim&Kruskal)题解
摘要: 思路: Prim: 这道题目中有重边 Prim可以先加一个sec数组来保存重边的次小边,这样不会影响到最小生成树,在算次小生成树时要同时判断次小边(不需判断是否在MST中) Kruskal: Kruskal对重边就很友好了,不用考虑 原理是这样的:我们先找最小生成树并用used标记好哪些边是MST的
阅读全文
posted @ 2018-07-12 17:37 KirinSB
阅读(203)
评论(0)
推荐(0)
编辑
上一页
1
···
30
31
32
33
34
35
36
37
38
···
42
下一页