首页 > 其他分享 >线段(线性dp)

线段(线性dp)

时间:2024-05-23 20:56:49浏览次数:26  
标签:int 线段 行且 端点 线性 步数 dp

 题目链接:https://www.luogu.com.cn/problem/P3842

思路:

f[i][0]表示走完第i行且停在第i行的左端点最少用的步数

f[i][1]同理,停在右端点的最少步数。

那么转移就很简单了,走完当前行且停到左端点,那么一定是从右端点过来的,那么从上一行左端点转移的话就是

f[i][0]=abs(上一行左端点的坐标-本行右端点的坐标+本行线段长度)

从上一行右端点转移同理。 不需要什么判断。边界f[1][0]=r[1]+r[1]-l[1]-1,f[1][1]=r[1]-1,然后直接搞就行了,时间复杂度O(n)。

 

代码:

void solve(){
    int n;
    cin >> n;
    vector<int>l(n + 1), r(n + 1);
    for(int i = 1;i <= n;i ++)
        cin >> l[i] >> r[i];
    vector<array<int,2>>dp(n + 1);
    dp[1][0] = r[1] + r[1] - (l[1] + 1);
    dp[1][1] = r[1] - 1;
    for(int i = 2;i <= n;i ++){
        dp[i][0] = min(dp[i - 1][0] + abs(l[i - 1] - r[i]) + r[i] - l[i] + 1, dp[i - 1][1] + abs(r[i - 1] - r[i]) + r[i] - l[i] + 1);
        dp[i][1] = min(dp[i - 1][0] + abs(l[i - 1] - l[i]) + r[i] - l[i] + 1, dp[i - 1][1] + abs(r[i - 1] - l[i]) + r[i] - l[i] + 1);
    }
    cout << min(dp[n][0] + n - l[n], dp[n][1] + n - r[n]);
}

 

标签:int,线段,行且,端点,线性,步数,dp
From: https://www.cnblogs.com/litianyu1969/p/18209330

相关文章

  • 背包dp
    P1064[NOIP2006提高组]金明的预算方案思路:有依赖的背包。主要的问题和解决方案,见代码注释.#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineendl"\n"constintN=2e5+10;typedefstructnode{intp,w,typ;}node;boolcmp(nodea,n......
  • Dplayer播放m3u8
    <!--引入DPlayer--><linkrel="stylesheet"href="https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.css"><scriptsrc="https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js"></script><scriptsrc=&quo......
  • 世微 AP5102三路线性LED恒流芯片 LED照明驱动IC
    说明 AP5102是一款电路简洁的三路线性LED恒流驱动器,适用于5-46V电压范围的LED恒流照明领域。芯片PWM端口支持高辉调光,能够响应60ns超小脉宽的PWM调光信号。芯片采用我司算法,为客户提供解决方案,限度发挥灯具优势,以实现景观舞台灯高辉的调光效果,65535256*256)级高......
  • 世微 AP5101C高压线性LED恒流驱动芯片 6-100V 2A LED灯电源驱动
    产品描述AP5101C是一款高压线性LED恒流芯片,简单、内置功率管,适用于6-100V输入的高精度降压LED恒流驱动芯片。电流2.0A。AP5101C可实现内置MOS做2.0A,外置MOS可做3.0A的。AP5101C内置温度保护功能,温度保护点为130度,温度达到130度时,输出电流慢......
  • 私有云和多云管理平台 | Cloudpods v3.10.15 正式发布
    功能优化【主机】裸金属详情页增加部分属性信息【监控】优化告警策略,支持同时设置多监控指标【主机】支持透传设备自动探测【主机】LVM块存储支持快照【监控】简化Telegraf容器的挂载点【主机】新建VMware支持同时填写备注信息【存储】KVM支持对接LVM存储问题修......
  • QCM4490 typec线和ADPmicrob线的检测流程
    1、typec线识别流程(ADP开关和USB_OPTION的开关切到typec那边)usb_id_irq_handler-->切换模式micro_usb_set_mode  2、adpmicrob线检测流程client_data.id=MSG_OWNER_BC;client_data.name="battery_charger";client_data.msg_cb=battery_chg_callba......
  • 世微 AP510X 单路低压差线性恒流芯片 LED手电筒景观亮化台灯车灯照明
    AP510X是一系列电路简洁的单路线性LED恒流芯片,适用于3-60V电压范围的LED恒流调光领域。AP510X采用我司算法,可以实现高精度的恒流效果,输出电流恒流精度≤±3%,电源供电工作范围为3-40V,可以轻松满足锂电池以及市场上面中低压的应用需求。PWM调光支持高辉应用,可以支持20K以上的调光频......
  • EDP .Net开发框架--组织架构
    职类职类是将职务进行分类管理,并定义了职类标记和职级。职类标记会带入到该职类下的职务作为职务的标记,并为职务提供职级范围选择。“高管类”职类定义了其职级范围为“PM13至PM16”,那么该职类下的职务的职级就只能在这个范围内。职务定义和管理组织架构中的职务。职务必须......
  • WordPress标签实现追加自定义链接
    WordPress标签的用处说多不多,说少不少,其中利用WordPress标签做聚合页面优化是一种搜索引擎很喜欢的方式,或者说很多搜索引擎相比正文页面而言更喜欢抓取和收录标签页面,其次对于WordPress标签的作用就是用于文章关键词调用以及文章内链。那么今天子凡我我将利用几行代码来实......
  • E - Remove Pairs(状压dp+博弈论)
     ​思路:容易发现,我们取走一张牌后:如果下一步的人必败,则这一步的人必胜,因为可以走这个状态。反之,这个人必败。代码:#include<bits/stdc++.h>usingnamespacestd;intn,a[21],b[21],f[2000005];intmain(){ios::sync_with_stdio(false);cin.tie(0);cout.t......