博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ3666序列最小差值
阅读量:6202 次
发布时间:2019-06-21

本文共 881 字,大约阅读时间需要 2 分钟。

题目:

dp方程可以是 d [ i ] [ j ] = min ( d [ i - 1 ] [ k ] ) + abs ( a [ i ] - j ),表示a数组前 i 个与结尾为 j 的 b 数组匹配的最优解。0<=k<=j。

可以证明 b 数组中的数都在 a 数组中出现过。详见《算法竞赛进阶指南》。

所以 j 可以表示a [ j ]。当然为了满足不降或不升,需要复制下a数组再排个序来用。

n^2是 LICS 的套路。

#include
#include
#include
#include
using namespace std;const long long INF=0x7fffffff;int n;long long a[2005],b[2005],d[2005][2005],ans=INF;bool cmp(long long x,long long y){ return x>y;}long long as(long long k){ return k<0?-k:k;}int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); memcpy(b,a,sizeof a); sort(b+1,b+n+1); for(int i=1;i<=n;i++) { int k=1;// printf("i=%d\n",i); for(int j=1;j<=n;j++) {// printf(" j=%lld ",b[j]); k=d[i-1][j]

 

转载于:https://www.cnblogs.com/Narh/p/8563712.html

你可能感兴趣的文章
行业大佬预测UBT将冲上3万元
查看>>
Remove MailboxDatabase operation fails to clean up
查看>>
域名注册、域名实名认证、域名解析流程详解
查看>>
「小程序」的崛起和未来在哪
查看>>
TCP应用编程
查看>>
centos7中yum安装ntfs-3g
查看>>
文件(list)的基本操作 1.1
查看>>
jenkins 未授权访问-任意命令执行
查看>>
7-10 基本Java知识
查看>>
eclipse 快速自动生成测试方法
查看>>
别让性能黑洞将应用价值止步于起飞跑道上
查看>>
ASA防火墙12 故障切换
查看>>
eclipse 下快捷新建一个简单的maven 空项目
查看>>
Velocity 字符串拼接 (特殊符号拼接的方式)
查看>>
在Ubuntu中安装R的几种方式总结
查看>>
刚刚安装完成Linux,总结安装过程中遇到的3个问题
查看>>
国内首个容器技术白皮书抢先看
查看>>
c语言实现数据结构中的顺序表
查看>>
Linux基础命令:文本处理工具之cut
查看>>
Ubuntu 16.04 LTS 初体验
查看>>