162:Post Office

解题思路

#include<bits/stdc++.h>
using namespace std;
int n,m,a[],f[][],mi[][],i,j;
int main()
{
cin>>n>>m;
for(i=;i<=n;i++)cin>>a[i];
for(i=;i<=n;i++)
for(j=;j<=m;j++)
f[i][j]=;//赋为最大值
for(i=;i<=n;i++)
{
for(j=i+;j<=n;j++) mi[i][j]=mi[i][j-]+a[j]-a[(i+j)/];//从第i个村庄到第j个村庄中只建一个邮局的总路径长度
f[i][]=mi[][i];//转移到f
}
for(i=;i<=n;i++)
for(j=;j<=m;j++)
for(int k=j-;k<i;k++)
f[i][j]=min(f[i][j],f[k][j-]+mi[k+][i]);
cout<<f[n][m]<<endl;
return ;
}

1759:最长上升子序列

#include<iostream>
#include<cstring>
using namespace std;
const int N = ;
int a[N],f[N]; int main()
{
int n;
cin>>n;
for(int i=;i<n;i++)cin>>a[i];
for(int i=;i<n;i++)f[i]=;
for(int i=;i<n;i++)
{
for(int j=;j<i;j++)
{
if(a[j]<a[i])f[i]=max(f[i],f[j]+);
}
}
int ans = ;
for(int i=;i<n;i++)ans = max(ans,f[i]);
cout<<ans<<endl;
return ;
}

1768:最大子矩阵

讲解链接

2000:最长公共子上升序列

讲解链接:原理解释 题目解答

/*
1. 这题不支持Special Judge...so设置状态转移方程的时候 要设置成LCIS是以第一个数组的第j个元素结尾的 而不能是第二个数组 - - 就是这么坑0-0
2. 记录LCIS中的元素并输出 dp的时候对结构体dp 结构体中vector记录LCIS中元素。
*/
#include<iostream>
#include<vector>
using namespace std; struct Node
{
int val = ;
vector<int>v;
}; int main() {
int a[], b[];
Node dp[];
int m, n;
cin >> m;
for (int i = ; i <= m; i++)
cin >> a[i];
cin >> n;
for (int i = ; i <= n; i++)
cin >> b[i];
for (int i = ; i <= n; i++)
{
Node Max;
for (int j = ; j <= m; j++) {
if (b[i] > a[j] && dp[j].val > Max.val)
Max = dp[j];
if (b[i] == a[j]) {
dp[j].val = Max.val + ;
dp[j].v = Max.v;
dp[j].v.push_back(b[i]);
}
}
}
Node Max = dp[];
for (int i = ; i <= m; i++) {
if (dp[i].val > Max.val)
Max = dp[i];
}
cout << Max.val << endl;
for (int i = ; i < Max.v.size(); i++)
cout << Max.v[i] << " ";
cout << endl;
return ;
}

2985:数字组合

讲解链接

#include<iostream>
#include<cstring>
using namespace std; int main()
{
int n,t;
int f[],a[];
cin>>n>>t;
for(int i=;i<=n;i++)cin>>a[i];
f[]=;
for(int i=;i<=n;i++)
for(int j=t;j>=a[i];j--)
f[j]+=f[j-a[i]];
cout<<f[t]<<endl;
return ;
}

NOI-动规题目集锦的更多相关文章

  1. 2016.4.3NOI上较难的动规题目(仔细分析样例)--王老师讲课整理

    1.NOI 191:钉子和小球 总时间限制: 1000ms 内存限制:  65536kB 描述 有一个三角形木板,竖直立放,上面钉着n(n+1)/2颗钉子,还有(n+1)个格子(当n=5时如图1).每 ...

  2. vijos1431[noip2007]守望者的逃离(背包动规)

    描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者 在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这 个荒岛施咒,这座岛很快就会 ...

  3. 区间型动规--石子归并(Pascal)

    题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1].问安排怎样的合并顺序,能够使 ...

  4. 【noip 2009】 乌龟棋 记忆化搜索&动规

    题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起 ...

  5. 洛谷 P2569[SCOI2010]股票交易(动规+单调队列)

    //只能写出裸的动规,为什么会有人能想到用单调队列优化Orz 题目描述 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测 ...

  6. 2011 ACM-ICPC 成都赛区A题 Alice and Bob (博弈动规)

    题目大意: 有K堆石子,每堆有Ki个.两人的操作能够是:             1 从某一堆拿走一个 假设该堆在此之后没有石子了.就消失             2 合并两个堆        求是否 ...

  7. FJoi2017 1月20日模拟赛 恐狼后卫(口糊动规)

    Problem 1 恐狼后卫(wolf.cpp/c/pas) [题目描述] 著名卡牌游戏<石炉传说>中有一张随从牌:恐狼后卫.恐狼后卫的能力是使得相邻随从的攻击力提高. 现在有n张恐狼后卫 ...

  8. HDU 1159 Common Subsequence (动规+最长公共子序列)

    Common Subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  9. HDU-5693 D Game 动态规划 两次动规

    题目链接:https://cn.vjudge.net/problem/HDU-5693 题意 中文题 这个游戏是这样的,首先度度熊拥有一个公差集合{D},然后它依次写下N个数字排成一行.游戏规则很简单 ...

随机推荐

  1. 【C#常用方法】2.DataTable(或DataSet)与Excel文件之间的导出与导入(使用NPOI)

    DataTable与Excel之间的互导 1.项目添加NPOI的引用 NPOI项目简介: NPOI是一个开源的C#读写Excel.WORD等微软OLE2组件文档的项目,特点是可以在没有安装Office ...

  2. SpringBoot项目解决全局响应返回中文乱码问题

    一.问题 新建的基于SpringBoot的MVC项目,在请响应体中,如果有中文,会显示为乱码. 二.解决方案 1.在application.properties中设置: spring.http.enc ...

  3. 2019 多点Dmalljava面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.多点Dmall等公司offer,岗位是Java后端开发,因为发展原因最终选择去了多点Dmall,入职一年时间了 ...

  4. idea中 Application Server not specified

    一.问题 idea中的tomcat报错: Application Server not specified 二.解决 原因是没有关联本地的tomcat,关联本地tomcat即可

  5. Mac切换root用户

    sudo su 然后输入密码,用户名显示sh-3.2#,这里的#代表的含义就是具有root权限 这时,再输入 su - 就可以进入root用户 那接下来,如果我们要切换至普通用户该怎么做? su - ...

  6. 获取post传输参数

    1.获取post参数可以用 传输参数为 a=aa&b=bb这种 public static SortedDictionary<string, string> GetRequestP ...

  7. vue接入腾讯防水墙代码

    vue接入腾讯防水墙代码 开始创建代码: 登陆调用方法代码

  8. Android中H5和Native交互的两种方式

    Android中H5和Native交互的两种方式:http://www.jianshu.com/p/bcb5d8582d92 注意事项: 1.android给h5页面注入一个对象(WZApp),这个对 ...

  9. 字符串的sizeof长度及strlen长度

    在C/C++中,字符串是以零('\0')结尾的.比如,对于下面的字符串: "hello"  在最后一个字符'd'后面,还有一个我们肉眼看不见的'\0'字符,作为该字符串的结束符.所 ...

  10. 在知识爆炸的年代如何学习,避免成为PPT架构师

    计算机的发展大体遵循摩尔定律,IT要学的东西越来越多,感觉无从下手 然后发现许多人,专门喜欢说这些名词概念装高大上,脱离一线开发,技术跟风盲目崇拜新的骚东西,比如docker,k8s,微服务,open ...