首页 > 其他分享 >洛谷 P2501 [HAOI2006]数字序列

洛谷 P2501 [HAOI2006]数字序列

时间:2022-11-21 19:33:44浏览次数:62  
标签:洛谷 数字 P2501 HAOI2006 序列 dp

洛谷 P2501 [HAOI2006]数字序列

第一问

实质是最大化不修改的数。

假设 \(i,j\) 不修改(\(j<i\)),那么必须满足 \(a_i-a_j\geq i-j\)。

移项:\(a_i-i\geq a_j-j\)。

设 \(b_i=a_i-i\)。

求 \(b\) 的最长不下降子序列即可。设 \(f_i\) 为求这个的 dp 值。

第二问

实质上是要求使得 \(b\) 单调不降。

继续 dp,设 \(g_i\) 表示前 \(i\) 个的答案。

那么 \(g_i=g_j+w(j,i)\)。

注意 \(j\) 必须满足 \(f_j+1=f_i\)。

结论:操作后的序列 \([j,i]\),一定前面一部分(可能没有)为 \(b_j\),后面一部分为 \(b_i\)。

证明:不会,感性理解。

所以枚举分界点,前后算一算即可。

因为数据随机,所以能过。

标签:洛谷,数字,P2501,HAOI2006,序列,dp
From: https://www.cnblogs.com/2020linweitong/p/16912944.html

相关文章

  • 洛谷 P1403 约数研究
    洛谷P1403约数研究P1403约数研究-洛谷前置知识\(a\)能整除\(b\)用符号表示为\(b\mida\)\(1\simn\)中约数(即因子)含\(x\)的个数为\(\left\lfloor\df......
  • 洛谷-1347
    洛谷-1347思路此题解的思路再加上这篇blog的代码实现。注意:本体要求的不是一个拓扑排序就可以了,实际上是要求一条链的拓扑排序。Code#include<bits/stdc++.h>using......
  • 洛谷P1270 “访问”美术馆 树形dp
    题意https://www.luogu.com.cn/problem/P1270分析经典的树上背包,令\(dp[x][t]\)表示在\(x\)点剩余\(t\)秒的最多画数在\(x\)结点考虑分给左右结点的时间,故枚举分给左儿......
  • 洛谷:P1789 【Mc生存】插火把
        代码:#include<stdio.h>structhuobaye{intx;inty;};structstoneye{intx;inty;};intabs(intn){intflag;if(......
  • 洛谷P3917 异或序列
     题意:给出一个大小为n的序列a[n],求∑1≤i≤j≤n Ai​⨁Ai+1​⨁⋯⨁Aj的值​分析:根据异或的性质我们很容易想到一个O(n*n)的做法,即进行一个异或前缀和。......
  • 【洛谷 P4525】 【模板】自适应辛普森法 1
    自适应辛普森法,用于求定积分。原理是不断二分区间直到区间的积分和二次函数的积分拟合程度足够高,然后用二次函数的积分值来代替原积分值。#include<bits/stdc++.h>#def......
  • 洛谷P1706 全排列问题
    全排列问题题目描述P1706全排列问题-洛谷按照字典序输出自然数\(1\)到\(n\)所有不重复的排列,即\(n\)的全排列,要求所产生的任一数字序列中不允许出现重复的数字......
  • 【洛谷P3810】 【模板】三维偏序(陌上花开)
    CDQ是一中思想,用来求点对数列。定义\(solve(l,r)\)用来求\([l,r]\)区间的数对,那么先递归处理\(solve(l,mid)\),然后考虑前半段对后半段的影响,然后再递归处理后半段\(sol......
  • 洛谷-3758
    洛谷-3758思路一定要看数据范围!Code#include<bits/stdc++.h>usingnamespacestd;#define_u_u_ios::sync_with_stdio(false),cin.tie(nullptr)#definecfint_......
  • 洛谷刷题_P1255 数楼梯
    题目P1255数楼梯题目链接https://www.luogu.com.cn/problem/P1255知识点斐波那契数列斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……,在数学上,......