news 2026/4/16 11:05:12

洛谷 P1103 书本整理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
洛谷 P1103 书本整理

原题

题目描述

对于给出的书本,Frank会先把它们按照高度排好序,接下来通过删去k本书来达到最小的不整齐度。

解题思路

我们可以令f[i][j]表示当有i本书时,留下j本的最小不整齐度。通过稍微地分析,我们就可以得到f[i][k1]=min(f[i][k1],f[j][k1-1]+abs(a[i].k-a[j].k));其中,i为当前有多少本书;k1为留下的本数。

#include<bits/stdc++.h> using namespace std; struct node{ int h,k; }a[110]; int f[110][110]; bool cmp(node a1,node a2){ return a1.h>a2.h; } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,k; cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i].h>>a[i].k; } sort(a+1,a+n+1,cmp); //按照高度进行排序 fill(f[1]+1,f[n+1],0x3f3f3f3f); //将f数组初始化为∞ for(int i=1;i<=n;i++)f[i][1]=0; //只留1本不整齐度为0 for(int i=2;i<=n;i++){ for(int j=1;j<=i-1;j++){ for(int k1=2;k1<=min(i,n-k)/*枚举留下k1本书*/;k1++){ f[i][k1]=min(f[i][k1],f[j][k1-1]+abs(a[i].k-a[j].k)); } } } int ans=INT_MAX; for(int i=n-k;i<=n;i++){ ans=min(ans,f[i][n-k]); //选取最小值 } cout<<ans; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 20:06:04

React Native轮播组件实战解析:react-native-snap-carousel高级应用指南

React Native轮播组件实战解析&#xff1a;react-native-snap-carousel高级应用指南 【免费下载链接】react-native-snap-carousel 项目地址: https://gitcode.com/gh_mirrors/rea/react-native-snap-carousel 在移动应用开发中&#xff0c;轮播组件是展示内容、提升用…

作者头像 李华
网站建设 2026/4/15 17:17:57

服务线程被占满?Tomcat 线程不够用?接口一慢全站雪崩?Tomcat 线程池、exec 线程与服务线程:一次彻底讲清

Tomcat 线程池、exec 线程与服务线程&#xff1a;一次彻底讲清 在 Web 后端面试或实际项目中&#xff0c;“服务线程被占满”、“Tomcat 线程不够用”、“接口一慢全站雪崩”这类问题非常常见。本质原因&#xff0c;几乎都绕不开一个核心概念&#xff1a;HTTP 请求处理线程&…

作者头像 李华
网站建设 2026/4/9 22:39:25

为什么 SAP S/4HANA 项目总是背着历史前行

对 CIO 来说&#xff0c;“管理遗留系统”从来不是愿望清单上的选项&#xff0c;但在每一次 SAP S/4HANA 转型中&#xff0c;它却总会如期而至。随着预算审批、路线图规划推进&#xff0c;企业发现自己不仅在建设未来&#xff0c;还不得不为过去持续买单。历史 ERP 数据、老旧系…

作者头像 李华
网站建设 2026/4/1 6:18:52

地铁报站语音更新成本大幅降低的秘密

地铁报站语音更新成本大幅降低的秘密 在一座千万级人口的城市里&#xff0c;每天有数百万人次搭乘地铁出行。当列车缓缓驶入站台&#xff0c;广播中传来那熟悉的声音&#xff1a;“下一站是人民广场&#xff0c;乘客请准备下车。”——这短短一句话背后&#xff0c;曾牵动着录音…

作者头像 李华
网站建设 2026/4/15 3:40:47

AI红队演练平台完整部署指南:5分钟快速启动教程

AI红队演练平台完整部署指南&#xff1a;5分钟快速启动教程 【免费下载链接】AI-Red-Teaming-Playground-Labs AI Red Teaming playground labs to run AI Red Teaming trainings including infrastructure. 项目地址: https://gitcode.com/gh_mirrors/ai/AI-Red-Teaming-Pla…

作者头像 李华
网站建设 2026/4/14 18:56:24

Java基础入门:字面量、变量、关键字与运算符初识

Java基础入门&#xff1a;字面量、变量、关键字与运算符初识 在Java编程的学习旅程中&#xff0c;基础语法是构建程序的基石。本文将从字面量、变量、关键字、标识符和运算符这些核心基础概念入手&#xff0c;结合代码实例讲解&#xff0c;帮助初学者快速理解并掌握这些关键知…

作者头像 李华