POJ 1065 Wooden Sticks

http://blog.csdn.net/acdreamers/article/details/7626671

学习一下Dilworth定理 推荐一篇写得很好博客

要求最少的覆盖,按照Dilworth定理

最少链划分 = 最长反链长度

所以最少系统 = 最长导弹高度上升序列长度。

之前写的LIS模板不对。。。。。。

 

  1 #include<cstdio>
  2 #include<cstring>
  3 #include<iostream>
  4 #include<queue>
  5 #include<stack>
  6 #include<cmath>
  7 #include<algorithm>
  8 using namespace std;
  9 #define clc(a,b) memset(a,b,sizeof(a))
 10 #define inf 0x3f3f3f3f
 11 const int N=10010;
 12 #define LL long long
 13 const double eps = 1e-5;
 14 const double pi = acos(-1);
 15 // inline int r(){
 16 //     int x=0,f=1;char ch=getchar();
 17 //     while(ch>'9'||ch<'0'){if(ch=='-') f=-1;ch=getchar();}
 18 //     while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
 19 //     return x*f;
 20 // }
 21 const int  maxn = 500010;
 22 int a[maxn];
 23 
 24 struct Node{
 25     int x,y;
 26 };
 27 Node A[N];
 28 int d[N];
 29 
 30 bool cmp(Node a,Node b){
 31     return a.x<b.x||(a.x==b.x&&a.y<b.y);
 32 }
 33 
 34 // int Search(int num,int low,int high){
 35 //     int mid;
 36 //     while(low<=high){
 37 //         mid=(low+high)/2;
 38 //         if(num>=b[mid]) low=mid+1;
 39 //         else high=mid-1;
 40 //     }
 41 //     return low;
 42 // }
 43 
 44 // int DP(int n){
 45 //     int len,pos;
 46 //     b[1]=a[1];
 47 //     len=1;
 48 //     for(int i=2;i<=n;i++){
 49 //         if(a[i]>=b[len]){
 50 //             b[++len]=a[i];
 51 //         }
 52 //         else {
 53 //             pos=Search(a[i],1,len);
 54 //             b[pos]=a[i];
 55 //         }
 56 //     }
 57 //     return len;
 58 // }
 59 
 60 int BSearch(int l,int r,int x)  
 61 {  
 62     while(l < r)  
 63     {  
 64         int m = (l + r) >> 1;  
 65         if(x <= d[m]) r = m;  
 66         else l = m + 1;  
 67     }  
 68     return l;  
 69 }  
 70   
 71 int DP(int a[],int n)  
 72 {  
 73     d[0] = -1;    
 74     int len = 1;  
 75     for(int i=1;i<=n;i++)  
 76     {  
 77         d[len] = inf;  
 78         int j = BSearch(0,len,a[i]);  
 79         if(j == len) len++;  
 80         d[j] = a[i];  
 81     }  
 82     return len - 1;  
 83 } 
 84 int main(){
 85     int n,T;
 86     scanf("%d",&T);
 87     while(T--){
 88         scanf("%d",&n);
 89         for(int i=1;i<=n;i++)
 90             scanf("%d%d",&A[i].x,&A[i].y);
 91         sort(A+1,A+n+1,cmp);
 92         // for(int i=1;i<=n;i++){
 93         //     printf("x:%d y:%d\n",A[i].x,A[i].y);
 94         // }
 95         for(int i=1;i<=n;i++)
 96             a[n-i+1]=A[i].y;
 97         // for(int i=1;i<=n;i++)
 98         //     printf("x:%d ",a[i]);
 99         printf("%d\n",DP(a,n));
100     }
101     return 0;
102 }
View Code

 

转载于:https://www.cnblogs.com/ITUPC/p/5406126.html

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

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

相关文章

python 对象_Python小课堂面向对象

Python3 面向对象Python从设计之初就已经是一门面向对象的语言&#xff0c;正因为如此&#xff0c;在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。如果你以前没有接触过面向对象的编程语言&#xff0c;那你可能需要先了解一些面向对象语言…

使用jemalloc优化java_Jemalloc优化MySQL和Nginx

Redis 2.4版本之后&#xff0c;默认使用jemalloc来做内存管理&#xff1b;tengine也整合jemalloc。jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲&#xff0c;皆为内存管理器领域最高水平。如下图&#xff1a;最左边的就是glibc的malloc&#xff0c;最右边的就是je…

【代码升级】【iCore3 双核心板】例程二十八:FSMC实验——读写FPGA

实验指导书及代码包下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1i6WL51V 密码&#xff1a;1mk4 iCore3 购买链接&#xff1a; https://item.taobao.com/item.htm?id524229438677 转载于:https://www.cnblogs.com/xiaomagee/p/5409024.html

sqlserver连接字符串_【自学C#】|| 笔记 39 SQL server 连接数据库

一、ADO.NET数据库操作 任何一个应用程序都离不开数据的存储&#xff0c;数据可以在内存中存储&#xff0c;但只能在程序运行时存取&#xff0c;无法持久保存。数据还可以在磁盘中以文件的形式存储&#xff0c;但文件的管理和查找又十分烦琐无法胜任大数量的存储。将数据存储…

Android Studio、 补充知识以及主要组件

转载于:https://www.cnblogs.com/arxk/p/5410597.html

using(){},Close(),Dispose()的区别

//用Close(),Dispose()方式关闭连接 string connString "Data Source(local);Initial CatalogLinq;Integrated SecuritySSPI"; SqlConnection conn new SqlConnection(connString); conn.Open(); conn.Close(); conn.Dispose();//用using方式关闭连接 string connS…

一个域名解析到另一个域名_注册域名公司|教你如何注册一个.net域名

