随笔分类 -  动态规划

上一页 1 ··· 3 4 5 6 7
摘要:【题目链接】 点击打开链接 【算法】 动态规划 f[i][j][k]表示前i行,有j列放了1个,有k列放了两个 分六种情况讨论即可 【代码】 阅读全文
posted @ 2018-04-28 19:05 evenbao 阅读(144) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 数位DP,注意处理前导零的情况 【代码】 阅读全文
posted @ 2018-04-26 20:44 evenbao 阅读(158) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 f[i][j]表示第i位,数位和对10取模余j的数的个数 状态转移,计算答案都比较简单,笔者不再赘述 【代码】 阅读全文
posted @ 2018-04-25 20:54 evenbao 阅读(152) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 数位DP 和上一题 : HDU3555很像 【代码】 阅读全文
posted @ 2018-04-25 19:54 evenbao 阅读(106) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 数位DP 【代码】 阅读全文
posted @ 2018-04-25 19:19 evenbao 阅读(117) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 很明显,我们可以用状态压缩动态规划解决此题 f[n][m]表示n-1行已经放满,第n行状态为m的合法的方案数 状态转移方程很好推 注意这题时限较紧,注意加一些小优化 【代码】 阅读全文
posted @ 2018-04-24 22:48 evenbao 阅读(131) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 树形DP即可 【代码】 阅读全文
posted @ 2018-04-21 22:03 evenbao 阅读(156) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 树形DP求树的重心 【代码】 阅读全文
posted @ 2018-04-21 18:43 evenbao 阅读(171) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 如果(u,v)的距离为2,那么有两种可能 : 1.u和v为祖孙关系 2.u和v为兄弟关系 树形DP即可,详见代码 【代码】 阅读全文
posted @ 2018-02-22 15:39 evenbao 阅读(123) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 概率DP 先跑一遍floyed,求出每个教室之间的最短路径,存在数组dist[][]中,时间复杂度O(V^3) 设计状态,f[i][j][k]表示当前选到第i个教室,已经选了j个教室,当前这个教室选不选(0..1) 那么,状态转移方程是什么呢? 假设当前选到第i 阅读全文
posted @ 2018-02-15 14:37 evenbao 阅读(196) 评论(0) 推荐(0)
摘要:【题目描述】 白日梦 (daydream.c/cpp/pas) 时间限制: 1 s 空间限制: 256 MB 题目描述 SR需要相当大的睡眠量 某日,他做了一个奇怪的梦,他梦见自己成为了怪物猎人,为了狩猎,他要去一个岛上住N+1天(编号为0到N)。这个岛位于太平洋中心,每天要么是晴天,要么刮台风。 阅读全文
posted @ 2018-02-14 22:28 evenbao 阅读(157) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 这是一道经典的最值查询(RMQ)问题。 我们首先想到线段树。但有没有更快的方法呢?对于这类问题,我们可以用ST表(稀疏表)算法求解。 稀疏表算法。其实也是一种动态规划的算法。是先做一遍预处理,然后O(1)求出答案。 设计状态 : f[i][j] 表示从第i个数开 阅读全文
posted @ 2018-02-14 15:54 evenbao 阅读(129) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 状压DP 【代码】 阅读全文
posted @ 2018-02-12 18:10 evenbao 阅读(207) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 状压DP f[i][S]表示走的最后一步在i,状态为S 于是我们可以用最短路径 + 状压DP解决此题,由于不存在负边,所以可以用dijkstra+堆优化 【代码】 阅读全文
posted @ 2018-02-12 11:52 evenbao 阅读(145) 评论(0) 推荐(0)
摘要:【题目链接】 点击打开链接 【算法】 不难看出,这题可以用动态规划来解决 f[i][j]表示第i行第j列能够取得的最大分数 则如果向右走,状态转移方程为f[i][j]=max{f[i-1][k]+a[i][k]+a[i][k+1]+...+a[i][j]}(i-T<=k<=j) 如果向左走,则状态转 阅读全文
posted @ 2018-02-12 08:59 evenbao 阅读(139) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7