随笔分类 - DP,动态规划
摘要:普通多重背包 外层枚举哪个包,中层枚举容量,内存枚举数量 for(i=1; i<=n; ++i) for(j=m; j>=0; --j) for(k=1; k*w[i]<=j && j<=s[i]; ++k) f[j]=max(f[j], f[j-k*w[i]]+k*v[i]); 二进制优化 相当于
阅读全文
摘要:题目链接 题目 We saw the little game Marmot made for Mole's lunch. Now it's Marmot's dinner time and, as we all know, Marmot eats flowers. At every dinner h
阅读全文
摘要:题目链接 题目 Quite recently a creative student Lesha had a lecture on trees. After the lecture Lesha was inspired and came up with the tree of his own whic
阅读全文
摘要:题目链接 题目 Alex doesn't like boredom. That's why whenever he gets bored, he comes up with games. One long winter evening he came up with a game and decid
阅读全文
摘要:Part A 单调队列 何为单调队列? 单调队列(Monotone queue )即单调递减或单调递增的队列。 例:滑动窗口 T1 题目 对于一个长为 的序列,求所有从左到右长为 的区间最大值和最小值。 思路 以最大值为例,维护一个
阅读全文
摘要:题目链接 题目 最近 又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律。 通过一段时间的观察, 预测到了未来 天内某只股票的走势,第 天的股票买入价为每股 ,第 \(
阅读全文
摘要:题目链接 题目 原题来自:POI 2005 Byteotian Bit Bank (BBB) 拥有一套先进的货币系统,这个系统一共有 种面值的硬币,面值分别为 。但是每种硬币有数量限制,现在我们想要凑出面值 ,求最少要用多少个
阅读全文
摘要:题目链接 题目 高二数学《绿色通道》总共有 道题目要抄,编号 ,抄第 题要花 分钟。小 Y 决定只用不超过 分钟抄这个,因此必然有空着的题。每道题要么不写,要么抄完,不能写一半。下标连续的一些空题称为一个空题段,它的长度就
阅读全文
摘要:状压dp的引入 状压DP,是用二进制的性质来描述状态的一种DP。 对于状压dp,我们要先了解一下位运算。 位运算 x&y 与运算,101&110=100 x|y 或运算,100|101=101 x^y 异或运算,101^100=001 x<<1 左移运算 x>>1 右移运算 状压dp 先看一道题:
阅读全文
摘要:数位dp的引入 首先假设有一天,我们遇见一道题: 求在 的区间里,满足条件的数有多少个。 如果我们没学过数位dp,我们会打出这样一个暴力: for(i=a; i<=b; ++i) if(check(i)) ++ans; 这样的时间复杂度是 \(O(n\times \text{ch
阅读全文
摘要:题目 在 的棋盘上放 个国王,国王可攻击相邻的 个格子,求使它们无法互相攻击的方案总数。 对于全部数据, 思路 方法一:爆搜 方法二:状压dp 每行很大,不可能开个十几维数组,怎么办? 把每行压成一个二进制! 设 \(dp(
阅读全文
摘要:题目链接 题目 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有 门功课,每门课有个学分,每门课有一门或没有直接先修课(若课程 a 是课程 b 的先修课即只有学完了课程 a,才能学习
阅读全文
摘要:题目链接 题目 有一棵苹果树,如果树枝有分叉,一定是分二叉(就是说没有只有一个儿子的结点) 这棵树共有 个结点(叶子点或者树枝分叉点),编号为 ,树根编号一定是 。 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有 个树枝
阅读全文
摘要:题目链接 题目 原题来自:ZJOI 2010 给定两个正整数 和 ,求在 [] 中的所有整数中,每个数码 () 各出现了多少次。 思路 首先在数位dp中,对于当前枚举的数,乘上后面的方案数。 那么后面的数如何多次计算呢? 我们发现这些数具有传递性
阅读全文
摘要:题目链接 题目 由于科协里最近真的很流行数字游戏,某人又命名了一种取模数,这种数字必须满足各位数字之和 为 。现在大家又要玩游戏了,指定一个整数闭区间 [],问这个区间内有多少个取模数。 思路 数位dp。 三个转态:当前第几位?现在这一位是否有上限?当
阅读全文
摘要:题目链接 题目 不含前导零且相邻两个数字之差至少为 的正整数被称为 windy 数。windy 想知道,在 和 之间,包括 和 ,总共有多少个 windy 数? 思路 数位dp,用 以内的减去 以内的就是答案。
阅读全文
摘要:题目链接 题目 科协里最近很流行数字游戏。某人命名了一种不降数,这种数字必须满足从左到右各位数字成小于等于的关系,如 ,。现在大家决定玩一个游戏,指定一个整数闭区间 [],问这个区间内有多少个不降数。 思路 数位dp,用 以内的减去 \(a-1\
阅读全文