题目

[CSP-J 2022] 上升点列
题目描述
在一个二维平面内,给定 n 个整数点 (x i ,y i​ ),此外你还可以自由添加 k 个整数点。
你在自由添加 k 个点后,还需要从 n+k 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间的欧几里得距离恰好为 1 而且横坐标、纵坐标值均单调不减,即 x i+1 −x i =1,y i+1 =y i 或 y i+1 −y i =1,x i+1 =x i 。请给出满足条件的序列的最大长度。

输入格式
第一行两个正整数 n,k 分别表示给定的整点个数、可自由添加的整点个数。接下来 n 行,第 i 行两个正整数 x i ,y i 表示给定的第 i 个点的横纵坐标。
输出格式
输出一个整数表示满足要求的序列的最大长度。

输入输出样例
输入 #1
8 2
3 1
3 2
3 3
3 6
1 2
2 2
5 5
5 3
输出 #1
8

输入 #2
4 100
10 10
15 25
20 20
30 30
输出 #2
103

思路

1.各点按x、y排序
2.状态:到达各点的最多序列
3.状态转移:到达该点的最多序列=前面所有点中的最多序列
4.转移方程:f[i][n]=max(f[i][n],f[j][k-dis(i,j)]+dis(i,j)+1)
f[当前点][借的点数]=max(f[当前点][借的点数],
f[当前点前的每个点][当前借的点数-i到j两点间需要的点数]
+
i到j两点间需要的点数
+
i点本身
)
5.三层循环
一层,遍历每个点(i)
二层,遍历i前所有点(j)
三层,遍历能借的点数0到k-dis(i,j)

图解

在这里插入图片描述

两点间欧几里得距离

在这里插入图片描述

代码

#include <bits/stdc++.h>
using namespace std;
int n,//整数点数 k,//可添加整数点数 x,y,//整数点的坐标 ans,//最多序列 f[501][101];//在借得不同数点情况下到达每个点的最多序列数 //f[i][x]=max(f[i][x],f[j][x-dis(i,j)]+dis(i,j)+1) 
struct point{int x,y;bool operator<(const point p2)const{if(x==p2.x)return y<p2.y;return x<p2.x;}
}p[501];
int dis(int i2,int i1){return p[i1].x-p[i2].x+p[i1].y-p[i2].y-1;
}
void view(){cout<<"各点"<<endl;for(int i=0;i<n;i++)cout<<p[i].x<<","<<p[i].y<<endl;
}
void view2(){cout<<"最多序列"<<endl;cout<<"添加\t";for(int x=0;x<=k;x++)cout<<x<<'\t';cout<<endl;	for(int i=0;i<n;i++){cout<<p[i].x<<","<<p[i].y<<"\t";for(int x=0;x<=k;x++)cout<<f[i][x]<<'\t';cout<<endl;	}}
int main(){freopen("point.in","r",stdin);cin>>n>>k;for(int i=0;i<n;i++){cin>>x>>y;p[i]=point{x,y}; }//view();sort(p,p+n);view();for(int i=0;i<n;i++){//遍历所有点 f[i][0]=1;//初始化,每个点序列起码有1 for(int j=0;j<i;j++)//遍历前面的所有点 if(p[j].y<=p[i].y){//如果是升序(右上) int m=dis(j,i);//欧几里得距离 for(int x=0;x+m<=k;x++)//j已经加的点+现在i到j加的点不超过k f[i][x+m]=max(f[i][x+m],f[j][x]+dis(j,i)+1);/*第i点用了x+m个点后的最多序列=以下中最大本来的最多序列i前j点用了x个点后的最多序列,加上i到j需要的点,+i点本身 */	}	}view2();for(int i=0;i<n;i++)//遍历所有点,不一定是最后一个序列最多 for(int j=0;j<=k;j++)//用添加点最少而序列最多的 ans=max(ans,f[i][j]+k-j);//在必须用的点基础上还可以用k剩余的点 cout<<ans;return 0;
}

数据

