随笔分类 -  DP

1 2 下一页

2020牛客国庆集训派对day4 and 2018 ICPC ASIA YOKOHAMA REGIONAL D.Shortest Common Non-Subsequence (记忆化DP,思维)
摘要:题目:传送门 题意 给你两个01串 a 和 b,让你构造一个长度最短的且字典序最小的 01串,使得这个 01串既不是 a 的子串,也不是 b 的子串。 a,b串的长度都在1~4000之间。 思路 设 dp[x][y] 表示 a 串处理完了前 x 个, b 串处理完了前 y 个,构造出来的答案串的最小 阅读全文

posted @ 2020-10-04 23:56 Willems 阅读(264) 评论(0) 推荐(0)

树 (DP,dfs序,组合数学,思维)
摘要:题目:传送门 题意 1 <= n, k <= 300 思路 这题邓老师用的是 dfs 序做的 --> 戳我 用dfs序的话,是 o(nk)的,复杂度略高 这题还可以用另一种思维做; 可以将染色转化为,将一颗树分成若干连通块,连通块里的颜色都相同,不同连通块的颜色不同; 把一颗树分成不同的两个连通块就 阅读全文

posted @ 2020-09-17 09:31 Willems 阅读(184) 评论(0) 推荐(0)

F - x-prime Substrings (AC自动机 + dp)
摘要:题目:传送门 题意 思路 看数据很容易想到二维 DP,只不过只想到 DP 还远远不够。 和不超过 20 的字符串不超过 2500 个,长度最长为 20。 那我们可以先暴力预处理出这些字符串,并建 trie 树. 用 dp[i][j] 表示处理完前 i 个字符,后缀在 trie 树上对应着 节点 j 阅读全文

posted @ 2020-09-06 16:36 Willems 阅读(106) 评论(0) 推荐(0)

合并回文子串 (区间 dp,最长回文子序列)
摘要:题目:传送门 题意 思路 邓老师精讲 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i, j, 阅读全文

posted @ 2020-09-06 10:06 Willems 阅读(191) 评论(0) 推荐(0)

牛客练习赛68 D.牛牛的粉丝 (期望DP,矩阵快速幂)
摘要:题目:传送门 题意 思路 题解 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i, j, si 阅读全文

posted @ 2020-08-30 13:42 Willems 阅读(179) 评论(0) 推荐(0)

牛客练习赛64 D 宝石装箱 (背包dp,容斥,数学)
摘要:题目:传送门 题意 思路 官方题解:地址 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i, 阅读全文

posted @ 2020-05-26 20:05 Willems 阅读(148) 评论(0) 推荐(0)

牛客挑战赛40 A-小V和方程 (思维、数学、整数拆分、dp)
摘要:题目:传送门 题意 思路 将 m 写成 a * sqrt(b) 的形式,每个 xi 必然是 ui * sqrt(b) 的形式,且 u1 + u2 + .... + un = a; 那么问题就转化为了,求 u1 + u2 + ... + un = a 有多少本质不同的解,这个问题是经典的整数拆分问题, 阅读全文

posted @ 2020-05-16 09:46 Willems 阅读(369) 评论(0) 推荐(0)

第17届科大讯飞杯 C-张老师得旅行 (区间 DP )
摘要:题目:传送门 题意 题目描述 张老师到了一个王国去旅游,王国有n个景点,张老师到达这个城市所在的车站恰好位于第x个景点,这个王国非常特别,恰好所有著名的景点都在分布在直线上,每个景点在坐标pi上(单位:公里),张老师身体非常好,每走一公里花费一分钟。每个景点都有一个打卡点,并且必须在不迟于相应的时间 阅读全文

posted @ 2020-05-11 10:22 Willems 阅读(211) 评论(0) 推荐(0)

HDU 1223 Order Count ( DP 大数 )
摘要:题目:传送门 题意 有 n 个不同的数,问用 < 和 = 连接它们,有多少种不同的方案。 n = 3 的时候,有 13 种方案: 1) A=B=C2) A=B<C3) A<B=C4) A<B<C5) A<C<B6) A=C<B7) B<A=C8) B<A<C9) B<C<A10) B=C<A11) 阅读全文

posted @ 2020-05-10 10:26 Willems 阅读(204) 评论(0) 推荐(0)

CF 76 F. Tourist (DP, LIS, 思维)
摘要:题目:传送门 题意:在 x 轴上,有 n 场演出,第 i 场在 xi 处,时间 ti 时表演,然后,有一个人,最快移动速度为 v,问你1、在任意处作为起点,最多能观看几场表演;2、在 x = 0 处开始,最多能观看几场表演。 1 <= n <= 1e5 思路: 参考 #include <bits/s 阅读全文

posted @ 2020-03-22 11:33 Willems 阅读(201) 评论(0) 推荐(0)

