
动态规划
guojiaqi007
这个作者很懒,什么都没留下…
展开
-
九度 oj 题目1086:最小花费
http://ac.jobdu.com/problem.php?pid=1086#include #include #include int main(){ //freopen("in/1086.in","r",stdin); long long l1,l2,l3,c1,c2,c3; int A,B; int n=0; int* a;原创 2017-01-14 20:54:25 · 274 阅读 · 0 评论 -
九度 oj 题目1114:神奇的口袋
http://ac.jobdu.com/problem.php?pid=1114#include int main(){ //freopen("in/1114.in","r",stdin); int n,dp[41],a[41]; while(scanf("%d",&n) !=EOF){ for (int i = 1; i <=n;原创 2017-01-27 14:34:25 · 558 阅读 · 0 评论 -
九度 oj 题目1072:有多少不同的面值组合?
http://ac.jobdu.com/problem.php?pid=1072#include const int n = 15;const int v = 8 * 5 + 10 * 4 + 18 * 6;const int a[n+1] = { 0,8,8,8,8,8,10,10,10,10,18,18,18,18,18,18 };#define rep(i,j,k) fo原创 2017-03-04 14:43:40 · 292 阅读 · 0 评论 -
九度 oj 题目1073:杨辉三角形
http://ac.jobdu.com/problem.php?pid=1073#include #include #define inone(i) scanf("%d",&i)#define rep(i,j,k) for(int i=j;i<=k;i++)const int maxn = 1e6;int n;int dp[2][maxn];int get(int i,原创 2017-03-04 15:23:56 · 283 阅读 · 0 评论 -
pat 1007. Maximum Subsequence Sum (25)
https://www.patest.cn/contests/pat-a-practise/1007#include #include int main(){ int a[10000],n,maxSum=INT_MIN,maxBegin,maxEnd=0,sum=INT_MIN,begin = 0; scanf("%d", &n); for (int i = 0; i原创 2017-02-25 11:56:24 · 188 阅读 · 0 评论 -
九度 oj 题目1554:区间问题
http://ac.jobdu.com/problem.php?pid=1554copy from http://blog.youkuaiyun.com/u013491262/article/details/21406351把sum[1~i] = sum[i], sum[i] 是以a[i]为最后一个元素的前缀和, Map以前缀和为key, 具有相同的前缀和的idx的vector 为va转载 2017-03-08 16:15:16 · 345 阅读 · 0 评论 -
pat-top 1015. Letter-moving Game (35)
https://www.patest.cn/contests/pat-t-practise/1015这道题开始想用bfs,但是状态转移和visit不好确定。看了http://blog.youkuaiyun.com/jtjy568805874/article/details/53610545,才知道用dp很简单。也是采用了逆向思维,想如何从 t 装变为 s,过程是把t的前半部分tHead转载 2017-03-05 10:16:17 · 406 阅读 · 0 评论 -
九度 oj 题目1552:座位问题
http://ac.jobdu.com/problem.php?pid=1552动归,分最后一个是男还是女讨论。注意当总共有0人以男结尾的排列是1种情况。 #include #define inone(i) scanf("%d",&i)const int maxn = 1e3 + 10;int m[maxn], f[maxn], n;void init(){ f[转载 2017-03-08 20:30:49 · 283 阅读 · 0 评论 -
pat-top 1017. The Best Peak Shape (35)
https://www.patest.cn/contests/pat-t-practise/1017这道题首先自己写了一个O(n^2)的dp 过了。#include #include #include #include using namespace std;#define rep(i,j,k) for(int i=j;i<=k;i++)#define per(i,j转载 2017-03-05 15:16:09 · 2212 阅读 · 0 评论 -
九度 oj 题目1112:拦截导弹
http://ac.jobdu.com/problem.php?pid=1112#include #include #include int main(){ //freopen("in/1112.in","r",stdin); int a[26], dp[26],n; while(scanf("%d",&n)!=EOF){ for原创 2017-01-27 13:28:59 · 322 阅读 · 0 评论 -
九度 oj 题目1131:合唱队形
http://ac.jobdu.com/problem.php?pid=1131两次动态规划 最长子序列#include #include #include int main(){ //freopen("in/1131.in","r", stdin); int height[102],n; int dpl[101],dph[101],i原创 2017-01-24 16:53:49 · 384 阅读 · 0 评论 -
九度 oj 题目1042:Coincidence (LCS)
http://ac.jobdu.com/problem.php?pid=1042#include #include #include int main(){ //freopen("in/1042.in","r",stdin); int dp[101][101],m,n; char a[101],b[101]; while(scanf("%s原创 2017-02-06 13:05:08 · 264 阅读 · 0 评论 -
九度 oj 题目1209:最小邮票数
http://ac.jobdu.com/problem.php?pid=1209这是一个巧合装满的0-1背包问题。#include #include int main(){ int m,n; int dp[105],stamp[21]; while(scanf("%d",&m) !=EOF ){ scanf("%d",&n原创 2017-01-16 14:57:14 · 275 阅读 · 0 评论 -
pat 1101. Quick Sort (25)
https://www.patest.cn/contests/pat-a-practise/1101参考了:http://www.sigmainfy.com/blog/pat-advanced-1101-quick-sort.html用了动态规划,记录每个元素左边的最大值,右边的最小值。查看当前元素是否比左边的最大大,比右边的最小小。#include #inc转载 2017-02-17 11:14:11 · 339 阅读 · 0 评论 -
九度 oj 题目1160:放苹果
http://ac.jobdu.com/problem.php?pid=1160参考了1.http://blog.youkuaiyun.com/qq276592716/article/details/6851673#include #include int func(int m,int n){ if(m < 0) return 0; //There is n转载 2017-01-21 15:36:04 · 271 阅读 · 0 评论 -
九度 oj 题目1480:最大上升子序列和
http://ac.jobdu.com/problem.php?pid=1480#include #include #include int main(){ //freopen("in/1480.in","r",stdin); int dp[1005],a[1005],n; while(scanf("%d",&n) !=EOF){原创 2017-01-19 11:10:43 · 326 阅读 · 0 评论 -
pat 1117. Eddington Number(25)
https://www.patest.cn/contests/pat-a-practise/1117#include #include using namespace std;int a[1000001];int main(){ fill(a, a + 100001, 0); int n,len,maxLen = 0; scanf("%d",&n); for (int i原创 2017-02-19 14:58:25 · 380 阅读 · 0 评论 -
九度 oj 题目1084:整数拆分
http://ac.jobdu.com/problem.php?pid=1084照抄了 http://blog.youkuaiyun.com/jdplus/article/details/18839343参考了 http://www.cnblogs.com/yinger/archive/2012/08/17/2644312.html#include int main(){转载 2017-01-15 09:38:38 · 281 阅读 · 0 评论 -
pat-top 1002. Business (35)
https://www.patest.cn/contests/pat-t-practise/1002有条件的动态规划:先要排序,保证deadline靠前的task先考略,否则可能会被排在前面的deadline晚但是profit大的task淹没而不能被考虑。#include #include #include using namespace std;typede原创 2017-02-21 15:24:57 · 683 阅读 · 0 评论 -
pat 1042. Shuffling Machine (20)
https://www.patest.cn/contests/pat-a-practise/1042hash 一下顺序, 然后就是dp了。#include #include using namespace std;#define rep(i,j,k) for(int i=j;i<=k;i++)#define inone(i) scanf("%d",&i)const int原创 2017-03-09 12:07:33 · 309 阅读 · 0 评论