动态规划
傻子是小傲娇
acmer,摄影、钢琴、吉他爱好者
展开
-
NYOJ 613免费馅饼 动态规划解法
读题:一开始看题感到无从下笔,看到T给出范围后想到老师说看到参数给范围便想一想能不能建数组来解决。而这时认真看一下题,每一秒落在一个位置x上 不正好可以建一个数组 a【11】【100000】来储存吗; 构思: 由第一组测试数据 6 5 1 4 1 6 1 7 2 7 2 8 3 得到a数组: 这样便可由a【0】【5】用深度优先搜索来找最大馅饼数——结果很明显(超时)原创 2017-07-07 14:26:56 · 963 阅读 · 0 评论 -
求单调递增最长子序列 动态规划法(DP)
***单调递增最长子序列***** 描述**求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4**输入**第一行一个整数0随后的n行,每行有一个字符串,该字符串的长度不会超过10000**输出**输出字符串的最长递增子序列的长度 /////////////////////////////////////////////// **基本思想** 动态规划算法原创 2017-07-04 08:57:20 · 7036 阅读 · 3 评论 -
洛谷 P1091 NOIP 2004 合唱队形(动态规划)
题目适合已经有一定动态规划基础的去做,如果从未了解过动态规格请看我的另一篇博客: 排合唱队形就是中间高两边递减,给出思路: 求每一个位置i的两个值: 一个是从0到末尾的最长递增子序列dpl[i] dpl[0]=1; for(i=1;i<N;i++){ int max=0,w; for(w=0;w<i;w++){ if(a[w]max)max=dpl[w]; } dp原创 2017-07-24 09:24:53 · 370 阅读 · 0 评论 -
小米oj 6. 交叉队列
dp【i】【j】的状态为true表示两种情况: 1,s1的 i 号位等于s3的(i+j)号位 且 dp【i-1】【j】为true 2,s2的 j 号位等于s3的(i+j)号位 且 dp【i】【j-1】为true #include<bits/stdc++.h> using namespace std; const int maxn=1005; char a[maxn],b[m...原创 2018-10-29 15:18:03 · 485 阅读 · 0 评论 -
洛谷 P2619 奶牛工资 贪心
题目链接:点击打开链接φ(>ω<*) 要使每个月的钱都大于常数C,就要使每次花的冤枉钱最少 1,输入时便不记录那些大于C的面额,直接加 cin>>N>>C; for(int i=0,lin=0;i<N;i++){ int l1,l2; cin>>l1>>l2; if(l1>=C)sum+=l2; els...原创 2017-08-07 12:08:47 · 404 阅读 · 0 评论