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#实现高性能高并发Socket服务器

    1.高并发服务器实现一 本文转载 转载地址 2.高并发服务器实现二 本文转载 转载内容在于学习C#实现的高并发服务器 以下个人观点 1 需要注意SocketAsyncEventArgs的使用 2 做到 ...

  2. python机器学习---线性回归案例和KNN机器学习案例

    散点图和KNN预测 一丶案例引入 # 城市气候与海洋的关系研究 # 导包 import numpy as np import pandas as pd from pandas import Serie ...

  3. Python3内建函数sorted

    排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的 ...

  4. Kubernetes概念之deployment

    一整天一整天的坐在办公室,真的很~~~,懵圈中....,求解救. 本文通过<Kubernetes权威指南>的概念部分学习总结 Deployment作用 Deployment与RC的作用其实 ...

  5. MSSQL记录表字段数据变化的相关SQl

    在软件实施过程中,也许会有这样的问题: 表中数据出现非预期的结果,此时不确定是程序问题,哪个程序,存储过程,触发器.. 或还是人为修改的结果,此时可以用触发器对特定的表字段做跟踪监视,记录每次新增,修 ...

  6. LINUX开启SAMBA服务

    samba,用于网络文件共享,类似于nfs, samba多用于win和linux之间 linux之间多用nfs c/s架构 smb协议 samba主要是两个服务,核心启动服务SMB,监听139TCP端 ...

  7. 推荐收藏 —— MySQL视图详细介绍

    前言:  在MySQL中,视图可能是我们最常用的数据库对象之一了.那么你知道视图和表的区别吗?你知道创建及使用视图要注意哪些点吗?可能很多人对视图只是一知半解,想详细了解视图的同学看过来哟,本篇文章会 ...

  8. Windows 2016 & Windows 10 中IIS安装和配置PHP的步骤

    Windows 2016 和 Windows 10 内核是相同的,我们首先需要安装 Internet Information Services (IIS),当然 Win2016 跟 Win10 安装  ...

  9. 创建readonly只读用户脚本

    身为一名运维工作人员,保证服务器的安全是必要项,当开发人员或测试人员需登录到服务器查看日志等操作时,可只给定特定的权限防止误操作的惨况产生. 以下脚本内容均为我本人环境,如有更改可自行修改. ~]# ...

  10. 目标检测论文解读12——RetinaNet

    引言 这篇论文深刻分析了one-stage的模型精度比two-stage更差的原因,并提出Focal Loss提高精度. 思路 在论文中,作者指出,造成one-stage模型精度差的原因主要是:正负样 ...