---------动态规划---------
ArcCCcp
这个作者很懒,什么都没留下…
展开
-
NOIP2008 传纸条
题意如下:小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n)。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小原创 2017-03-01 11:06:02 · 518 阅读 · 0 评论 -
[BZOJ 1087][SCOI 2005] 互不侵犯King 状态压缩DP
题目传送门:【BZOJ 1087】题目大意:你需要在N×N的棋盘里面放K个国王使他们互不攻击。国王能攻击到它上下左右,以及左上、左下、右上、右下共八个方向上附近的各一个格子,共8个格子。求最终有多少种摆放方案。 ( 1 ≤ n ≤ 9,0 ≤ k ≤ n2^2 )题目分析: 一开始以为是道大水题,于是直接写了个 dfs 跑暴力,然后……TLE …… 其实这道题观察到后面就会发现,n = 9原创 2017-07-05 08:47:00 · 323 阅读 · 0 评论 -
NOIP2016 换教室
题解在下面题目大意:对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的 课程。 在可以选择的课程中,有 2n 节课程安排在 n 个时间段上。在第 i ( 1 ≤ i ≤ n )个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教 室 ci 上课,而另一节课程在教室 di 进行。 在不提交任何申请的情况下,学生们需要按时间段的顺序依次完成所有的原创 2017-09-02 14:39:24 · 591 阅读 · 0 评论 -
[POJ 1715] Hexadecimal Numbers 求排列数/数位DP
题目传送门:【POJ 1715】题目大意: 输入一个正整数 n,求第 n 大的不超过 8 位的各位数字不同的 16 进制数。注意,最后得到的 16 进制数不含前导 0(即:前面的 0 可以重复)。保证输入合法。样例输入:11 样例输出:FEDCBA87题目分析: (mmp浪费时间浪费生命的辣鸡排列组合题,又耗我一下午)由题,这道题看起来可以根据 n 与每一位数的关系暴力求出每一位数的值,但这样做原创 2017-09-29 17:46:30 · 483 阅读 · 0 评论 -
[BZOJ 4726] Sabota? 树形DP+贪心思想
题目传送门:【BZOJ 4726】本题为权限题,下面有详细题意题目大意:公司有 n 个人,(除老板以外)每个人有且只有一个直接上司。公司里有一个叛徒(未给明)。若一个人的下属(直接或者间接,不包括他自己)中叛徒占的比例超过 x,他和他的所有下属都会变为叛徒。求出叛徒的个数不会超过 k 的情况下最小的 x。(本题为 SPJ)输入的第一行包含两个正整数 n , k(1 ≤ k ≤ n ≤ 5*105^5原创 2017-10-26 17:18:49 · 361 阅读 · 0 评论 -
[BZOJ 1925][SDOI 2010] 地精部落 DP/递推
题目传送门:【BZOJ 1925】题目大意: 我们认为 n 个位置的高度形成了 1 到 n 的一个排列,这个排列要么满足奇数项的高度比相邻位置都大,要么满足偶数项的高度比相邻位置都大(即:一高一低型)。给定 n,求出符合条件的排列数对 P 取模的值。(3 ≤ n ≤ 4200,P ≤ 109^9)题目分析:这道题是我认为非常好的题了,它的解题关键就在于想到 DP/递推转移方程式。如题,看到这道题,我原创 2017-10-27 11:04:01 · 443 阅读 · 0 评论 -
[BZOJ 1833] count 数字计数 数位DP(附数位DP总结)
题目传送门:【BZOJ 1833】题目大意:给定两个正整数 a 和 b,求在 [a,b] 中的所有整数中,每个数码 (digit,指 0-9 ) 各出现了多少次。其中 a ≤ b ≤ 1012^{12}。题目分析:真正的题解在下面,前面为总结。由题,观察这道题的题目性质及数据范围,那么,这道题用线性的 for 一遍肯定是不行的了;于是,我们考虑缩小数据处理范围。又因为这道题满足“前缀和相减”的性质,原创 2017-10-11 12:15:47 · 1990 阅读 · 0 评论 -
[BZOJ 4565][HAOI 2016] 字符合并 状压DP+区间DP
题目传送门:【BZOJ 4565】题目大意:有一个长度为 n 的 01 串,你可以每次将相邻的 k 个字符合并,得到一个新的字符并获得一定分数。得到的新字符以及得到的分数由这 k 个字符确定。你需要求出你能获得的最大分数。输入第一行为两个整数 n,k。接下来一行为长度为 n 的 01 串,表示初始串。接下来 2k2^k 行,每行一个字符 ci_i 和一个整数 wi_i,ci_i 表示长度为 k 的原创 2017-10-31 21:48:49 · 764 阅读 · 0 评论 -
[HDU 2089] 不要62 数位DP(记忆化搜索)
题目传送门:【HDU 2089】题目大意:多组数据。求给定区间 [n,m] 中,不含数字串“4”或“62”的数的个数。(0 < n ≤ m < 1000000) 当输入为 n=m=0 时表示输入结束。题目分析:本人真正写的第一道数位 DP 题就是它了。 这道题应该是裸的数位 DP。题目中让你求区间中不含“4”或“62”的数的个数,如果我们用记忆化搜索的思想,那么在我们 DFS 的时候,参数里面还原创 2017-10-18 19:55:54 · 577 阅读 · 0 评论