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. 在IE中点击转跳,并打开chorme浏览器继续浏览指定页面,IE自定义ocx控件开发

    因项目需要,需要开发一个功能:在IE中点击转跳,并打开chorme浏览器继续浏览指定页面. 分析需求后,参考了: https://www.cnblogs.com/ffjiang/p/7908025.h ...

  2. 15-213 Bomb Lab

    bomb lab是一道学习汇编语言的题,一共有六个阶段,全部解开即可完成 phase_1 0x0000000000400e32 <+>: callq 0x40149e <read_l ...

  3. python中for循环里去修改列表注意的事项

    你的微信好友当中有 5 个推销的,他们存在一个列表 # black_list=['卖茶叶', '卖面膜', '卖保险', '卖花生', '卖手机'] # 当中, 请把这 5 个人分别从 black_l ...

  4. Mock Server之与被测系统对接(python+flask)

    第一步:获取入参与返回结果 先通过postman.jmeter.自己写脚本之类的方式请求我们的mock server,试着获取入参与对应的返回值,这里我用的是robotframework + Requ ...

  5. django 权限设置-登录配置权限

    1.首先需要一个判断用户是否拥有这个权限的name来区分在主页上是否显示标签 在permission中加入 name=models.CharField(max_length=32, verbose_n ...

  6. 关于python中lambda 函数使用小结

    例子: 如果定义普通函数,一般都是这样写: def:ds(x): return 2*x+1 调用即: ds(5) 如果用lambda函数就是这么写,就是一句话: g =lambda x:2*x+1 调 ...

  7. hdu1873-看病要排队-(结构体优先队列)

    http://acm.hdu.edu.cn/showproblem.php?pid=1873 #include<stdio.h> #include<iostream> #inc ...

  8. Anaconda3(1)Windows10下安装Anaconda3(64位)详细过程

    https://blog.csdn.net/ychgyyn/article/details/82119201 前言Anaconda指的是一个开源的Python发行版本,其包含了conda.Python ...

  9. django认证系统-user对象(创建,改密,认证)

    User对象 User对象是认证系统的核心.它们通常表示与你的站点进行交互的用户,并用于启用限制访问.注册用户信息和关联内容给创建者等.在Django的认证框架中只存在一种类型的用户,因此诸如'sup ...

  10. ESA2GJK1DH1K升级篇: 关于升级篇数据校验

    前言 鉴于大家都希望升级的时候加入数据校验,所以就满足大家的要求. 其实我也希望自己做的足够的稳定可靠,让大家使用起来放心. 上一节测试了一节加入校验以后的操作方式,这节来详细的说一下校验部分的代码. ...