在这里插入图片描述

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

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

相关文章

Kong API Gateway的十年进化史

一、技术基因的诞生&#xff08;2007-2015&#xff09; 2007年&#xff0c;三位意大利开发者Augusto Marietti、Marco Palladino和Michele Orru在博洛尼亚的一个小车库中创立了Mashape公司。 最初他们开发了一个名为Mashup的API聚合平台&#xff0c;试图通过整合第三方API为开发…

蓝牙设备配对:从机发现主机全过程

在蓝牙 paging 过程中&#xff0c;从设备&#xff08;Slave&#xff09;是通过特定的扫描机制和跳频方式来发现主设备发送的 ID 包的&#xff0c;具体过程如下&#xff1a;从设备处于特定扫描模式&#xff1a;从设备需要处于 Page Scan 模式&#xff0c;才能够接收主设备发送的…

聚观早报 | 三星获特斯拉AI芯片订单;小米16首发成安卓最强SOC;iPhone 17 Pro支持8倍光学变焦

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。整理丨肖羽7月29日消息三星获特斯拉AI芯片订单小米16首发成安卓最强SOCiPhone 17 Pro支持8倍光学变焦宁德时代滑板底盘公司启动首轮融…

Gemini Fullstack LangGraph Quickstart(DeepSeek+Tavily版本)

文章目录参考资料说明Gemini Fullstack LangGraph QuickstartDeepSeek Fullstack LangGraph Quickstart项目部署完整源码地址后端部署前端部署参考资料 DeepResearch应用开发实战网盘课件资料 说明 本文仅供学习和交流使用&#xff0c;感谢赋范社区相关老师的辛苦付出&#…

钢筋计数误差↓78%!陌讯多模态融合算法在建筑地产AI质检的落地实践

​摘要​​针对建筑地产行业钢筋验收场景的高误差痛点&#xff0c;本文解析陌讯视觉算法的多模态融合架构如何实现毫米级精度目标检测。实测显示&#xff1a;在Jetson Xavier NX边缘设备上&#xff0c;钢筋计数mAP0.5达​​92.4%​​&#xff0c;较基线模型提升28个百分点&…

负载均衡 LoadBalance

问题引入 我们一个服务可能会进行多机部署&#xff0c;也就说多台服务器组成的集群共同对外提供一致的服务&#xff0c;那么我们的微服务的代码就需要拷贝多份&#xff0c;部署到不同的机器上。 我们使用 IDEA 来开启多个相同的服务 这里以 product-service 为例&#xff1a;…

13. 若依框架中的 Sensitive 敏感字段过滤

若依框架中有Sensitive注解&#xff0c;但代码中并未使用&#xff0c;但该注解的实现还是比较值的学习的。该注解是一个运行时注解该注解只能应用在字段上JacksonAnnotationsInside 表示当使用Jackson序列化时&#xff0c;Jackson会自动识别该注解下的其他Jackson相关注解&…

git本地仓库,工作区和暂存区的知识

一 git工作原理 Git 的工作原理基于分布式版本控制&#xff0c;通过管理文件的不同版本状态&#xff0c;实现代码的追踪、协作和回溯。除了常见的工作区&#xff08;Working Directory&#xff09; 和暂存区&#xff08;Staging Area/Index&#xff09;&#xff0c;核心还包括本…

MPU6050模块

一&#xff1a;MPU6050简介输出一个随姿态变化而变化的电压&#xff0c;想要量化电压&#xff0c;就得使用ADC转化欧拉角偏航角&#xff08;Yaw&#xff09;&#xff1a;也叫航向角&#xff0c;通常是绕 z 轴旋转的角度&#xff0c;以 x 轴正向为起始边&#xff0c;旋转后 x 轴…

jvm的栈和堆

在 JVM 中&#xff0c;栈&#xff08;Stack&#xff09;和堆&#xff08;Heap&#xff09;是两种核心内存区域&#xff0c;用于存储不同类型的数据&#xff0c;它们的设计和存储规则有明确区分&#xff0c;主要体现在存储内容、生命周期和管理方式上&#xff1a;一、栈&#xf…

