上一页 1 ··· 61 62 63 64 65 66 67 68 69 ··· 74 下一页
摘要: 【题目链接】 点击打开链接 【算法】 动态规划 我们发现,M只有两种取值,1和2,那么,只需分类讨论即可 当M = 1时,其实这个问题就成了就最大连续子段和的问题,只不过要选K段而已 用f[i][j]表示选到第i行,选了j段,那么,显然有 : f[i][j] = max{f[i-1][j],f[k] 阅读全文
posted @ 2018-05-09 19:53 evenbao 阅读(161) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 弗洛伊德求最小环模板 我们知道,在一个环上,一定有一个有且仅有一个编号最大的点,设这个点为k,起点为i,终点为j,那么 mincost = dist[i][j] + cost[j][k] + cost[k][i] (dist[i][j]为i到j的最短路) 所以只 阅读全文
posted @ 2018-05-09 19:31 evenbao 阅读(146) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 和HDU2167类似 先搜出一行内符合的状态,然后,f[i][j][k]表示第i行,第j种状态,放了k个,合法的方案,DP即可 【代码】 阅读全文
posted @ 2018-05-09 19:24 evenbao 阅读(130) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 状压DP 先搜出一行符合的情况,然后,f[i][j]表示第i行,状态为j,能够取得的最大值,DP即可 【代码】 阅读全文
posted @ 2018-05-09 19:20 evenbao 阅读(198) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 动态规划 f[i][j][x][y]表示当前选了i个男生,j个女生,男生与女生差最大为x,女生与男生差最大为y的方案数 转移很显然,笔者不再赘述 【代码】 阅读全文
posted @ 2018-05-07 22:09 evenbao 阅读(128) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 此题是一道好题! 首先,我们发现 : 付款方法数 = 不受限制的方法数 - 受限制的方法数 那么,我们怎么求呢? 我们用dp求出不受限制的方法数(f[i]表示买i元的东西,不受硬币限制,有多少种方案),只需用01背包的 方法就可以了,实现非常简单 那么受限制的方 阅读全文
posted @ 2018-05-06 22:42 evenbao 阅读(188) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 动态规划 f[i]表示上一次打了第i只鼹鼠,所能打死的最多的鼹鼠数量 【代码】 阅读全文
posted @ 2018-05-05 22:23 evenbao 阅读(132) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 线段树,注意数据量大,要动态开点 【代码】 阅读全文
posted @ 2018-05-05 18:35 evenbao 阅读(165) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 树链剖分 【代码】 本题,笔者求最近公共祖先并没有用树链剖分“往上跳”的方式,而是用倍增法。笔者认为这样比较好写,代码可读性 比较高 此外,笔者的线段树并没有用懒惰标记,只要当前访问节点的线段总数为1,那么就下传 阅读全文
posted @ 2018-05-03 22:03 evenbao 阅读(212) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 显然,越狱情况数 = 总情况数 - 不能越狱的情况数 很容易发现,总情况数 = M^N 不能越狱的情况数怎么求呢? 我们发现,不能越狱的情况,其实就是第一个人任选一种宗教,后面n-1个人,每个人都选 一种与前面一个人不同的宗教,所以第一个人有M种选法,后N-1个 阅读全文
posted @ 2018-05-01 22:38 evenbao 阅读(186) 评论(0) 推荐(0)
上一页 1 ··· 61 62 63 64 65 66 67 68 69 ··· 74 下一页