dp
Error Man
我是菜逼
展开
-
Gym 101889E. Enigma (dp => 思维)
题意: 有长度为最多为 1000位的大数,其中某些位是 ?,表示可以是 0 ~ 9 中的任意一个数. 给一个数 n,将所有的 ? 都填上,使得最后满足这个大数是 n 的倍数 (至少1倍),同时最小化这个大数 (不含前导 0)Analyse:容易想到的是 dp 做法。dp[i][j] 表示当前到第 i 位,mod n == j 的最小数,转移也并不复杂。但是问题来了,这个数是一个大数,存不下怎...原创 2019-10-23 23:03:59 · 207 阅读 · 0 评论 -
Gym 101889F. Fundraising(线段树 + dp)
题意: n 个人,每一个人都 x , y , v 三个属性. 现在要选取若干个人形成一个集合,这个集合需要满足的条件是,集合内的任意两个人A,B都符合 (A.x == B.x && A.y == B.y) || (A.x < B.x && A.y < B.y) || (A.x > B.x && A.y > B.y),最大化集...原创 2019-10-23 15:40:30 · 205 阅读 · 0 评论 -
洛谷 P1006(方格取数路径不重复的说明)
题目描述小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个mm行nn列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1(1,1),小轩坐在矩阵的右下角,坐标(m,n)(m,n)。从小渊传到小轩的纸条只可以向下或者向...原创 2019-08-19 16:03:50 · 310 阅读 · 0 评论 -
洛谷 P2663 (二维费用背包)
题目描述班级要组织一场综合能力竞赛,全班同学(N(100以内)个,N是偶数)分成两队互相竞争。老师找到了越越并给了越越一张全班同学综合能力测试的成绩,要求他从全班同学中选出一半(他自己也可能被选),并要求这些同学综合能力测试的成绩之和在不超过班级总分一半的前提下尽量达到最高。这样分成的两队实力是最平均的。越越堆着满脸的笑容找到了你,你就帮他写一个程序吧。输入格式第一行:学生个数N;第二...原创 2019-08-19 16:05:43 · 465 阅读 · 1 评论 -
POJ - 3186 Treats for the Cows(dp)
FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for giving vast amounts of milk. FJ sells one treat per day and wants to maximize the money he receives over a given p...原创 2019-08-19 16:07:36 · 127 阅读 · 0 评论 -
洛谷 P.1353 [USACO08JAN]跑步Running(基础dp[刷表])
题目描述The cows are trying to become better athletes, so Bessie is running on a track for exactly N (1 ≤ N ≤ 10,000) minutes. During each minute, she can choose to either run or rest for the whole minut...原创 2019-08-19 20:38:01 · 217 阅读 · 0 评论 -
Codeforces 484D.Kindergarten(dp,一个数组分成若干段,每一段的值是这一段的max - min,极大化所有段的和)
D.KindergartenIn a kindergarten, the children are being divided into groups. The teacher put the children in a line and associated each child with his or her integer charisma value. Each child should...原创 2019-08-20 00:15:18 · 238 阅读 · 0 评论 -
Codeforces 5C.Longest Regular Bracket Sequence(最长连续合法括号匹配[dp + stack])
Longest Regular Bracket SequenceThis is yet another problem dealing with regular bracket sequences.We should remind you that a bracket sequence is called regular, if by inserting «+» and «1» into it...原创 2019-08-20 14:43:34 · 322 阅读 · 0 评论 -
Codeforces 940E. Cashback(贪心 + dp)
E. CashbackSince you are the best Wraith King, Nizhniy Magazin «Mir» at the centre of Vinnytsia is offering you a discount.You are given an array a of length n and an integer c.The value of some ar...原创 2019-08-20 17:49:02 · 303 阅读 · 0 评论 -
Codeforces 1051D.Bicolorings(dp计数,状态压缩)
Bicolorings题目描述You are given a grid, consisting of 2 2 rows and n n columns. Each cell of this grid should be colored either black or white.Two cells are considered neighbours if they have a common...原创 2019-08-20 20:43:14 · 293 阅读 · 0 评论 -
Codeforces 10D - LCIS(最长公共上升子序列 + 路径输出)
LCISThis problem differs from one which was on the online contest.The sequence a1, a2, …, an is called increasing, if ai < ai + 1 for i < n.The sequence s1, s2, …, sk is called the subsequenc...原创 2019-08-21 23:45:48 · 557 阅读 · 0 评论 -
Codeforces 1207 C. Gas Pipeline(简单dp)
题目链接题意: 给一个长度为 nnn 的 010101 串,和建单位长度的管道的代价 aaa 和单位长度的柱子 bbb 的代价,有 444 种柱子,低管道代价为 a+ba+ba+b ,高管道代价为 a+2∗ba+2*ba+2∗b,上升管道代价为2∗a+b2*a+b2∗a+b,下降管道代价为2∗a+2∗b2*a+2*b2∗a+2∗b, 010101串中 111 代表要建高管道,一段高管道前要建上升...原创 2019-09-02 21:32:28 · 290 阅读 · 0 评论 -
HDU - 5965 扫雷(dp[好理解,但不那么优的题解])
扫雷Problem Description扫雷游戏是晨晨和小璐特别喜欢的智力游戏,她俩最近沉迷其中无法自拔。该游戏的界面是一个矩阵,矩阵中有些格子中有一个地雷,其余格子中没有地雷。 游戏中,格子可能处于己知和未知的状态。如果一个己知的格子中没有地雷,那么该 格子上会写有一个一位数,表示与这个格子八连通相邻的格子中地雷总的数量。现在,晨晨和小璐在一个3行N列(均从1开始用连续正整数编号)的矩...原创 2019-09-18 19:39:36 · 228 阅读 · 0 评论 -
Comet OJ - Contest #11 B.usiness (一个值得写的dp)
中文题意不概述思路: 昨天打的时候想到了状态,想到了大概是用完全背包转移,但是不会第 i 天怎么由第 i−1i - 1i−1天推来。。。还是 tcldp[i][j]dp[i][j]dp[i][j] 表示到第 iii 天,手中的节点数为 jjj 时最后一天最大得到节点数。那么首先有 dp[i][j+f[j]]=max(dp[i][j+f[j]],dp[i−1][j])dp[i][j +...原创 2019-09-22 21:33:35 · 287 阅读 · 0 评论 -
洛谷 P1004 方格取数 (四维dp)
题目描述设有N \times NN×N的方格图(N \le 9)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00。如下图所示(见样例):A 0 0 0 0 0 0 0 0 0 0 13 0 0 6 0 0 0 0 0 0 7 0 0 0 0 0 0 14 0 0 0 0 0 21 0 0 0 ...原创 2019-08-19 16:02:52 · 297 阅读 · 0 评论 -
洛谷 1417 (贪心 + 01背包)
题目背景由于你的帮助,火星只遭受了最小的损失。但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星。不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~gw还是会做饭的,于是拿出了储藏的食物准备填饱肚子。gw希望能在T时间内做出最美味的食物,但是这些食物美味程度的计算方式比较奇葩,于是绝望的gw只好求助于你了。题目描述一共有n件食材,每件食材有三个属性,ai,bi和ci,...原创 2019-08-13 22:47:50 · 225 阅读 · 0 评论 -
HDU 1003 (连续子序列最大和,经典DP)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 294085 Accepted Submission(s): 69826 Problem Description Given...原创 2018-08-16 18:59:50 · 276 阅读 · 0 评论 -
01背包 1维 (滚动数组)
这里先说一下二维的。///01背包///设物品有n件物品,背包容量为wint w[]; ///代表n件物品的价值int pw[]; ///代表n件物品各占的容量int f[n+50][w+50]; ///最优解二维数组///f[i][j]数组 代表存i件物品在容量为j的背包中得到的价值void package_01(){ for(int i=0;i&...原创 2018-08-31 15:47:44 · 489 阅读 · 0 评论 -
hdu 1024 (经典dp,多段子序列最大和)
Max Sum Plus PlusNow I think you have got an AC in Ignatius.L's "Max Sum" problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced with a more diffic...原创 2018-08-31 19:43:57 · 446 阅读 · 1 评论 -
POJ - 1458 Common Subsequence(最长公共子序列)
Common SubsequenceA subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2...原创 2018-09-08 16:50:43 · 195 阅读 · 0 评论 -
动态规划 区间调度问题 之 最长区间调度
该问题大致为, 给定 n 个工作的开始时间 与 结束时间,要求选择其中若干份工作参与, 参与一份工作 至始至终都全程参与,包括端点。而且 任意两份工作的 工作时间不能有交叉。 问 最后能够工作的最长时间。思路:代码和最多区间调度最大的不同在选择第i个区间时。在这里用了一个二分查找来搜索不重叠的位置,然后判断该位置是否存在。如果不重叠位置存在,则算出当前的最大区间长度和;如果不存在,...原创 2018-09-10 19:03:25 · 1160 阅读 · 0 评论 -
HDU 1712 (分组背包入门题)
ACboy needs your helpACboy has N courses this term, and he plans to spend at most M days on study.Of course,the profit he will gain from different course depending on the days he spend on it.How to ...原创 2018-09-15 12:03:19 · 313 阅读 · 0 评论 -
HDU - 1160 FatMouse's Speed(基础dp,LIS + 输出路径)
FatMouse's SpeedFatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as large a subset of this data as possib...原创 2019-07-24 10:02:10 · 190 阅读 · 0 评论 -
codeforces 1183 H. Subsequences (hard version)(dp求不重复子序列数量)
H. Subsequences (hard version)The only difference between the easy and the hard versions is constraints.A subsequence is a string that can be derived from another string by deleting some or no sym...原创 2019-07-29 22:41:49 · 250 阅读 · 1 评论 -
POJ - 3616 Milking Time(最长区间调度 变形)
关于最长区间调度Milking TimeBessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to sched...原创 2019-07-30 16:27:40 · 325 阅读 · 0 评论 -
codeforces 467 C.George and Job (dp, k 段长度为 m 的不相交的子段最大和)
链接链接题意:给一个数组,长度为 n ,现在要选择 k 段长度为 m 的不相交的子段,问最大和是多少。思路:dp[i][k] 表示到i 个数,选取 k 段的最大和。有状态转移方程 dp[i][k] = max(dp[i - 1][k],dp[i - m][k - 1] + pre[i] - pre[i - m]) . 其中 pre 表示前缀和。Code:#inclu...原创 2019-07-31 10:48:47 · 356 阅读 · 1 评论 -
codeforces 706 C.Hard problem (dp)
链接链接题意:给 n 个字符串,对每个字符串可以翻转,有固定翻转费用。问最后从 1 ~ n 使字符串字典序递增的最小费用。思路:dp[i][k (0 / 1)] ,表示前 i 个有序,i 位置以 0 (表示 i 字符串不翻转),1(表示 i 字符串翻转)的最小费用。每一次都比较当前位置与上一个要使用的状态的字典序.故有状态转移方程: (str 表示当前串,restr 表示翻转串)...原创 2019-07-31 23:45:55 · 179 阅读 · 0 评论 -
Codeforces - 41 D. Pawn(dp[刷表] + 路径输出)
PawnOn some square in the lowest row of a chessboard a stands a pawn. It has only two variants of moving: upwards and leftwards or upwards and rightwards. The pawn can choose from which square of th...原创 2019-08-13 14:03:39 · 296 阅读 · 0 评论 -
Codeforces 987 - C.Three displays(思维 + dp)
Three displaysIt is the middle of 2018 and Maria Stepanovna, who lives outside Krasnokamensk (a town in Zabaikalsky region), wants to rent three displays to highlight an important problem.There ar...原创 2019-08-13 19:56:27 · 329 阅读 · 0 评论