HDU 1505 City Game【DP】】的更多相关文章

题意:是二维的1506,即在1506的基础上,再加一个for循环,即从第一行到最后一行再扫一遍--- 自己写的时候,输入的方法不对---发现输不出结果,后来看了别人的----@_@发现是将字母和空格当成一个字符串来输入的. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int h[1010][1010],l[1010…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1176 思路 因为刚开始的起点是固定的 但是终点不是固定的 所以我们可以从终点往起点推 dp[i][j] 表示 在时刻为t的时候 坐标为j 的时刻 可以获得的最多馅饼数 dp[i][j] += max(dp[i + 1][j - 1], dp[i + 1][j], dp[i + 1][j + 1]); 最后状态会转移到 dp[1][4], dp[1][5], dp[1][6] 去三值中的最大值 AC代…
题意:给出n个月,雇佣一个人所需的钱hire,一个人工作一个月所需要的钱salary,解雇一个人所需要的钱fire,再给出这n个月每月1至少有num[i]个人完成工作,问完成整个工作所花费的最少的钱是多少. 用dp[i][j]表示在第i个月雇佣j个人所需要的最少花费 先考虑只解雇人和聘请人的情况 for(j=num[i];j<=sum;j++) { ])//说明雇佣了人 dp[i][j]=dp[i-][num[i-]]+j*salary+(j-num[i-])*hire; else//说明解聘了…
题意:给出丑数的定义,只含有2,3,5,7这四个素数因子的数称为素数.求第n个丑数. 可以先观察几个丑数得出规律 1:dp[1] 2:min(1*2,1*3,1*5,1*7) 3:min(2*2,1*3,1*5,1*7) 4:min(2*2,2*3,1*5,1*7) 5:min(3*2,2*3,1*5,1*7) 6:min(3*2,2*3,2*5,1*7) 7:min(4*2,3*3,2*5,1*7) 8:min(4*2,3*3,2*5,2*7) 9:min(5*2,3*3,2*5,2*7) 然…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1003 题意 给出一个序列 要求找出一个和最大的子序列 思路 O(N)的做法 但是要标记 子序列的头部位置 如果输入全部是负数的话 应该输出是最小的负数和它的位置 而不是输出0 0 0 AC代码 #include<cstdio> #include<iostream> #include<algorithm> #include<cmath> #include<c…
City Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4531    Accepted Submission(s): 1919 Problem Description Bob is a strategy game programming specialist. In his new city building game t…
dp[i][j]表示第i位取j的时候取得的最大的分数 然后分s[i]是不是问号,s[i-1]是不是问号这大的四种情况讨论 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; ; ]; int a[maxn]; char s[maxn]; int n; int main(){ int T; scanf("%d&qu…
题意:给出n*m的格子,每个格子的值为w[i][j],在值不超过k的时候,可以往右或者往下走,问从(1,1)走到(n,m)能够得到的最大的值 类似于背包 d[i][j][k]=maxx(d[i-1][j][k],d[i-1][j][k-w[i][j]]+w[i][j],d[i][j-1][k],d[i][j-1][k-w[i][j]]+w[i][j]); #include<iostream> #include<cstdio> #include<cstring> #inc…
HDOJ_1087_Super Jumping! Jumping! Jumping! [DP] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 44670 Accepted Submission(s): 20693 Problem Description Nowadays, a kind of chess game called "Super…
Kattis - honey[DP] 题意 有一只蜜蜂,在它的蜂房当中,蜂房是正六边形的,然后它要出去,但是它只能走N步,第N步的时候要回到起点,给出N, 求方案总数 思路 用DP 因为N == 14 所以 最多走7步 我们不妨设 (7, 7) 为原点,然后 dp[0][7][7] = 1 因为 N == 0 的时候 方案数只有一个 那就是 不动吧.. dp[i][j][k] i 代表第几步 j k 分别表示 目前的位置 一个点 在一张图里面本来有八个方向可以走 这里六边形 我们只取六个方向就可…
HDOJ 1423 Greatest Common Increasing Subsequence [DP][最长公共上升子序列] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 8768 Accepted Submission(s): 2831 Problem Description This is a problem from ZOJ 24…
HDOJ 1501 Zipper [DP][DFS+剪枝] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 10886 Accepted Submission(s): 3925 Problem Description Given three strings, you are to determine whether the third str…
HDOJ 1257 最少拦截系统 [DP] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 50753 Accepted Submission(s): 19895 Problem Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹…
HDOJ 1159 Common Subsequence[DP] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 44280 Accepted Submission(s): 20431 Problem Description A subsequence of a given sequence is the given sequence wit…
POJ_2533 Longest Ordered Subsequence[DP][最长递增子序列] Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 58448 Accepted: 26207 Description A numeric sequence of ai is ordered if a1 < a2 < - < aN. Let the subsequenc…
HackerRank - common-child[DP] 题意 给出两串长度相等的字符串,找出他们的最长公共子序列e 思路 字符串版的LCS AC代码 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <deque> #include <vector> #include <queue> #include…
LeetCode:零钱兑换[322][DP] 题目描述 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1. 示例 1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5 + 1 示例 2: 输入: coins = [2], amount = 3 输出: -1 说明:你可以认为每种硬币的数量是无限的. 题目分析 很显然,这是…
LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 13 输出: 2 解释: 13 = 4 + 9. 题目分析 动态规划真的是笔试过程中必不可少的题型. 如果我们想知道n=15的方法数,我们可以转换为求n=14的方法数.n=11的方法数.n…
[CodeForces - 1225E]Rock Is Push [dp][前缀和] 标签:题解 codeforces题解 dp 前缀和 题目描述 Time limit 2000 ms Memory limit 524288 kB Source Technocup 2020 - Elimination Round 2 Tags binary search dp *2200 Site https://codeforces.com/problemset/problem/1225/E 题面 Examp…
http://acm.hdu.edu.cn/showproblem.php?pid=1421 [题意] 给定n个数,要从n个数中选择k个二元组{x,y},最小化sum{(x-y)^2} 2<=2*k<=n<2000 [思路] 首先排序,一定选择相邻的两项作为一对 dp[i][j]表示选择到ai,组成j对时的最小值 两种选择:第j对中有ai,dp[i][j]由dp[i-2][j-1]转移来 第j对中没有ai,dp[i][j]由dp[i-1][j]转移来 注意初始化 [AC] #includ…
F - City Game Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1505 Appoint description: Description Bob is a strategy game programming specialist. In his new city building game the gaming enviro…
B HDU - 6024 [题意]:n个教室,选一些教室建造糖果商店. 每个教室,有一个坐标xi和在这个教室建造糖果商店的花费ci. 对于每一个教室,如果这个教室建造糖果商店,花费就是ci,否则就是与坐标在自己前面的建造糖果商店的距离, 求最小花费. [分析]: 题解1.首先最左面的楼是必须要建商店的.考虑dp,dp[i][j]表示在第i栋楼是否建商店的最小花费(0不建,1建). j==1:则dp[i][1]=min(dp[i-1][1],dp[i-1][0]) + 建商店花费; j==0:则我…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题解:先预处理([0,0][1,1],[2,2]....[0,9],[10, 19],[20,29]......[900000000, 1000000000]  区域中 有子串13 (用1表示)余数为0,1,2...12的个数.以及 无子串13(用0表示)余数为0,1,2,3...12 的个数. 四维数组dp[一共多少位数][最高位的数][是否含有子串13][余数] 例如  dp[4][1][…
原标题:[DP专辑]ACM动态规划总结 转载自 http://blog.csdn.net/cc_again?viewmode=list http://blog.csdn.net/cc_again/article/category/1261899 动态规划一直是ACM竞赛中的重点,同一时候又是难点,由于该算法时间效率高,代码量少,多元性强,主要考察思维能力.建模抽象能力.灵活度. ***********************************************************…
Thickest Burger Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 63    Accepted Submission(s): 60 Problem Description ACM ICPC is launching a thick burger. The thickness (or the height) of a piec…
Four Operations Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 22    Accepted Submission(s): 12 Problem Description Little Ruins is a studious boy, recently he learned the four operations!Now h…
Ugly Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 0    Accepted Submission(s): 0Special Judge Problem Description Everyone hates ugly problems.You are given a positive integer. You mu…
Football Games Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 802    Accepted Submission(s): 309 Problem Description A mysterious country will hold a football world championships---Abnormal Cup…
[题意] 给出一个set,set中有几个数. 现在给出n个人,环成一圈搞约瑟夫... 开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数. 最后只剩1人时,他就胜出. 问最后可能有哪些人胜出,输出编号. [解释] 设dp[i][j]为剩余i个人,并且该j号报数 则状态转移方程为  dp[i][ (j+s[i]-1)%i+1 ]=dp[i-1][j] 初始时dp[1][1]=1 wow约瑟夫的递推公式太神奇了... 问题描述:n个人(编号0~(n-1))…
题目:id=2411" target="_blank">poj 2411 Mondriaan's Dream 题意:给出一个n*m的矩阵,让你用1*2的矩阵铺满,然后问你最多由多少种不同的方案. 分析:这是一个比較经典的题目.网上各种牛B写法一大堆.题解也是 我们能够定义状态:dp[i][st]:在第 i 行状态为 st 的时候的最慷慨案数. 然后转移方程:dp[i][st] = sum (dp[i-1][ss]) 即全部的当前行都是由上一行合法的状态转移而来. 而状态…