【[CSP-J 2022] 上升點列】

題目

[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…