首页 > 其他分享 >ABC222D-Between Two Arrays(前缀和优化dp)

ABC222D-Between Two Arrays(前缀和优化dp)

时间:2023-07-13 22:44:58浏览次数:47  
标签:前缀 Arrays Two int range Between input dp

题意:给定两个递增数列A和B,构造一个a<= ci <= bi 的递增数列C,询问满足条件的C的个数。

普通dp会超时,用前缀和优化

n=int(input())
a=list(map(int,input().split()))
b=list(map(int,input().split()))

l=3010
dp=[[0]*l for _ in range(n+1)]
dp[0][0]=1

for i in range(n):
    for j in range(l):
        if dp[i][j]==0:
            continue
        dp[i+1][max(j,a[i])]+=dp[i][j]
        dp[i+1][b[i]+1]-=dp[i][j]

    for j in range(l-1):
        dp[i+1][j+1]+=dp[i+1][j]
        dp[i+1][j+1]%=998244353
print(sum(dp[-1])%998244353)

 

标签:前缀,Arrays,Two,int,range,Between,input,dp
From: https://www.cnblogs.com/trave11er/p/17552399.html

相关文章

  • two
    <!--  1过  2过  3过  4过  5过--><!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <title>Document</title></head><body>   <!--表格--&......
  • 「Network」题解
    「CEOI2012」NetworkSolutiontoQuestionⅠ首先缩点(当然也可以不缩?),然后跑一遍DFS即可。//w为联通分量里的节点个数inlinevoiddfs(constint&u){ ans1[u]=w[u]; for(intv:G_scc[u]) dfs(v),ans1[u]+=ans1[v];}SolutiontoQuestionⅡ观察缩完点后......
  • NBD(Network Block Device)是一种用于网络存储的协议和技术。NBD服务器是一种提供网络块
    NBD(NetworkBlockDevice)是一种用于网络存储的协议和技术。NBD服务器是一种提供网络块设备服务的服务器,它允许用户通过网络连接来访问和管理块设备(如硬盘、SSD等),就像本地设备一样。NBD服务器的工作原理如下:NBD服务器将物理或虚拟块设备暴露为网络上的NBD设备。客户端使用NBD客......
  • E. Two Chess Pieces -- (codeforces) 树形DP
    原题链接:https://codeforces.com/contest/1774/problem/E题意:两颗棋子,给出两颗棋子必须要去的顶点,且给出两颗棋子的相隔距离不能大于d,算出两颗棋子完成目标后走的距离。最后两颗棋子都要回到顶点1上。思路:刚开始没想出来,顺着官方题解写的,大意就是我用数组s1和s2代表两颗棋子......
  • poj 2236 Wireless Network 并查集
    WirelessNetworkTimeLimit: 10000MSMemoryLimit: 65536KTotalSubmissions: 20499Accepted: 8608DescriptionAnearthquaketakesplaceinSoutheastAsia.TheACM(AsiaCooperatedMedicalteam)havesetupawirelessnetworkwiththelapcomputers,butanun......
  • Exploiting Noise as a Resource for Computation and Learning in Spiking Neural Ne
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!https://arxiv.org/abs/2305.16044 Summary Keywords Introduction  ResultsNoisyspikingneuralnetworkandnoise-drivenlearning NSNNleadstohigh-performancespikingneuralmodels NSNN......
  • CF1601F Two Sorts 题解--zhengjun
    link这里提供一种不用meetinmiddle的方法,速度比较可观。发现性质开始简单的推一下式子。\(\sum(i-a_i)\bmodp=\sum(rk_i-i-p\times\lfloor\frac{rk_i-i}{p}\rfloor)=-p\times\sum\lfloor\frac{rk_i-i}{p}\rfloor,p=998244353\)于是,只需求出\(\sum\lfloor\frac{rk_i-......
  • [Algorithm] Two crystal balls problem
    You'regiventwoidenticalcrystalballsanda100-storybuilding.Theballsareincrediblytough,butthereexistssomefloorinthebuilding,abovewhichtheballswillbreakwhendropped,andbelowwhichtheywillnot.Youdon'tknowwhatthi......
  • ChatGPT还是有点东西的-public static <T> List<T> Arrays.asList(T... a) {...}
    背景业务开发需要判断业务状态是否在30、40、50、60的集合内,所以写了以下代码int[]inLiq={30,40,50,60};returnArrays.asList(inLiq).contains(o.getOrderStatus());自我Review代码时,验证了下这行代码,发现状态为30时,仍然返回false。在自我怀疑中调整代码,并验证,代码如下:......
  • 解决QNetworkConfigurationManager::onlineStateChanged不触发的具体操作步骤
    解决QNetworkConfigurationManager::onlineStateChanged不触发的问题作为一名经验丰富的开发者,我将向你解释如何解决"QNetworkConfigurationManager::onlineStateChanged不触发"的问题。首先,让我们了解一下整个流程,然后逐步进行代码实现。流程概述下面是解决问题的流程概述:......