近几年各后缀域名注册量都在增加&#xff0c;很多行业知道线上业务平台搭建的重要性&#xff0c;都优先制作网站布局线上&#xff0c;建站肯定需要域名&#xff0c;所以这也是带动域名注册量上涨原因之一。.COM、.NET域名一直是建站注册域名首选&#xff0c;.COM域名大家可能相…

java jedis connect timed out_Java连接Redis connection timed out 报错的解决方法

Java连接Redis connection timed out 报错的解决方法踩坑场景在使用 RedisTemplate 连接 Redis 进行操作的时候&#xff0c;发生了如下报错&#xff1a;报错信息如下&#xff1a;Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: /192.168.73.10:6…

富文本存储型XSS的模糊测试之道

富文本存储型XSS的模糊测试之道 凭借黑吧安全网漏洞报告平台的公开案例数据&#xff0c;我们足以管中窥豹&#xff0c;跨站脚本漏洞&#xff08;Cross-site Script&#xff09;仍是不少企业在业务安全风险排查和修复过程中需要对抗的“大敌”。 XSS可以粗分为反射型XSS和存储型…

phpstorm xdebug配置

phpstorm 8.0.3版本 1.本身自带xdebug插件 2.在xampp的php.ini中最后中添加&#xff08;如果有[XDebug]配置替换&#xff09; [XDebug]zend_extension "D:\Program Files\xampp\php\ext\php_xdebug.dll";xdebug.profiler_append 0;xdebug.profiler_enable 1;xdebu…

springmvc+ztree v3实现类似表单回显功能

在做权限管理系统时&#xff0c;可能会用到插件zTree v3,这是一个功能丰富强大的前端插件&#xff0c;应用很广泛&#xff0c;如异步加载菜单制作、下拉选择、权限分配等。在集成SpringMVC中&#xff0c;我分别实现了zTree的添删改查&#xff0c;本节主要实现类似表单回显功能。…

Android应用安全开发之浅谈网页打开APP

一、网页打开APP简介 Android有一个特性&#xff0c;可以通过点击网页内的某个链接打开APP&#xff0c;或者在其他APP中通过点击某个链接打开另外一个APP&#xff08;AppLink&#xff09;&#xff0c;一些用户量比较大的APP&#xff0c;已经通过发布其AppLink SDK&#xff0c;开…

php微信拍照图库js接口,ThinkPHP微信实例——JSSDK图像接口多张图片上传下载并将图片流写入本地...

发布图片最多可添加9张作品发布wx.config({debug: false,appId: {$signPackage["appid"]},timestamp: {$signPackage["timestamp"]},nonceStr: {$signPackage["noncestr"]},signature: {$signPackage["signature"]},jsApiList: [// 所…

vue防抖和节流是什么_JavaScript防抖与节流,你知道多少?

JavaScript 的节流和防抖已经是老生畅谈的问题了&#xff0c;对于前端行业技术大牛来讲不过是小菜一碟&#xff0c;而对于绝大多数前端小白或初级工程师&#xff0c;绝对是必备的知识&#xff0c;值得学习。接下来小郭就带大家一起学习“防抖”与“节流”。防抖不知道大家第一次…

php中循环跳过,php for循环的exit / break / continue /goto 停止、跳过循环、继续循环...

php 与 JavaScript 有很多相似的地方&#xff1b; for循环中也有两个相同&#xff1b; 只是 php 比 js 多了一个 exit &#xff0c; 其他用法一样&#xff1b;for($i 1;$i<11;$i){if($i3){// exit; //当$i 3 代码停止运行&#xff0c;包括循环外的&#xff0c;后面的也停止运…

location php,Nginx服务器中的location配置详解

语法location [|~|~*|^~] /uri/ {...}规则 &#xff1a; 表示精确的URI匹配(有兴趣的同学可以看一下url和uri的区别)&#xff5e;&#xff1a; 表示区分大小写的正则匹配&#xff5e;*&#xff1a;表示不区分大小写的正则匹配!~ && !~*&#xff1a;表示区分大小写不匹…

java要频繁调用容器时_Java知识点梳理

1、Struts2和SpringMVC的区别(1)设计理念&#xff1a;前者为有状态的Action(均为多例)&#xff0c;Action对象属性字段承载请求、响应&#xff0c;后者一般为无状态的Controller&#xff0c;请求直接封装到方法的参数中&#xff1b;(2)集中访问点不同&#xff1a;都属于前端控制…

基于busybox的Linux小系统制作 (initrd)

我们有时候有需要在busybox基础上&#xff0c;制作linux&#xff0c;可是却不知道具体怎么做&#xff0c;这里将对基于busybox的linux小系统制作做出详细的步骤说明。准备环境&#xff1a;1、一个Redhat完整系统的虚拟机&#xff0c;本次实例使用的是Redhat Enterprise Linux 5…

Java异常持久化,Log4j进行日志的数据库持久化,说SQL语法异常。

Log4j进行日志的数据库持久化&#xff0c;说SQL语法错误。。。在properties的配置中。。。。log4j.appender.db org.apache.log4j.jdbc.JDBCAppenderlog4j.appender.db.BufferSize1log4j.appender.db.drivercom.mysql.jdbc.Driverlog4j.appender.db.URLjdbc:mysql://localhost…

实现光晕效果_马自达6车灯升级激光四透镜实现四近四远光

汽车前照明大灯升级案例车型&#xff1a;马自达6灯泡色温&#xff1a;5600K透镜案例&#xff1a;米石激光 TMF激光原车灯泡型号&#xff1a;H1 H1雾灯&#xff1a;H3原车瓦数&#xff1a;80-100W升级方式&#xff1a;支架安装方式&#xff1a;有密封胶性质&#xff1a;热LED解码…