随笔分类 -  动态规划

摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意: 问你在区间[n,m]中,有多少个数字不含"4"且不含"62"。 题解: 表示状态: dp[i][j] = numbers 数字有i位,开头为数字j,合法的数字个数。 如何转移: dp[i] 阅读全文
posted @ 2017-12-27 18:00 Leohh 阅读(263) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4089 题意: 有n个人在排队激活游戏,Tomato排在第m个。 每次队列中的第一个人去激活游戏,有可能发生以下四种情况: (1)激活失败,继续留在队首,等待下一次激活。 (2)连接失败,退到队尾。 (3 阅读全文
posted @ 2017-12-27 10:14 Leohh 阅读(251) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4336 题意: 一共有n种卡片。每买一袋零食,有可能赠送一张卡片,也可能没有。 每一种卡片赠送的概率为p[i],问你将n种卡片收集全,要买零食袋数的期望。 题解: 表示状态: dp[state] = ex 阅读全文
posted @ 2017-12-26 20:25 Leohh 阅读(181) 评论(0) 推荐(0)
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4055 题意: 给你一个由'I', 'D', '?'组成的字符串,长度为n,代表了一个1~n+1的排列中(数字不重复),相邻数字的增长趋势。('I'为增,'D'为减,'?'为未知) 问你符合条件的数列有多 阅读全文
posted @ 2017-11-01 16:14 Leohh 阅读(203) 评论(0) 推荐(1)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3357 题意: 给你n个数a[i],让你找出一个最长的是等差数列的子序列。 题解: 表示状态: dp[i][a[j]] = max len 表示当前选了a[i],上一个数是a[j]时,最长的等 阅读全文
posted @ 2017-10-24 16:46 Leohh 阅读(307) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2431 题意: 给定n,k,问你有多少个由1~n组成的排列,使得逆序对个数恰好为k个。 题解: 表示状态: dp[i][j] = num of sequences i:已经用了1~i之间的数( 阅读全文
posted @ 2017-10-20 15:52 Leohh 阅读(288) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3890 题意: 给你一个有向图,n个点(n <= 100),m条边。 且所有的边都是从编号小的点指向编号大的点。 对于每条边i,Bessie要用c[i]的时间,Elsie要用d[i]的时间(c 阅读全文
posted @ 2017-10-18 13:44 Leohh 阅读(258) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2442 题意: 有n个数a[i]从左到右排成一排。 你可以任意选数,但是连续的数不能超过k个。 问你最大的选数之和。 题解: 表示状态: dp[i]表示考虑了第i个数的最大之和。 找出答案: 阅读全文
posted @ 2017-10-09 18:33 Leohh 阅读(186) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3398 题意: 约翰要带N(1≤N≤100000)只牛去参加集会里的展示活动,这些牛可以是牡牛,也可以是牝牛。 牛们要站成一排。但是牡牛是好斗的,为了避免牡牛闹出乱子,约翰决定任意两只牡牛之间 阅读全文
posted @ 2017-10-08 21:07 Leohh 阅读(335) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1638 题意: 给你一个有向图,n个点,m条有向边。 对于所有从入度为0的点到n的路径,找出被经过次数最多的一条边,输出这个次数。 题解: edge为原边,redge为反向边。 cnt[i]表 阅读全文
posted @ 2017-10-07 18:03 Leohh 阅读(226) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2101 题意: 共有n枚金币,第i枚金币的价值是w[i]。 把金币排成一条直线,Bessie和Bonny轮流取金币,看谁取到的钱最多。 Bessie先取,每次只能取一枚金币,而且只能选择取直线 阅读全文
posted @ 2017-10-05 19:41 Leohh 阅读(256) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2021 题意: John要建一个奶酪塔,高度最大为m。 他有n种奶酪。第i种高度为h[i](一定是5的倍数),价值为w[i]。 一块高度>=t的奶酪被称为大奶酪,一个奶酪如果在它上方有大奶酪( 阅读全文
posted @ 2017-10-04 17:40 Leohh 阅读(191) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1677 题意: 给定n(n <= 10^6),将n分解为2的幂次方之和,问你有多少种方法。 题解: 两种方法。 一、无限背包 将1,2,4,8...看作物品体积就好。 复杂度O(n*k),k约 阅读全文
posted @ 2017-10-04 14:52 Leohh 阅读(381) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1231 题意: 给你n个数字s[i],问你有多少个排列,使得任意相邻两数字之差的绝对值大于m。 题解: 表示状态: dp[i][j][state] = arrangements i:考虑到第i 阅读全文
posted @ 2017-10-03 22:16 Leohh 阅读(277) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1600 题意: 给你一个长度为n的木板,让你把这个木板切割成四段(长度为整数),并且要求这四段可以构成一个四边形。 问你有多少种切割方法(切割点不同就算不同)。 题解: 构成四边形的条件: 任 阅读全文
posted @ 2017-10-03 12:52 Leohh 阅读(323) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1633 题意: 给你一个长度为n的主串a,和一个有m个字符串s[i]的单词书(s[i].size <= 25)。 问你至少删去多少个a中的字符,才能使a成为一个由s[i]组成的排列。 题解: 阅读全文
posted @ 2017-10-02 15:58 Leohh 阅读(222) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2023 题意: 有n个家族,共m只蚂蚁(n <= 1000, m <= 100000)。 每个家族有cnt[i]只蚂蚁,并且同一家族中的蚂蚁无差别。 从窝里爬出来x只蚂蚁的方案数为f(x)。 阅读全文
posted @ 2017-10-01 19:42 Leohh 阅读(361) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1617 题意: Farmer John以及他的N(1 <= N <= 2,500)头奶牛打算过一条河,但他们所有的渡河工具,仅仅是一个木筏。 由于奶牛不会划船,在整个渡河过程中,FJ必须始终在 阅读全文
posted @ 2017-09-29 01:07 Leohh 阅读(183) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1616 题意: 有一个n*m的网格。 '.'表示平坦的草地,'*'表示挡路的树(不能走)。 有一只奶牛,第0秒时在(r1,c1),第t秒时在(r1,c2)。 它每一秒钟都会向上下左右任一方向走 阅读全文
posted @ 2017-09-29 00:47 Leohh 阅读(276) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1609 题意: 给你一个只由数字"1,2,3"组成的序列a[i],共n个数。 你可以任意更改这些数字,使得序列中每一种数字都“站在一起”,并且单调不减或不增。 例如:"1111222", "3 阅读全文
posted @ 2017-09-28 01:34 Leohh 阅读(161) 评论(0) 推荐(0)