首页 > 其他分享 >E. Block Sequence

E. Block Sequence

时间:2024-06-02 16:22:19浏览次数:14  
标签:min int Sequence -- Block dp

题解

dp数组的含义:

dp[i]表示从i-n要删除几个数使得【i,n】的数组是优美的。

此时分两种情况:

1、删除当前位置的数,则dp[i]=dp[i+1]+1

2、不删除当前位置的数,则dp[i]=dp[i+a[i]+1]

因此转移方程为:dp[i]=min(dp[i+1]+1,dp[i+1+a[i]])

code

 

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int a[N],dp[N];
int main(){
//    freopen("input.txt","r",stdin);
    int t;
    cin>>t;
    while (t--){
        int n;
        cin>>n;
        for (int i=1;i<=n;i++){
            cin>>a[i];
            dp[i]=0;
        }
        dp[n]=1;
        dp[n+1]=0;
        for (int i=n-1;i>=1;i--){
            if (i+a[i]>n) dp[i]=dp[i+1]+1;
            else dp[i]=min(dp[i+a[i]+1],dp[i+1]+1);
        }
        cout<<dp[1]<<endl;
    }
    return 0;
} 

 

标签:min,int,Sequence,--,Block,dp
From: https://www.cnblogs.com/purple123/p/18227234

相关文章

  • css32 CSS Layout - display: inline-block
    https://www.w3schools.com/css/css_inline-block.aspThedisplay:inline-blockValueComparedtodisplay:inline,themajordifferenceisthatdisplay:inline-blockallowstosetawidthandheightontheelement.Also,withdisplay:inline-block,thetop......
  • ABC 312D题 Count Bracket Sequences
    题意给定一个非空的字符串,其由(,),?三个字符构成,其中?可以被(或者)给替换掉,求替换后的字符串是符合括号匹配的情况下的方案数。最后答案对mod=998244353取模思路应该算是一个板题,一开始的想法是往卡特兰数的方向思考,但是可能是我太水了没想出来,然后一想到卡特兰数的dp求法,就......
  • E. Living Sequence
    题目:有一个巧妙的解法:考虑这个问题,从一个没有限制的从1开始的递增序列找出第k个数,显然就是十进制的k。而这里则可以定义新的进制为"012356789"9进制,那么k对应的就是这个特殊的九进制数,我们只需要把它转换为十进制就行。代码:#define_CRT_SECURE_NO_WARNINGS#inclu......
  • D. Invertible Bracket Sequences
    D.InvertibleBracketSequencesAregularbracketsequenceisabracketsequencethatcanbetransformedintoacorrectarithmeticexpressionbyinsertingcharacters'1'and'+'betweentheoriginalcharactersofthesequence.Forexam......
  • QOJ 4824 Bracket-and-bar Sequences
    考虑到这个实际上没有特别好的表示方法。不如从\(n\le25\),猜想合法的序列数量不多。考虑对这个计数。类似于合法括号序计数,考虑把串拆为\(\texttt{(}\cdots\texttt{|}\cdots\texttt{)}\cdots\)来考虑。那么令\(f_i\)表示\(i\)对\(\texttt{(|)}\)组成的序列的数量。......
  • 翻译《The Old New Thing》- Consequences of the scheduling algorithm: Low priorit
    Consequencesoftheschedulingalgorithm:Lowprioritythreadscantake100%CPU-TheOldNewThing(microsoft.com)https://devblogs.microsoft.com/oldnewthing/20071220-00/?p=24093 RaymondChen 2007年12月20日调度算法的控制:低优先级线程也可能占用100%的......
  • Towards Universal Sequence Representation Learning for Recommender Systems
    目录概符号说明UniSRec统一的文本表示统一的序列表示Parameter-EfficientFine-tuning代码HouY.,MuS.,ZhaoW.X.,LiY.,DingB.andWenJ.TowardsUniversalSequenceRepresentationLearningforRecommenderSystems.KDD,2022.概本文提出了一个用text替代ID......
  • 代码解析—part 2 数据集加载MFS—CVPR2023—Implicit Identity Leakage: The Stumbli
    论文讲解请看:https://blog.csdn.net/JustWantToLearn/article/details/138758033代码链接:https://github.com/megvii-research/CADDM在这里,我们简要描述算法流程,着重分析模型搭建细节,以及为什么要这样搭建。part1:数据集准备,请看链接https://blog.csdn.net/JustWantToLe......
  • SwiftUI中的组合动画(Simultaneous, Sequenced, Exclusive)
    了解了常见的几种手势后,接下来我们了解一下组合手势的操作,当一个视图存在多个手势的时候,为了避免手势冲突,SwiftUI提供了自定义手势的方法,比如同时进行,顺序进行等等。以下是一些常见的多种手势组合使用方式:simultaneously(with:):同时使用多个手势,使它们可以同时响应用户的......
  • 数组类型的有界阻塞队列-ArrayBlockingQueue
    一:ArrayBlockingQueue简介  一个由循环数组支持的有界阻塞队列。它的本质是一个基于数组的BlockingQueue的实现。它的容纳大小是固定的。此队列按FIFO(先进先出)原则对元素进行排序。队列的头部是在队列中存在时间最长的元素。队列的尾部是在队列中存在时间最短的元素。......