动态规划
CXY_Likescoding
不失情怀,不忘初心!
展开
-
整数划分专题总结
1. 给定一个正整数 n ,将 n 划分成若干正整数之和的划分数。dp[0] = 1;for(i = 1;i <= n; ++i) { for(j = i;j <= n; ++j) { dp[j] = dp[j] + dp[j-i]; }}2. 给定一个正整数 n 和 k,将 n 划分为 k 个正整数之和的划分数。// 递归int f(int n,int k) { if(n==k||k=1) return 1; if(n<k)原创 2021-08-03 21:00:33 · 327 阅读 · 0 评论 -
剑指 Offer 60. n个骰子的点数(动态规划)
[剑指 Offer 60. n个骰子的点数]思路:\qquad题目其实不难,写这篇博客主要是记录下C++使用vector开多维数组。\qquad思路类似于走台阶,每次可以走1,2,3阶,问到每一级台阶有多少种走法。这道题目是丢n次骰子,问每种骰子点数和有多少种组合。求出每种点数和的所有组合数,然后除一下总数就是概率了。状态转移方程如下:dp[i][j]=∑k=16dp[i−1][j−k]dp[i][j]=\sum_{k=1}^6dp[i-1][j-k]dp[i][j]=k=1∑6dp[i−1][j原创 2021-06-16 17:03:10 · 198 阅读 · 0 评论 -
美团 2021 届秋季校园招聘—偏爱字母(转化+动态规划)
题目链接:偏爱字母\qquad小美喜欢字母 E ,讨厌字母 F 。在小美生日时,小团送了小美一个仅包含字母 E 和 F 的字符串,小美想从中选出一个包含字母 E 数量与字母 F 数量之差最大的子串。\qquad子串:从字符串前面连续删去若干个字符,从后面连续删去若干个字符剩下的字符串(也可以一个都不删),例如 abcab 是 fabcab 的子串,而不是 abcad 的子串。我们将空串看作所有字符串的子串。思路:\qquad根据题意可以推出字母 E 对答案的贡献是正向的,多一个答案就加1;字母 F原创 2021-03-22 11:36:18 · 803 阅读 · 0 评论 -
贝壳找房2021届校招算法卷3—世界杯(动态规划+概率)
[题目链接:世界杯]\qquad牛牛要参加一场程序猿世界杯,一共有2n2^n2n名选手参加比赛,选手们依次编号从111到2n2^n2n,比赛采用单淘汰制,即第一轮1,2),(3,4),⋯ ,(2n−1,2n)(1,2),(3,4),⋯ ,(2^n−1,2^n)(1,2),(3,4),⋯ ,(2n−1,2n)(进行比赛,第一轮的决胜者再与相连的选手进行比赛,每轮都会淘汰一半的选手,进行n之后能决出冠军。牛牛的编号为m,但是牛牛知道了各个选手与其他选手比赛时的胜率。牛牛想知道他能夺冠的概率是多少呢,牛牛给你各原创 2021-02-04 00:26:39 · 525 阅读 · 4 评论 -
POJ 3616 Milking Time
DescriptionBessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her nextN (1 ≤ N ≤ 1,000,000) hours (conveniently labeled 0原创 2017-03-04 10:08:24 · 284 阅读 · 0 评论 -
HDU 1078 FatMouse and Cheese
Problem DescriptionFatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 <= p < n and 0 <= q &l...原创 2017-02-27 17:07:50 · 302 阅读 · 0 评论 -
HDU 2859 Phalanx
Problem DescriptionToday is army day, but the servicemen are busy with the phalanx for the celebration of the 60th anniversary of the PRC.A phalanx is a matrix of size n*n, each element is a chara原创 2017-03-04 17:16:22 · 298 阅读 · 0 评论 -
HDU 1520 Anniversary party
Problem DescriptionThere is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical structure of employees. It means that the superviso...原创 2016-08-07 22:00:56 · 399 阅读 · 6 评论 -
HDU 5616 Jam's balance(简单DP)
Problem Description Jim has a balance and N weights.(1≤N≤20)The balance can only tell whether things on different side are the same weight.Weights can be put on left side or right side arbitra原创 2017-08-17 17:12:00 · 331 阅读 · 0 评论 -
POJ 1661 Help Jimmy(简单DP)
Description"Help Jimmy" 是在下图所示的场景上完成的游戏。场景中包括多个长度和高度各不相同的平台。地面是最低的平台,高度为零,长度无限。Jimmy老鼠在时刻0从高于所有平台的某处开始下落,它的下落速度始终为1米/秒。当Jimmy落到某个平台上时,游戏者选择让它向左还是向右跑,它跑动的速度也是1米/秒。当Jimmy跑到平台的边缘时,开始继续下落。Ji原创 2017-08-20 21:48:42 · 427 阅读 · 0 评论 -
POJ 3186 Treats for the Cows
FJ has purchased N (1 The treats are interesting for many reasons:The treats are numbered 1..N and stored sequentially in single file in a long box that is open at both ends. On any day, FJ ca原创 2017-02-20 21:39:19 · 240 阅读 · 0 评论 -
NYOJ 44 子串和
时间限制:5000 ms | 内存限制:65535 KB难度:3描述 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1<=x<=y<=n。输入第一行是一个整数N(N<=10)表示测试数据的组数)每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的一行里有n个整数I(-100=<I&...原创 2020-06-09 20:47:22 · 199 阅读 · 0 评论 -
Codeforces Round #460 (Div. 2) D (拓扑判环+DAG上DP)
D. Substringtime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a graph with n nodes and m directed edges. One lowerca...原创 2018-02-11 10:24:58 · 263 阅读 · 0 评论 -
Codeforces Round #502 D(状压)
D. The Wutime limit per test2 secondsmemory limit per test256 megabytesChildan is making up a legendary story and trying to sell his forgery— a necklace with a strong sense of "Wu" to the K...原创 2018-08-20 22:11:33 · 243 阅读 · 0 评论 -
Codeforces Round #575 (Div. 3) D1&D2(DP)
RGB Substringtime limit per test: 2 seconds memory limit per test: 256 megabytesinput: standard input output: standard outputThe only difference between easy and hard versions is the size o...原创 2019-08-10 20:57:48 · 174 阅读 · 0 评论 -
UVa 11584 Partitioning by Palindromes
Partitioning by PalindromesWe say a sequence of characters isa palindromeif it is the same writtenforwards and backwards. For example, 'racecar' is a palindrome, but'fastcar' is not.uva 11584 -" t原创 2017-02-15 16:33:06 · 471 阅读 · 0 评论 -
UVa 11400 Lighting System Design
转载自:点击打开链接Description You are given the task to design a lighting system for a huge conference hall. After doing a lo转载 2017-02-15 11:37:42 · 258 阅读 · 0 评论 -
HDU 1074 Doing Homework
Problem DescriptionIgnatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ignatius hands in ...原创 2017-03-01 23:59:22 · 391 阅读 · 0 评论 -
HDU 1231 最大连续子序列
最大连续子序列Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 27988 Accepted Submission(s): 12652Problem Description给定K个整数的序列{ N1, N2, .原创 2016-08-07 17:09:18 · 281 阅读 · 0 评论 -
NYOJ 16 矩形嵌套
时间限制:3000 ms | 内存限制:65535 KB难度:4描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是选出尽可能多的矩形排成一行,使得除最后一个外,每一个矩形都可以嵌套在下一个矩形内原创 2017-02-06 17:11:01 · 222 阅读 · 0 评论 -
HDU 1284 钱币兑换问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9841 Accepted Submission(s): 5969Problem Description在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。原创 2017-02-07 00:30:48 · 507 阅读 · 0 评论 -
NYOJ 737 石子合并(一)
时间限制:1000 ms | 内存限制:65535 KB难度:3描述 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。输入有多组测试数据,输入到文件结束。每组测试数据第一行有一个整数n,表示有n堆石子。接下来的一行有原创 2017-02-08 17:03:33 · 273 阅读 · 0 评论 -
NYOJ 860 又见01背包
时间限制:1000 ms | 内存限制:65535 KB难度:3描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。 1 1 1 1 输入多组测试数据。每组测试数据第一行输入,n 和 W ,接下来有n行,每行输入两个数,代表第i个物品的wi 和 v原创 2017-02-11 17:58:38 · 225 阅读 · 0 评论 -
NYOJ 17 单调递增最长子序列
时间限制:3000 ms | 内存限制:65535 KB难度:4描述 求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklmncdefg样例输出137原创 2017-02-11 18:35:18 · 233 阅读 · 0 评论 -
NYOJ 252 01串
时间限制:1000 ms | 内存限制:65535 KB难度:2描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个,他希望你能帮帮他。注:01串的长度为2时,有3种:00,01,10。输入第一行有一个整数n(0随后有n行,每行有一个整数m(2输出输出不含有“11”子串的这种长度的01串共有多少个,占一行原创 2017-02-11 20:29:55 · 268 阅读 · 0 评论 -
UVa 437 The Tower of Babylon & NYOJ 232 How to eat more Banana
时间限制:1000 ms | 内存限制:65535 KB难度:4描述 A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provi原创 2017-02-12 00:54:48 · 348 阅读 · 0 评论 -
HDU 2845 Beans
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4691 Accepted Submission(s): 2184Problem DescriptionBean-eating is an interesting g原创 2017-02-12 11:47:22 · 235 阅读 · 0 评论 -
NYOJ 995 硬币找零
时间限制:1000 ms | 内存限制:65535 KB难度:3描述 在现实生活中,我们经常遇到硬币找零的问题,例如,在发工资时,财务人员就需要计算最少的找零硬币数,以便他们能从银行拿回最少的硬币数,并保证能用这些硬币发工资。我们应该注意到,人民币的硬币系统是 100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01 元,采用这些硬币我原创 2017-02-12 22:23:34 · 258 阅读 · 0 评论 -
HDU 1114 Piggy-Bank
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 22647 Accepted Submission(s): 11481Problem DescriptionBefore ACM can do anything, a原创 2017-02-12 22:33:40 · 208 阅读 · 0 评论 -
HDU 1176 免费馅饼
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 45240 Accepted Submission(s): 15608Problem Description都说天上不会掉馅饼,但有一天gameboy正走在回家的小径原创 2017-02-13 11:25:01 · 247 阅读 · 0 评论 -
UVa 1025 Spy in the Metro
题目链接:https://odzkskevi.qnssl.com/f42a2762ecb9e7541fde59742e2f52e7?v=1486870033本题代码参考了紫书代码库。起初对时间的倒序遍历纠结了很久,在网上看到了一种较为合理解释,dp[i][j]表示时刻i在车站j的最少等待时间,因是等待时间,所以要倒序遍历时间。其次,初始化has_train数组时要考虑p的越界。这道题还需要原创 2017-02-13 19:27:40 · 292 阅读 · 0 评论 -
UVa 116 Unidirectional TSP
题目链接:点击打开链接紫书上的分类叫多段图的最短路,其实思路很简单,转移到下一个位置时考虑右上、右下、直行。其中右上和右下需考虑边界问题。WA点:打印路径时要从dp[i][1]里找(列是1~n),从dp[i][0]里找的怎么调都过不了。。。。代码如下:#include#include#includeusing namespace std;const int INF=1i原创 2017-02-14 18:49:17 · 276 阅读 · 0 评论 -
HDU 2571 命运
命运Problem Description穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机关。要知道,不论何人,若在迷宫中被困1小时以上,则必死无疑!可怜的yifenfei为了去救MM,义无返顾地跳进了迷宫。让我们一起帮帮执着的他吧!命运大迷宫可以看成是一个两维的方格...原创 2016-08-07 17:19:51 · 345 阅读 · 0 评论