随笔分类 - DP系列
摘要:地址:https://ac.nowcoder.com/acm/contest/7831/B 题意: 从数组中选出最长等差数列。 解析: 定义dp[i][j],表示此等差数列的最后两项。那么ai,aj的等差数列长度的确定,来自于之前的a[c](往左第一个差值符合的数),c~i+j 所以转移方程就为 :
阅读全文
摘要:A:http://codeforces.com/contest/1420/problem/A 题意: 最多交换n*(n-1)/2-1次,是否能把序列变成非递减序列 解析: 冒泡排序最差的情况是n*(n-1)/2,最差情况就是全递减。所以判断序列是否为单调递减即可。 #include <bits/st
阅读全文
摘要:A:http://codeforces.com/contest/1398/problem/A 题意: 在非递减序列中找非法三角形 解析: 刚开始搞了个结构体排序,然后才发现给出的就是非递减。。。 看1,2,n,如果它三能组成三角形,一定不存在非法。 #include<bits/stdc++.h> u
阅读全文
摘要:A:http://codeforces.com/contest/1393/problem/A 解析: 猜的,没看懂题意。 #include <bits/stdc++.h> #include<stdlib.h> using namespace std; typedef long long ll; co
阅读全文
摘要:地址:https://ac.nowcoder.com/acm/contest/5667/F 题意: n*m的矩阵,mp[i][j]=lcm(i,j) 求每个k*k矩阵的最大值之和 解析一,DP做法: 针对k>1的情况,我们把每个2*2矩阵的最大值放在右下角。 k*k的矩阵,它是由若干个2*2的矩阵组
阅读全文
摘要:考试周,但还是打了一场,一个周不打了,手生了不少....... A:http://codeforces.com/contest/1373/problem/A 题意: 第一个商店:1个卖a元 第二个商店:打包卖,b个卖c元。比如买b+1个,那也得买双份,2b个。 求买多少(任意),第一个商店更便宜,第
阅读全文
摘要:A: http://codeforces.com/contest/1350/problem/A 题意:f(n)+n,求第k次的结果。f(n)为n的最小公因数。 解析:模拟一下,就可以看出,这是一个d=2的等差数列,第一项是f(n)+n,求第k项。所以先把f(n)求出来。 #include<iostr
阅读全文
摘要:地址:https://ac.nowcoder.com/acm/contest/5338/B 解析:dfs超时了....其实对于每个可到达点来讲,它的来源是左和下,所以有:dp[i][j]=(dp[i+1][j]+dp[i][j-1]) 题目给出了快速读入模板: template<class T>in
阅读全文
摘要:地址:https://www.luogu.com.cn/problem/CF33C 题意: 给你一个序列,你可以选择它的前缀和后缀中的每个数字都乘以-1。前缀和后缀可以交叉也可以为空。 问能得到的最大序列和是多少。 解析:假设这个序列分成了三部分:A(前缀)+B(重合)+C(后缀) S=A+B+C。
阅读全文
摘要:地址:https://www.acwing.com/problem/content/284/ 题意:给一堆石子,相邻的合并,问最后得到的最小花费,花费具体算法在题里。 解析: 对于此题,根据常识,对于最终状态,是由两团合并的。所以定义dp[i][j]表示区间i-j合并的最小值。 二堆合并:dp[1]
阅读全文
摘要:地址:https://cometoj.com/contest/76/problem/A?problem_id=4237 解析:这个题用DP解比较简单,其他的解法我并没有看懂。所谓波浪,单独一个数字不能算,两个数字一定算上。我们的二维dp,j=0表示下降或相等,j =1 表示上升。i 从0到n 转移方
阅读全文
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=1087 题意:这个样例很误导人啊,这个题意呢,就是从起点跳到终点,保持递增跳而且得分最大。注意,起点和终点是不计分的; 解析:模板改一下就好了,之前求的是序列长度。这里求和,那么只要把dp初始化a[ ],依然
阅读全文
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=1257 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const
阅读全文
摘要:地址:http://codeforces.com/problemset/problem/455/A Alex doesn't like boredom. That's why whenever he gets bored, he comes up with games. One long winte
阅读全文
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=1176 中文题意不多解释了。 建一个二维dp数组,dp[ i ][ j ]表示第 i 秒落在 j 处一个馅饼。我们需要倒着DP,为什么呢,从 0秒,x=5处出发,假如沿数组正着往下走,终点到哪里我们是不知道的
阅读全文
摘要:HDU1176 中文题意不多解释了。 建一个二维dp数组,dp[ i ][ j ]表示第 i 秒落在 j 处一个馅饼。我们需要倒着DP,为什么呢,从 0秒,x=5处出发,假如沿数组正着往下走,终点到哪里我们是不知道的,沿这个路线能最大值,下一秒就未必是最大值。但是我们知道起点,所以我们从终点开始走,
阅读全文
摘要:01 背包: 01背包:在M件物品中取出若干件物品放到背包中,每件物品对应的体积v1,v2,v3,....对应的价值为w1,w2,w3,,,,,每件物品最多拿一件。 和很多DP题一样,对于每一个物品,都只有拿或者不拿这两种状态,不拿或者拿不动,dp[i][j]=dp[i-1][j],容量不变,而如果
阅读全文
摘要:HDU1003 Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-
阅读全文

浙公网安备 33010602011771号