HDU 1029 基础dp】的更多相关文章

题目链接:Ignatius and the Princess IV 大意:就是在N个数里找出唯一一个至少出现过(N+1)/ 2 次的数. 1 <= N <= 999999. hash: /* 题意好懂.就是在N个数里找出唯一一个至少出现过(N+1)/ 2 次的数. 1 <= N <= 999999. 如果我用一个map 标记的话.大概也只是10^6吧. 然而还是卡了cin 和 cout. */ #include <stdio.h> #include <string…
#include<iostream> #include<cstring> #include<cmath> #include<cstdio> #include<algorithm> #include<stack> #include<queue> using namespace std; ; int a[N]; int main() { int n; while(cin>>n&&n) { ; ; ;…
最近两天在迎新 看来只能接着水题了…… 新生培训的任务分配 作为一个有担当的学长 自觉去选了动态规划…… 然后我觉得我可以开始水动态规划了…… 今天水一发最长上升子序列…… kuangbin有nlogn的模板…… 自己写一发原来学的吧…… #include<stdio.h> #include<iostream> #include<algorithm> #include<math.h> #include<string.h> #include<…
其实这个感觉是一眼题,只不过我真心太菜了. 题目已经告诉你了,有m段,n个数字,那么我们就只需要dp[m][n]即可,然后最后的答案肯定是dp[m][]的那一行,所以其他行都是没有用的,因为我们可以把dp[m][n]变成dp[2][n]即可. 然后转移方程式dp[i][j] = max(dp[i][j - 1], max(dp[i-1][k])) + a[j]:其中i-1<k<j 前面这个表示分成i份,其中最大的一份加上dp[j] 后面这个表示在分成i-1份的时候,然后得出k位中最大的,然后再…
/*题都是有一个状态转移方程式 , 只要推出方程式就问题不大了,首 先对于gameboy来说他下一秒只能 在0~10这十一个位置移动, 而对于1~9这九个位置来说他可以移动(假设他现在的位置为x)到x+1,或者x-1,或者x: 0和10这两个位置只有两个位置可以移动, 可以用dp[t][x],t秒的馅饼获得就看t-1秒时的下一位置(x+1,x,x-1) 因为要求整个过程的最大值,因此求的是dp累加的和, 所以状态转移方程式为 dp[i][j]+=max(dp[i+1][j-1],max(dp[i…
/* dp[i][j]=max(dp[i][j-1]+a[j],max(dp[i-1][k])+a[j]) (0<k<j) dp[i][j-1]+a[j]表示的是前j-1分成i组,第j个必须放在前一组里面. max( dp[i-1][k] ) + a[j] )表示的前(0<k<j)分成i-1组,第j个单独分成一组. */ #include <iostream> #include <cstdio> #include <cstring> #inclu…
常常做错的一道题.. 因为总是要有一个长度的 所以一开始的s与e都是1 maxx也是a[1] 然后再求 从i=2开始 在这里注意 me永远是当前i 而ms则可能留在原地 可能直接等于i 判断条件就是当前序列和与当前序列和加上a[i]的关系 好久没做题了..手生啊... #include<stdio.h> #include<string.h> #include<algorithm> #include<map> #include<math.h> us…
队友的建议,让我去学一学kuangbin的基础dp,在这里小小的整理总结一下吧. 首先我感觉自己还远远不够称为一个dp选手,一是这些题目还远不够,二是定义状态的经验不足.不过这些题目让我在一定程度上加深了对dp的理解,但要想搞好dp,还需要多多练习啊. HDU - 1024 开场高能 给出一个数列,分成m段,求这m段的和的最大值,dp[i][j]表示遍历到第i个数,已经划分了j段,对于每一个数有两种决策,加入上一个区间段,自己成为一个区间段,故dp[i][j] = max(dp[i-1][j]+…
Ignatius and the Princess IV Time Limit:1000MS     Memory Limit:32767KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1029 Appoint description:  jehad  (2014-05-27) gscsdlz  (2015-04-14) System Crawler  (2015-09-05) Description "OK…
Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem Description There is a number sequence A1,A2....An,you can select a interval [l,r] or not,all the numbers Ai(l≤i≤r) will become f(Ai).f(x)=(1890x+143)mod1…