![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
Joel__Li
星空和代码都有浪漫
展开
-
最长严格上升子序列
题目描述 Description 给一个数组a1, a2 … an,找到最长的上升降子序列ab1(http://codevs.cn/problem/1576/)#include <stdio.h> #include <algorithm> using namespace std;const int Max_N(5000); int T; int num[Max_N]; int dp[Max_N原创 2017-04-30 21:05:55 · 748 阅读 · 0 评论 -
CODEVS_3027 线段覆盖2
题目地址 题目描述 Description 数轴上有n条线段,线段的两端都是整数坐标,坐标范围在0~1000000,每条线段有一个价值,请从n条线段中挑出若干条线段,使得这些线段两两不覆盖(端点可以重合)且线段价值之和最大。 n<=1000输入描述 Input Description 第一行一个整数n,表示有多少条线段。接下来n行每行三个整数, ai bi ci,分别代表第i条线段的左端原创 2017-04-30 21:25:32 · 310 阅读 · 0 评论 -
zoj3777 Problem Arrangement 状态压缩+动态规划
题目链接在这里 题目大意 有N(N <= 12)道题,第i个解决的问题是题目j的话,就会得到arr[i][j]分。问解决完所有问题之后,得分能超过M的概率有多少。其中分子是有多少种解决问题的方式,分母是得分大于等于M的方案数。 思路分析 思路来自另一位博主,我讲得不是很清楚,可以看他的。链接 N道题一共有N!种排序,也就是有N!种解决方案,所以分子的问题我们已经解决了。 我们考虑...原创 2019-01-15 11:05:32 · 156 阅读 · 0 评论 -
zoj3956 01背包
题目链接在这里 题目大意 有N门课,每门课有幸福值h和伤心值c,在你选择的m门课中,假设它们幸福的总和为a,伤心的总和为b,请尽力选择课程使得a*a - a * b - b * b最小。 思路分析 分析上面的式子可以看到,a越大,b越小,整体的值越大。所以我们的思想是,当我们选择的伤心值b确定之后,h越大越好。因为我们考虑到,每门课可以选也可以不选,很容易联想到01背包问题。 对于dp[...原创 2019-01-16 21:16:24 · 123 阅读 · 0 评论