[NOIP2014]飞扬的小鸟

 

 

思路{

  对于每一列,小鸟或下落,或上升。那我们很容易想到对应的背包问题!

  按照完全背包的思想更新上升部分,01背包的方法更新下降部分。

  撞到柱子了(aluba。。。。。。aluba.。。。。。)不慌,只需把它设为不可打即可,

  处理出最后到达的的柱子乱搞即可。。。。。。

  还是比较水的。。。。。。

 1 #include<map>
 2 #include<set>
 3 #include<list>
 4 #include<deque>
 5 #include<cmath>
 6 #include<queue>
 7 #include<stack>
 8 #include<vector>
 9 #include<cstdio>
10 #include<complex>
11 #include<cstring>
12 #include<cstdlib>
13 #include<iostream>
14 #include<algorithm>
15 #define maxx 10010
16 using namespace std;
17 struct ZHU{
18     int pos,h,l;
19 }a[maxx];
20 int flag,x[maxx],y[maxx];
21 int f[2][maxx],now,n,m,k,B;
22 bool comp(const ZHU & A,const ZHU & b){return A.pos<b.pos;}
23 int main(){
24     scanf("%d%d%d",&n,&m,&k);
25     memset(f,127,sizeof(f));flag=f[1][1];
26     for(int i=1;i<=n;++i)scanf("%d%d",&x[i],&y[i]);
27     for(int i=1;i<=k;++i)
28         scanf("%d%d%d",&a[i].pos,&a[i].l,&a[i].h),a[i].pos++;
29     int nowp=1;sort(a+1,a+k+1,comp);
30     if(a[nowp].pos==1)for(int i=a[nowp].l+1;i<a[nowp].h;++i)f[now][i]=0,nowp=2;//初始化
31     else for(int i=1;i<=m;++i)f[now][i]=0;
32     for(int i=2;i<=n+1;++i){
33         now^=1;for(int j=1;j<=m;++j)f[now][j]=flag;
34         for(int j=1;j<=m-x[i-1];++j)
35             f[now][j+x[i-1]]=min(f[now^1][j]+1,f[now][j+x[i-1]]),//由于滚动数组先01背包更新解
36                 f[now][j+x[i-1]]=min(f[now][j]+1,f[now][j+x[i-1]]);//完全背包更新解
37         for(int j=m-x[i-1]+1;j<=m;++j)
38             f[now][m]=min(f[now^1][j]+1,f[now][m]),
39                 f[now][m]=min(f[now][j]+1,f[now][m]);//同上,只是到顶了。。。。
40         for(int j=m;j>y[i-1];--j)
41             f[now][j-y[i-1]]=min(f[now][j-y[i-1]],f[now^1][j]);//处理01背包下降的情况
42         if(a[nowp].pos==i){//判断柱子
43             for(int j=1;j<=m;++j)
44                 if(j<=a[nowp].l)f[now][j]=flag;
45                 else if(j>=a[nowp].h)f[now][j]=flag;
46             nowp++;
47         }
48         for(int j=1;j<=m;++j)if(f[now][j]!=flag)B=i;//取最优解
49         if(B!=i)cout<<"0 "<<nowp-2,exit(0);
50     }int ans=flag;
51     for(int i=1;i<=m;++i)ans=min(ans,f[now][i]);
52     if(ans!=flag)cout<<"1 "<<ans;
53     return 0;
54 }

 

转载于:https://www.cnblogs.com/zzmmm/p/7123861.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020 dns排名_2020年新版全球/全国各地ISP的DNS服务器地址表

【第一】国内外知名的公共DNS服务器(排列不分先后)&#xff1a;腾讯公共DNS(119.29.29.29、182.254.116.116)阿里公共DNS(223.5.5.5、223.6.6.6)百度公共DNS(180.76.76.76)360安全DNS(123.125.81.6)Google(8.8.8.8、8.8.4.4)114DNS(114.114.114.114、114.114.115.115)OpenDNS(2…

Spring MVC 登录拦截器

Spring MVC 登录拦截器1.编写拦截器 package interceptor;import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRespons…

bzoj1556 (DP)

bzoj 1556 点这里打开题目 题目是求 a^2 求和&#xff1b; 原问题可以转化为&#xff1a;两个人在玩这个东西&#xff0c;问这两个人弄出来的序列相同的有多少种情况&#xff0c;操作方式不同即为一种不同的情况。 就这个问题&#xff0c;参考大佬的DP思想。 DP[t][i][j] 分别…

帆软参数设置_数据分析软件之FineReport教程:[5]参数界面JS(全)

在用报表工具设计报表时&#xff0c;使用参数控件时&#xff0c;有时我们希望部分参数控件在没满足条件时不显示&#xff0c;满足条件后再显示&#xff0c;接下来我就来教教大家怎么做&#xff01;表格软件如何根据条件控制参数控件是否显示一&#xff1a;问题描述在使用参数控…

wurfl_比较OpenDDR与WURFL

wurfl量身定制的Web内容通常受益于定制&#xff0c;以考虑多种因素&#xff0c;例如屏幕大小&#xff0c;标记语言支持和图像格式支持。 此类信息存储在“设备描述存储库”&#xff08;DDR&#xff09;中。 WURFL和OpenDDR项目都提供了访问DDR的API&#xff0c;以简化并促进适应…

ssm 静态资源处理器

ssm 静态资源处理器<!-- 静态资源处理--><mvc:default-servlet-handler/>

极简单的方式序列化sqlalchemy结果集为JSON

继承 json.JSONEncoder 实现一个针对sqlalchemy返回类型的处理方式。 sqlalchemy的返回类型有大都有两种&#xff0c;一种是Model对象&#xff0c;一种是Query集合&#xff08;只查询部分字段&#xff09;。 针对这两种返回结果&#xff0c;都是来自同一中类型 sqlalchemy.orm…

easymock 图片_数据模拟神器 easy-mock 正式开源

开源公告由大搜车无线团队出品的 easy-mock 在线数据模拟服务上线至今已经有几个月时间了&#xff0c;近期网站刚更新了焕然一新的 2.0 版本&#xff0c;与此同时&#xff0c;我们还带来一个更重磅的消息&#xff1a;今天正式将整个服务的代码在 github 开源(github.com/easy-m…

在自定义Java 9映像上运行Eclipse Neon

我已经开始修改自定义Java二进制运行时映像文件。 映像文件是打包为运行时平台的模块的配置。 基本上&#xff0c;默认映像包含组成Java运行时的所有内容。 自定义图像可以包含该图像的一些子集。 例如&#xff0c;我创建了一个仅包含“ compact 3”概要文件的映像&#xff0c…

ssm异常捕获和处理

ssm异常捕获和处理package exception;import lombok.extern.slf4j.Slf4j; import org.hibernate.HibernateException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ResponseBody; import entity.vo.Res…

载波聚合或双连接的方式进行_处理载波聚合及双连接的装置及方法与流程

本发明涉及一种用于无线通信系统的通信装置及方法&#xff0c;尤其涉及一种处理载波聚合及双连接的装置及方法。背景技术&#xff1a;通过第三代合作伙伴计划(third generation partnership project&#xff0c;3GPP)发起的新无线(new radio&#xff0c;NR)系统包含有新无线接口…

拼接xml

拼接xml/*** description 拼接xml* param list 用户信息* return java.lang.String 拼接完成的xml* author zhaohuaqing* date 2021/6/21 15:39* version 1.0*/public static String getUserXMl(List<User> list,int totalNumber,int start){StringBuilder sb new Stri…

unity游戏开发毕设_一个程序小白的unity 2D游戏开发的反思与经验

学游戏设计的码农&#xff0c;中传大三在校生&#xff0c;代码水平目前还在进阶中。这个学期和美术一起进行了一次不成熟的磕磕绊绊的游戏开发。踩了很多坑&#xff0c;就当是毕设前的预热吧&#xff0c;做个总结&#xff0c;希望毕设不会再犯这些错误。因为整个本科阶段做的或…

Asp.Net MVC项目通过Git同步到新开发设备上后无法作为网站启动

右键项目名->属性->启动项目->单启动项目&#xff0c;在下拉框中选择你的网站主项目就可以了。&#xff08;由于用的英文版&#xff0c;所以翻译的内容可能略有差异&#xff09;转载于:https://www.cnblogs.com/chenyangsocool/p/7127469.html

前端参数编码

前端参数编码//对参数编码 function paramsCode(){var params ;$(.param).each(function () {var name $(this).attr("name");if ($(this).attr("type") "radio"){params (&name encodeStr($("input[name"name"]:checke…

如何以访客模式访问_重新访问了访客模式

如何以访客模式访问访客模式是面向对象设计中最被高估但又被低估的模式之一。 高估了它&#xff0c;因为它通常选择得太快了&#xff08; 可能是由建筑宇航员选择的 &#xff09;&#xff0c;然后以错误的方式添加后&#xff0c;使原本非常简单的设计肿了。 如果您不遵循教科书…

abap 创建出口历程_SAP abap 需找出口(BADI)的几种方法

现在给出一些比较简单的方法首先&#xff0c;大家要知道&#xff0c;一个程序的出口不会太多&#xff0c;需找出口&#xff0c;很多的时候都是在尝试第二&#xff0c;方法&#xff1a;首先会给出事务码&#xff0c;然后通过SE93找出对应的程序Y第三&#xff0c;se16里面&#x…

Objective-C基础语法高速入门

Objective-C是Mac软件开发领域最基本的开发语言&#xff0c;假如我们对C语言已经非常熟悉或者具有面向对象语言的基础。对于我们学习Objective-C将会非常实用。 方法调用(Calling Methods) 为了可以尽快上手。我们先来看一些简单的样例。Objective-C语法里面主要的方法调用是这…

华为堡垒机_运维堡垒机----Gateone

简介&#xff1a;运维堡垒机的理念起源于跳板机。2000年左右&#xff0c;高端行业用户为了对运维人员的远程登录进行集中管理&#xff0c;会在机房里部署跳板机。跳板机就是一台服务器&#xff0c;维护人员在维护过程中&#xff0c;首先要统一登录到这台服务器上&#xff0c;然…

拼图推迟将Java 9的发布日期推迟到2017年

由于Jigsaw项目的延迟&#xff0c;Java 9的发布日期被推迟到2017年 由于项目延迟的悠久历史&#xff0c;这可能不足为奇&#xff0c;但是看起来备受期待的拼图项目已被延迟。 再次。 好消息是&#xff0c;与上一次使用Java 8不同&#xff0c;它仍在Java 9的开发路线上。坏消息…