自动驾驶车辆的敏捷安全档案

简介近年来&#xff0c;在开发安全关键软件时&#xff0c;敏捷开发方法的使用日益增多。敏捷方法非常适合自动驾驶汽车软件的增量改进、运行设计域的逐步扩展以及新型智能路侧单元的开发。由于车辆和智能路侧单元的预期改进&#xff0c;未来几年将会有新的自动驾驶车辆试验。因…

【时时三省】(C语言基础)动态内存分配与它的指针变量

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省什么是内存的动态分配全局变量是分配在内存中的静态存储区的&#xff0c;非静态的局部变量&#xff08;包括形参&#xff09;是分配在内存中的动态存储区的&#xff0c;这个存储区是一个称为栈…

SpringMVC的核心架构与请求处理流程

Spring MVC 核心架构核心组件组件作用类比DispatcherServlet前端控制器&#xff0c;统一接收请求并协调各组件处理一个餐厅的前台HandlerMapping根据请求URL映射到对应的处理器&#xff08;Controller&#xff09;路由表HandlerAdapter执行处理器方法&#xff0c;处理参数绑定、…

css 不错的按钮动画

效果图wxml <view class"{{status?active:}}"><view class"up-top btn"><text>向上</text></view><view class"up-left btn"><text>向左</text></view><view class"up-center b…

若依框架RuoYi-Vue-Plus-5.X的启动,本地安装docker,再部署 Redis、PG数据库(智慧水务)SmartWaterServer

一、部署redis数据库拉取镜像 docker pull redis启动Redis容器docker run -d --name redis-server -p 6379:6379 -v redis-data:/data redis redis-server --requirepass 123redis版本二、部署PostgreSQL 数据库拉取镜像docker pull postgres:15 创建数据存储目录、建议将数据挂…

Idea 清除无用的引用类

在IntelliJ IDEA中&#xff0c;你可以通过以下方式将选中的代码设置为大写&#xff1a;1. 使用快捷键(推荐)Windows/Linux&#xff1a;Ctrl Shift UMac&#xff1a;Cmd Shift U操作步骤&#xff1a;选中文本按下快捷键&#xff0c;即可在大小写之间切换。2. 通过菜单操作选…

同个主机拉取不同权限仓库的方法

背景&#xff1a;因为某些神奇的原因&#xff0c;无法同时授权仓库权限给自己。 1.本地电脑只有权限访问web仓库地址&#xff0c;无权限访问backend仓库&#xff1b; 2.堡垒机服务器只有权限访问backend仓库&#xff0c;无权限访问web仓库地址。 web仓库地址 &#xff1a;codeu…

快速搭建Node.js服务指南

Node.js是构建高效、可扩展网络应用的理想选择。以下是几种快速搭建Node.js服务的方法。 方法一&#xff1a;使用Express&#xff08;最流行框架&#xff09; 1. 初始化项目 mkdir my-node-service cd my-node-service npm init -y2. 安装Express npm install express3. 基础服…

通义千问Qwen3-30B-A3B-Thinking-2507技术解析:推理模型的工程实践突破

Qwen3-30B-A3B模型架构图2025年7月30日&#xff0c;阿里云通义千问团队发布了Qwen3-30B-A3B-Thinking-2507推理模型&#xff0c;这是继Qwen3-30B-A3B-Instruct-2507后的又一力作。作为专注于推理任务的专用模型&#xff0c;它在数学能力测试AIME25上取得85.0分&#xff0c;超越…

【源力觉醒 创作者计划】文心一言与deepseek集成springboot开发哪个更方便

一.实验背景 当前文心一言和deepseek都开源了&#xff0c;二者都可以作为大模型应用开发的模型基础了&#xff0c;我们都可以编写springboot项目来集成deepseek和文心一言了 二.实验目标 本文基于实际操作&#xff0c;通过实际操作来对比文心一言和deepseek在集成到springbo…