数据结构:动态规划
数据结构:动态规划
LSD20164388
如果你过几天就忘了,那么你并没有真正的掌握。
展开
-
2020 China Collegiate Programming Contest, Weihai Site L. Clock Master(分组背包+预处理)
传送门题意给你一个正整数nnn,你需要将nnn拆成若干个正整数的和。设拆成了t1,t2,...,ts{t_1,t_2,...,t_s}t1,t2,...,ts这sss个正整数,对于任意自然数kkk,存在向量(k(k(k modmodmod t1,{t_1},t1,kkk modmodmod t2,...,{t_2},...,t2,..., kkk modmodmod ts){t_s})ts),这些向量中的不同向量个数记为xxx。因此每种拆分对应一个不同的向量个数,现在让你求一个使xxx最原创 2020-11-23 16:07:22 · 413 阅读 · 2 评论 -
Pangu and Stones HihoCoder - 1636 (ICPC 2017 北京 J) 区间dp
传送门:https://hihocoder.com/problemset/problem/1636题意:给你n(<=100)堆石子,再给你两个数L,R(2<=L<=R<=n),表示你只能将连续的x(L<=x<=R)堆石子合并成为一堆,费用为这x堆石子的总数。求将这n堆石子合并成1堆的最小花费,如果不能合并成一堆输出0。思路:这题跟区间dp的入门很像,但是暴力枚举[i,k][k+1,j]区间的同时还要考虑两个子区间的石子数量,直接枚举的复杂度就成了O(n^5),原创 2020-06-12 14:45:59 · 198 阅读 · 0 评论 -
Puzzle Game HihoCoder - 1634(ICPC 北京 2017 H )最大子矩阵+思维
传送门:https://hihocoder.com/problemset/problem/1634题意:给你一个n*m(n,m<=150)的数字矩阵,每个元素val(-1000<=val<=1000),以及一个数字p(-1000<=p<=1000)。你现在最多可以修改矩阵中的一个数字,改成p,求最大子矩阵的最小值思路:其实关键还是想到,对于某个点(i,j),要么最大子矩阵(设值为ma)经过了这个点,要么没有经过这个点。如果没有经过这个点,我们只需要统计其上下左右四个部分原创 2020-06-12 14:28:50 · 242 阅读 · 0 评论 -
HDU 6224 (ICPC 沈阳 2017 H) Legends of the Three Kingdoms(记忆化搜索)
Legends of the Three KingdomsTime Limit: 8000/4000 MS (Java/Others)Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 928Accepted Submission(s): 148Problem DescriptionIn the game of Three Kingdoms’ Legends, there are 4 players...原创 2020-06-08 22:06:29 · 507 阅读 · 0 评论 -
2014-2015 ACM-ICPC, Asia Xian Regional Contest Problem H. The Problem to Make You Happy(博弈,记忆化搜索)
题意:给你n(<=100)个点m(<=n*(n-1))条边的有向简单图,Alice和Bob(两个人都足够聪明)在这个图上玩游戏,两个人轮流沿着有向图走,一次只能走一条边,Bob先走,如果Alice和Bob走到同一个点,或者Bob无法走了,则Bob输,否则Bob赢(Alice永远追不上Bob或者Alice无路可走)。如果Bob能赢输出Yes,否则输出No。思路:考虑记忆化搜索。但是由于图并不是DAG,我们只能倒着从已知的状态往前推,从而找出所有的Bob的必败态。dp[i][j][k原创 2020-06-06 18:33:16 · 247 阅读 · 0 评论 -
Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! D. Nastya and Scoreboard(贪心+dp)
D. Nastya and Scoreboardtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputDenis, who managed to buy flowers and sweets (you will le...原创 2020-04-24 16:29:51 · 424 阅读 · 0 评论 -
2019年华南理工大学程序设计竞赛(春季赛) A NB群友 (记忆化搜索)
链接:https://ac.nowcoder.com/acm/contest/625/A来源:牛客网时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述CC是著名的算法竞赛选手,他不仅人长得帅,而且技术了得,自然而然就有了许多粉丝。为了能帮助粉丝们提高竞技水平,CC建立了一个粉...原创 2019-04-15 19:35:03 · 617 阅读 · 3 评论 -
2019年华南理工大学程序设计竞赛(春季赛) K Parco_Love_String(dp+递推/后缀数组)
链接:https://ac.nowcoder.com/acm/contest/625/K来源:牛客网时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述众所周知,在算法竞赛中,出题人对他出的题的难度往往存在错误的估计。比如出题人本想出个简单题,没想到却出成了重坑细节题;本想出个中...原创 2019-04-15 19:25:30 · 1407 阅读 · 0 评论 -
ZOJ 3755 Mines(状压dp)
MinesTime Limit:2 Seconds Memory Limit:65536 KBAs a small-game fan, Flandre loves playing the Mine-sweeping very much. He spends 23 hours playing the lowest level of Mine-sweeping every day...原创 2019-04-12 11:12:12 · 201 阅读 · 0 评论 -
CodeForces - 258B - B. Little Elephant and Elections(数位dp+dfs)
B. Little Elephant and Electionstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere have recently been elections in the zoo. O...原创 2019-04-12 11:02:24 · 305 阅读 · 0 评论 -
CodeForces -55D - D. Beautiful numbers(数位dp)
D. Beautiful numberstime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputVolodya is an odd boy and his taste is strange as well. It s...原创 2019-04-12 10:54:56 · 138 阅读 · 0 评论 -
POJ 3311 Hie with the Pie(状压dp)
Hie with the PieTime Limit:2000MS Memory Limit:65536K Total Submissions:11079 Accepted:5880 DescriptionThe Pizazz Pizzeria prides itself in delivering pizzas to its custome...原创 2019-04-12 10:49:08 · 257 阅读 · 0 评论 -
HDU 4539 郑厂长系列故事——排兵布阵(状压dp)
郑厂长系列故事——排兵布阵Time Limit: 10000/5000 MS (Java/Others)Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 3671Accepted Submission(s): 1261Problem Description 郑厂长不是正厂长 也不是副厂...原创 2019-04-13 10:00:49 · 312 阅读 · 0 评论 -
HDU 3811 Permutation(状态压缩+记忆化搜索)
PermutationTime Limit: 6000/3000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 559Accepted Submission(s): 259Problem DescriptionIn combinatorics a perm...原创 2019-04-13 10:06:16 · 309 阅读 · 0 评论 -
HDU 3001 Travelling(状压dp)
TravellingTime Limit: 6000/3000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11033Accepted Submission(s): 3484Problem DescriptionAfter coding so many ...原创 2019-04-13 10:11:27 · 195 阅读 · 0 评论 -
2019年ICPC南昌网络赛 D. Match Stick Game (记搜)
题库链接:https://nanti.jisuanke.com/t/38223Xiao Ming recently indulges in match stick game and he thinks he is good at it. His friend Xiao Jun decides to test him. Xiao Jun gives him an expression of le...原创 2019-04-22 15:47:13 · 366 阅读 · 0 评论 -
UVALive - 8072 - Keeping On Track(树形dp)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=6094题意:给你n(n<=10000)条无向边,这n条边刚好构成n+1个节点的树,你要删除某个节点及其相连的边,使变为不能互相到达的点对数最多,输出...原创 2019-04-26 19:43:45 · 386 阅读 · 0 评论 -
ZOJ 3956 Course Selection System (01背包)
Course Selection SystemTime Limit:1 Second Memory Limit:65536 KBThere arencourses in the course selection system of Marjar University. Thei-th course is described by two values: happines...原创 2019-05-01 21:29:23 · 350 阅读 · 0 评论 -
UVALive - 8149 Ingredients(拓扑排序+01背包)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=6171题意:给你m,n(m<=1e4,n<=1e6)表示你有m元钱,n种合成方式。每种合成方式给你三个字符串s,ss,sss以及两个整数x...原创 2019-05-03 11:00:35 · 406 阅读 · 0 评论 -
ZOJ 3868 GCD Expectation(容斥+快速幂)
GCD ExpectationTime Limit:4 Seconds Memory Limit:262144 KBEdward has a set ofnintegers {a1,a2,...,an}. He randomly picks a nonempty subset {x1,x2,…,xm} (each nonempty subset has equal p...原创 2019-05-09 10:21:38 · 272 阅读 · 0 评论 -
UVA - 12099 The Bookcase(巧妙DP)
题意:给你n(3<=n<=70)本书,每本书有一个高度h和宽度t,你要构造一个三层的书架,把所有书都放上,使 书架的总高度*宽度最大的那一层的宽度 最小。(即 (∑3 j=1 maxi∈Sj hi) ×(max3 j=1∑i∈Sj ti) is minimized)思路:DP。这里参考了网上的一种十分巧妙的dp方法,仅需要二维dp: dp[j][k]表示第二层宽度为j,第三层宽度为...原创 2018-06-12 20:46:44 · 576 阅读 · 0 评论 -
POJ 3254 Corn Fields (状压dp)
Corn FieldsTime Limit:2000MS Memory Limit:65536K Total Submissions:21643 Accepted:11344 DescriptionFarmer John has purchased a lush new rectangular pasture composed ofMby...原创 2019-04-12 10:44:31 · 166 阅读 · 0 评论 -
2019年4月10日训练日记
数位dp小结:1、问题特点①一般来说是求某个区间内的符合与每一数位有关的性质的数个个数②数据范围在1e9以上,即区间很大③求区间内第几个①条件的数,通常是再套个二分2、感悟总结①实际上是一种特殊的记忆化搜索,记忆的状态与每一数位有关②根据题目特点将数拆成k进制形式,通常下界为0(如果不是下界就再开一个数组表示下界),ans(l,r)=ans(r)-ans(l-1)③...原创 2019-04-10 22:38:00 · 420 阅读 · 0 评论 -
递推递归练习 中的L题
题意就是求点从(0,0)坐标向右向下走到给定坐标的路线。给定马的坐标是一个无法通过的障碍,其周围有8个点无法通过。思路:走到点(i,j)的路线数为a[i][j]=a[i-1][j]+a[i][j-1];想到这一点就差不多了。用数组a存路线数,数组b判断障碍。注意边界条件,a[i][j]即为总路线数。代码如下: #includeusing namespace std;long原创 2017-04-01 19:35:14 · 346 阅读 · 0 评论 -
UVA - 1443 Garlands(二分+DP)
题意:给你n(n<=40000)个花环,用线串起来,你需要将它挂在天花板上挂m(m<=10000)个位置(如图所示)每个花环有一定的重量a[i]。也就是说你要把这n个花环分成m-1段。要满足三个条件:1、每一段都必须包含偶数个花环。2、每半段最多d个花环。3、使花环重量最重的半段重量最小。注意:最后一段的最后一个点一定要挂在第m个点上(The garland has to be att...原创 2018-06-08 11:15:37 · 472 阅读 · 0 评论 -
CodeForces - 264B Good Sequences(DP思想)
B. Good Sequencestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputSquirrel Liss is interested in sequences. She also has preferences of integers. S...原创 2018-06-07 10:38:38 · 361 阅读 · 0 评论 -
CodeForces - 983B XOR-pyramid(两次区间DP/记忆化DFS)
B. XOR-pyramidtime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputFor an array bb of length mm we define the function ff asf(b)={b[1]if m=1f(b[1]⊕b[2]...原创 2018-06-07 10:16:22 · 402 阅读 · 0 评论 -
2018年湖北省大学程序设计竞赛 D. Who killed Cock Robin(树形DP)
题意:求无向树有多少个不同的子树。单点也算。这道题比赛的时候公式对了,但是最后求和求错了,迷,也是思路没有完全理清楚。树形dp,核心思想是合并子树。由于无向,我们随意确定一个点为根,便确定了树的结构。dp[i]表示以节点i为根的,包含节点i的子树总数。用dfs从根往下搜,回溯的时候合并子树统计方法总数。显然叶子结点v,dp[v]=1;然后回溯到其父节点u时,我们把dp[v]与dp[u]合并。然后方...原创 2018-04-23 10:47:45 · 240 阅读 · 0 评论 -
2018年1月28日训练日记
今天主要是做了下午寒假训练营的比赛。赛后补得题。是dp专场。除了第一题和最后一题暴力以外,其他的貌似都是dp。一道树形dp,一道数位dp,一道状压dp,一道01背包变形,一道普通dp。其中C题由于时间原因没来得及看。整体来说不难,如果打现场应该至少能出5题。(赛后不到三小时5题出了。。。)正好借这个机会复习了一下。。。具体代码就不说了。明天开始看网络流。。。加油吧。。。原创 2018-01-28 21:41:52 · 581 阅读 · 0 评论 -
动态规划练习一 19题
题意就是给一个n*n的数组,从左上角走到右下角的最小的和。倒着分析,从右下角往左上角走,每一步都取最小值,到左上角的和即为最小和。状态转移方程为 a[i][j]=a[i][j]+min(a[i+1][j],a[i][j+1])。代码如下:#include#include#includeusing namespace std;int min(int x,int y){原创 2017-04-17 22:24:14 · 271 阅读 · 0 评论 -
动态规划练习一 21题
三角形的最佳路径问题是动态规划的典型例题,也是递推递归的典型例题。求从三角形顶点到底边数字的最大和的路径,从最底边第n行开始分析,状态转移方程为f[j]=a[i][j]+max(f[j],f[j+!]);注意输入和求和的时候都是把数字当成一个三角形数组。AC代码如下:#includeusing namespace std;int main(){ int i,j,n原创 2017-04-17 22:16:00 · 298 阅读 · 0 评论 -
hdu 4336 Card Collector (状压dp+期望dp)
题意:有n种卡片,你每买一包零食都有可能获得其中的一种卡片或者没获得卡片。问要集齐这n种卡片,需要买的零食包数的期望数是多少。思路:状压dp+期望dp。因为最多有20种卡片,所以可以通过状态压缩表示获没获得该种卡片。0表示没有,1表示有,dp[i]表示状态i所需要买的零食期望数。最终集齐所有卡片的期望肯定是0,因为不需要再继续买了,因此dp[(1可以发现,如果买的一包零食中没有卡片(概率为原创 2017-12-03 09:53:16 · 312 阅读 · 0 评论 -
ACM-ICPC 2018 徐州赛区网络预赛 B BE, GE or NE (记忆化dfs)
In a world where ordinary people cannot reach, a boy named "Koutarou" and a girl named "Sena" are playing a video game. The game system of this video game is quite unique: in the process of playing th...原创 2018-09-10 09:00:33 · 557 阅读 · 4 评论 -
2015年ACM/ICPC长春赛区 H题(01背包)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5202题意:给你n(n<=2015)个点,定义f(x)为度为x的点的值。然后给你f(1)~f(n-1)。让你构造一棵树,使所有点的值之和...原创 2018-09-28 16:35:31 · 301 阅读 · 0 评论 -
LightOJ - 1287 - Where to Run (状压期望dp)
1287 - Where to Run PDF (English) Statistics Forum Time Limit:2 second(s) Memory Limit:32 MB Last night you robbed a bank but couldn't escape and when you just got outside today...原创 2019-04-05 16:50:41 · 299 阅读 · 0 评论 -
2019年3月17日训练日记
DP:DP的范围非常广泛。。。但是一些基础的dp还是要会的。。。01/完全/多重(二进制压缩)/分组背包这些都是必须熟练掌握的。。。一些经典的线性dp要尽快过掉。。。记忆化搜索是个好东西。区间dp主要是弄清楚如何从小区间状态转移到大区间。状压dp的最明显特点就是n<=20,看到一定要特别注意!!!树形dp主要就是弄清楚如何从子树转移。最关键的还是状态转移方程。灵活...原创 2019-03-18 08:26:42 · 238 阅读 · 0 评论 -
codeforces 366C - Dima and Salad (dp)
C. Dima and Saladtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputDima, Inna and Seryozha have gathered in a room. That's right, s...原创 2019-01-16 21:02:55 · 361 阅读 · 0 评论 -
Codeforces Round #531 (Div. 3) F. Elongated Matrix (状压+记搜)
F. Elongated Matrixtime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a matrix aa, consisting of nn rows and mm colum...原创 2019-01-12 11:18:05 · 312 阅读 · 0 评论 -
Educational Codeforces Round 55 (Rated for Div. 2) E Increasing Frequency(dp)
题目链接:http://codeforces.com/contest/1082/problem/EE. Increasing Frequencytime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou ar...原创 2018-12-02 09:47:18 · 481 阅读 · 10 评论 -
HDU 6007 Mr. Panda and Crystal(dijkstra变形+完全背包)
Mr. Panda and CrystalTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 979 Accepted Submission(s): 322 Problem DescriptionLong long tim...原创 2018-10-29 15:34:08 · 283 阅读 · 0 评论