D - Manga Market (思维 + dp)
摘要:题目:传送门 题意:有 n 个店,一开始你在家,此时 t = 0,你可以花 1 单位时间从你家去任意的一个店,或者从某一个店去到另一个店。假设你在 t = x 的时候到达第 i 个店,那么你需要花 ai*x + bi 的时间在这个店买东西。现在问你在 T 单位时间内最多能去几个店买东西。 1 <= 阅读全文

posted @ 2020-03-09 13:48 Willems 阅读(293) 评论(0) 推荐(0)

E. Team Building (状压dp + 思维)
摘要:题目:传送门 题意:你有 n 个人,你想从这 n 个人中选 p 个人去到不同的 p 个位置, 选 k 个人作为观众。如果第 i 个人被选为观众他的贡献就是 a[ i ],如果第 i 个人被选为第 j 个位置上的人,那么他的贡献就是 b[ i ][ j ]。问你选 p 个位置上的人和 k 个观众最大的 阅读全文

posted @ 2020-03-05 15:45 Willems 阅读(388) 评论(0) 推荐(0)

HDU 4623 Crime (状压DP + 数学优化)
摘要:题目:传送门 题意:问存在多少 1 ~ n 的排列满足任意相邻的两个数互质,输出答案取余 mod。 1 <= n <= 28, 1 <= mod <= 30000 思路:很容易想到状压DP, dp[ i ][ j ]其中 i 是最后一个数要填的数,j 是当前使用过的数的状态,每一个二进制位对应一个数 阅读全文

posted @ 2020-03-03 09:39 Willems 阅读(236) 评论(0) 推荐(1)

E. Segment Sum (数位DP)
摘要:题目:传送门 题意:问在区间 [ L, R ] 中使用的数字不超过 k 种的数的和是多少,例如区间 [ 10, 50 ] 中使用的数字不超过 1 种的数的和是 11 + 22 + 33 + 44 = 110. 1 <= L <= R < 1e18, 1 <= k <= 10, 输出答案对 99824 阅读全文

posted @ 2020-03-01 14:57 Willems 阅读(202) 评论(0) 推荐(0)

E. Double Elimination (DP)
摘要:题目:传送门 题意:有 2^n 个人进行比赛,对他们编号 1~2^n,起初1和2打,3和4打,5和6打,7和8打...,然后1和2打完胜利的 和 3和4打完胜利的再打一场,1和2打完失败的和3和4打完失败的也再打一场,然后,失败组最终胜利的和胜利组最终胜利的再打一场。详情可看样例解释,结合着更容易理 阅读全文

posted @ 2020-02-28 11:44 Willems 阅读(194) 评论(0) 推荐(0)

D. Happy New Year (状压DP + 扫描线)
摘要:题目: 传送门 题意: 有 n 个区间,一个数最多被 K 个区间 [Li, Ri] 包含让你选一些区间,使得被奇数个区间包含的数最多,输出这个最大值。 1 <= n <= 100000, 1 <= k <= 8, 1 <= Li <= Ri <= m <= 1e9 题解:一个数最多可以被 K 个区间 阅读全文

posted @ 2020-02-27 15:11 Willems 阅读(251) 评论(0) 推荐(0)

E. Erase Subsequences (dp)
摘要:题目: 传送门 题意: 给你两个只由小写字符构成的字符串 s 和 t, 问你是否能从 s 找出两个不重合的子串s1, s2,使得s1 + s2 = t 多测试 T <= 100, 总的字符串长度不超过 400 解:看数据显然是可以 o(n^3) 的,我们知道 t 是由 s 的两个子串连接而成的。那我 阅读全文

posted @ 2020-02-20 16:09 Willems 阅读(264) 评论(0) 推荐(0)

F、Animal Observation (DP + 线段树 + 滑动窗口)
摘要:题目:传送门 题意: 有n天,m个区域,第 i 天第 j 个区域有 a[ i ][ j ] 个动物, 然后, 你可以在放一个 2 * k 的矩阵, 问你 n 天能够观察到的动物最多是多少。 若两个矩阵都包含了 a[ i ][ j ],那 a[ i ][ j ] 只算一次。 1 ≤ n ≤ 50, 1 阅读全文

posted @ 2020-02-19 13:34 Willems 阅读(297) 评论(0) 推荐(0)

E. Nanosoft (预处理, 三维dp)
摘要:题目: 传送门 题意: 定义Nanosoft的 logo 为 四个大小相同的正方形合并成一个大正方形。左上角是红色的,右上角是绿色的,左下角是黄色的,右下角是蓝色的。 例如以下这些都是 以下这些都不是 给你一个n * m的矩阵,这个矩阵由 4 个大写字母 “R” , "G", “Y”, “B” 构成 阅读全文

posted @ 2020-02-14 15:43 Willems 阅读(352) 评论(0) 推荐(0)

石子合并问题,经典区间DP
摘要:一、直线型 问题描述: 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值(或最大值)。 思路: 设 DP[ i ][ j ] 表示第 i 堆合并到第 j 阅读全文

posted @ 2020-02-02 12:48 Willems 阅读(473) 评论(0) 推荐(0)

1 2 下一页

导航