博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
飞扬的小鸟(NOIP2014)(丧病DP题)
阅读量:4485 次
发布时间:2019-06-08

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

刚开始我还以为这道题目非常的简单。。

然后随便打了一个DP,直接WA,被zxyer狠狠地D了一顿。

然后发现有好多细节。。

首先假如某横坐标没有管子,那么l[x]=0;h[x]=m+1;

然后DP的时候往上是完全背包,往下是01背包。

由于不能接触到管子,所以0~l[x]和h[x]~m要设值inf方便下面判断。

m-max(q)*x[i]~m也要特判,因为有限高。。

最后统计答案也是很醉、。、

下面贴代码。。

#include
#include
#include
#include
#include
#define inf ((1<<31)-2) using namespace std; int f[10001][1001]; int n,m,k,ans; int x[10001],y[10001]; int l[10001],h[10001]; int main(){ scanf("%d%d%d",&n,&m,&k); for(int i=0;i
=x[i-1]) { f[i][j]=min(f[i][j],f[i-1][j-x[i-1]]+1); f[i][j]=min(f[i][j],f[i][j-x[i-1]]+1); } if(j==m) { for(int k=j-x[i-1];k<=m;k++) { f[i][j]=min(f[i][j],f[i-1][k]+1); f[i][j]=min(f[i][j],f[i][k]+1); } } } for(int j=l[i]+1;j
=1;i--) { for(int j=l[i]+1;j

 

转载于:https://www.cnblogs.com/ghostfly233/p/6861597.html

你可能感兴趣的文章
设计模式(一)工厂模式Factory(创建型)
查看>>
Python之匿名函数
查看>>
PhoneGap 3.0 安装
查看>>
每天一个小算法(2)----合并两个有序链表
查看>>
IOS开发把一个结构体放到数组中
查看>>
cglib动态代理(即AOP)
查看>>
linux中安装软件的集中方法
查看>>
Express中间件,看这篇文章就够了(#^.^#)
查看>>
《构建之法》(五)
查看>>
创建django项目
查看>>
Linux Bash基本功能
查看>>
一则小脚本(工作中用)
查看>>
软件工程结对作业
查看>>
Keil 4.0 生成bin文件
查看>>
sql语句的进化--hibernate篇
查看>>
python爬虫之cookie
查看>>
2017年5月29号课堂笔记
查看>>
HDU4247【瞎搞】
查看>>
lightoj 1125【背包·从n个选m个】
查看>>
HDU 1243 反恐训练营(最长公共序列)
查看>>