洛谷题目:P1233 [ICPC 2001 Taejon R] 木棍加工 题解(本题较难)
介绍前言本题求最少准备时间 ⇔ 求排序后宽度数组的最长严格上升子序列长度。以下是小亦的详细讲解⬇️题目传送门https://www.luogu.com.cn/problem/P1233#解题思路步骤1、明确问题规则与核心1.1、给定n根木棍每根拥有长度l、宽度w及其加工木棍存在准备的时间规则第一根耗时了1分钟如果后一根木棍长、宽均≤前一根则无需额外准备否则加1分钟的准备是假并且要求求出加工全部木棍的最小总准备timing。1.2、该题可以通过Dilworth定理转换成经典的最长上升至序列问题。具体将木棍按照长度降序、同长度宽度降序并进行排序之后最小准备时间等价于宽度序列的最长严格上升至序列长度。1.3、本题不建议暴力枚举若暴力枚举所有排序进行模拟加工时间阶乘复杂度无法通过。2、问题转化以及逻辑推导2.2、题目给的问题等价于把所有木棍划分成尽可能少的递减序列。根据Dilworth定理最少划分链的数量最长反链长度。排序后反链对应宽度严格上升序列因此只需求出宽度序列最长上升子序列长度即可。3、动态dp状态设计我们仅需要一维dp数组去存储子问题答案不需要复杂图结构3.1、do[i]以排序后第i根木棍为结尾的最长严格上升宽度子序列长度。3.2、答案整个dp数组中的最大值就是最少的准备时间。##完成解题三步走小亦提供思维导图让大家更加清晰易懂###复杂度1、时间复杂度。2、空间复杂度。####代码#include iostream #include vector #include algorithm using namespace std; struct stick1 { int l, w; }; // 排序规则长度降序长度相等则宽度降序 bool cmp(const stick1 a, const stick1 b) { if (a.l ! b.l) return a.l b.l; return a.w b.w; } int main() { int n; cin n; vectorstick1 stick2(n); for (int i 0; i n; i) { cin stick2[i].l stick2[i].w; } sort(stick2.begin(), stick2.end(), cmp); vectorint w; for (auto s : stick2) { w.push_back(s.w); } // 求最长上升子序列 LIS vectorint dp(n, 1); int ans 1; for (int i 0; i n; i) { for (int j 0; j i; j) { if (w[j] w[i]) { dp[i] max(dp[i], dp[j] 1); } } ans max(ans, dp[i]); } cout ans endl; return 0; }--- 感谢观看---制作Code.小亦代码提供Code.小亦题目思路部分提供无代码部分思路提供无知识共享无知识查找来源无初审Code.小亦。终审Code.小亦。本文章属于原创作品禁止任何人进行转载除合作之外如在阅读中发现知识性错误、代码错误、错别字错误等情况私信博主或评论或通过邮箱2952104443qq.com。另题目来源首页 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)特本文章/专栏在知乎网站合规授权发布。

相关新闻

蓝鲸已是极限?揭开深海“未知巨兽”背后的物理与能量法则

蓝鲸已是极限?揭开深海“未知巨兽”背后的物理与能量法则

深海,这个覆盖地球表面近70%的神秘领域,长久以来引发了人类对未知巨型生物的无限遐想。从古希腊神话中的海妖到北欧传说中的克拉肯,深海巨兽的形象在文学和影视作品中被不断放大,甚至有传言称存在体长超过200米的"Blip海怪&q…

2026/10/12 5:03:36 阅读更多 →
OpenClaw开源量化交易框架:架构解析与部署实践

OpenClaw开源量化交易框架:架构解析与部署实践

1. OpenClaw项目概述OpenClaw是一个开源的自动化工具框架,从网络热词关联分析来看,它主要应用于金融分析、量化交易领域,同时具备与微信、飞书等平台对接的能力。这个项目名称中的"Claw"(爪子)暗示了其抓取和…

2026/10/5 15:08:32 阅读更多 →
深入解析TI AM263P PRU-ICSS IEP:工业以太网高精度定时同步硬件核心

深入解析TI AM263P PRU-ICSS IEP:工业以太网高精度定时同步硬件核心

1. 项目概述:为什么工业以太网需要“硬件心脏”?在工业自动化车间里,想象一下这样的场景:一条高速包装线上,十几个伺服电机需要以微秒级的精度协同动作,一个机械臂的抓手必须在传送带上的工件到达特定位置的…

2026/9/28 19:25:04 阅读更多 →

最新新闻

用Python打造通用新闻采集器:手写爬虫与静态站生成实战

用Python打造通用新闻采集器:手写爬虫与静态站生成实战

前后端分离、静态托管这些概念这几年很流行,但真正把这些东西和爬虫组合起来,做成一个"个人新闻聚合站",不少朋友还没试过。这篇文章我分享的,就是用 Python 从零写一个通用新闻采集器:抓取多个新闻源的列表…

2026/10/12 5:02:57 阅读更多 →
MFC CToolBar自定义图片与文字:完整方案与避坑指南

MFC CToolBar自定义图片与文字:完整方案与避坑指南

简介:在Windows界面开发中,工具栏是高频交互组件,而MFC的CToolBar常因资源类型、样式位和尺寸设置不当,导致图片不显示或文字错位。理解CToolBar底层基于Win32工具栏控件的原理,是自定义图片按钮和文字布局的关键——S…

2026/10/12 5:02:57 阅读更多 →
持仓成本与持有时间的双向深度关系全景分析:时间重

持仓成本与持有时间的双向深度关系全景分析:时间重

在交易与投资市场中,绝大多数投资者只单独关注持仓成本或持有时间,却忽略了二者是一套双向绑定、互相重塑、闭环制约的核心系统。大众普遍存在两大认知误区:第一,认为买入成本是固定不变的静态数值;第二,认…

2026/10/12 5:02:57 阅读更多 →
Unity实时摄像机图像捕获:AsyncGPUReadback高效管线实践

Unity实时摄像机图像捕获:AsyncGPUReadback高效管线实践

1. 项目概述:这不是简单的“截图”,而是实时视觉管线的重构“Unity实时摄像机渲染图像处理”——这八个字背后,不是教你怎么按F12截个图,也不是调个Post-Process Volume加个Bloom就完事。它直指Unity图形管线中一个被大量项目低估…

2026/10/12 5:02:57 阅读更多 →
AB实验中的一类错误与二类错误:统计决策实战解结

AB实验中的一类错误与二类错误:统计决策实战解结

做AB实验的人,迟早会撞上同一堵墙:跑了一个月的实验终于p值小于0.05,高高兴兴全量上线,结果业务指标纹丝不动;反过来,某个改动内部判断“肯定有效”,实验跑了两周却不显著,于是项目被…

2026/10/12 5:02:57 阅读更多 →
litellm实战:用统一网关解决多模型接入与成本治理

litellm实战:用统一网关解决多模型接入与成本治理

项目名就叫 litellm。第一次看到这个名字,很多人以为它又是一个“模型封装库”,但实际用下来,它做的事比“封装”大得多:把几十家模型服务统一成一套接口,顺手把路由、重试、预算、监控全接进来。去年我搭一个多模型评…

2026/10/12 5:01:57 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →