首页 > 其他分享 >小白月赛 F

小白月赛 F

时间:2022-12-31 18:22:54浏览次数:52  
标签:状态 小杜跑 int second 小白月赛 5e5

小杜跑酷

题链
DP肯定的
发现m只有5e5
我们该点要是跳板只会最多影响后面两列以及自己这一列的状态
所以状态最多就是3*m个
其他状态都是不变的

int dp[4][N*3];
bool mp[4][N*3];
void solve(){
    int n,m;cin>>n>>m;
    vector<pair<int,int>>a(m+1);
    for(int i=1;i<=m;i++){
        cin>>a[i].second>>a[i].first;
    }
    sort(all(a));
    vector<int>step(m+1);
    for(int i=1;i<=m;i++){
        int now=a[i].first-a[i-1].first;
        step[i]=step[i-1]+min(3ll,now);
        mp[a[i].second][step[i]]=true;
    }
    dp[1][1]=1;
    n=step[m]+1;
    for(int j=1;j<n;j++){
        for(int i=1;i<=3;i++){
            if(mp[i][j]){
                (dp[max(1ll,i-1)][min(n,j+1)]+=dp[i][j])%=mod;
                (dp[i][min(n,j+2)]+=dp[i][j])%=mod;
                (dp[min(3ll,i+1)][min(n,j+1)]+=dp[i][j])%=mod;
            }else{
                (dp[i][min(n,j+1)]+=dp[i][j])%=mod;
            }
        }
    }
    cout<<dp[1][n]<<endl;
    cout<<dp[2][n]<<endl;
    cout<<dp[3][n]<<endl;
}

标签:状态,小杜跑,int,second,小白月赛,5e5
From: https://www.cnblogs.com/ycllz/p/17017079.html

相关文章

  • 牛客小白月赛62
    A题是一道模拟题按照题目的意思模拟就行,B题是一道思维题,C题是一道数论的题,D题是一道思维题,E题是一道树上差分的问题,E题关于树上差分看了好多博客其实还是不太理解。A题#i......
  • 牛客小白月赛61 E.排队(组合数学)
    题目大意:对于n个数,求其所有可能排列中的逆序数之和解题思路:求每种排列逆序数之和,因为数字的顺序在变化,这对我们去计算总和很不利,所以我们转换思路我们可以先考虑数对(a......
  • 牛客小白月赛61 F 尺取法 前缀和
    题目的描述是多维的即有人数限制又有座位限制。但是每次选座位是连续的,这意味着可以利用尺取法贪心的求出以每个左端点为起始最小的合法的右端点。考虑如何求f(x)即x人......
  • 牛客小白月赛 61 题解
    前言以下内容转自官方首先,十分抱歉给大家带来了不好的比赛体验,下面是比赛中出的大锅。锅1:B题是出题人在读CSAPP时想到的一道小模拟,但在题目描述时出了问题,应该......
  • 牛客小白月赛61 B柜台结账
    原题链接#include<stdio.h>#include<string.h>#include<stdlib.h>constintN=1e5+10;chara1[N],a2[N];//分别为a1和a2的字符串intlena,lenb;//分别为a1和a2的字......
  • 牛客小白月赛60 E-寻找小竹!(数论)
    链接:https://ac.nowcoder.com/acm/contest/45670/E来源:牛客网题目大意:有n个城市,n-1条道路,每个城市都有它自己的优雅值ai而如果两个相邻的路口的优雅值存在至少两个共......
  • 牛客小白月赛60
    补一下题,c的状态方程都列出来了,但没想通d只剩几个样例没过没验出来,应该是连通性的问题,刚才换了个写法,都初始化成0x3f过了目录C.小竹关禁闭D游戏购买!C.......
  • 牛客小白月赛60 题解
    比赛通道:牛客小白月赛60前言第二次小白月赛没有AK,感觉自己可以原地退役了QAQ。这次F题理论上我能做出来,但是由于没有打表状态不佳,导致没有AK。A.小竹与妈妈思路这题......
  • 牛客小白月赛 54
    Asum把所有的数放进一个大根堆,然后每次取出最大的两个相加,累加到答案中去,并重新放回到大根堆。最大两数之和重新放入大根堆依旧是最大的数,所以可以优化成前缀和来做。#......
  • 牛客小白月赛55
    A至至子的等差中项#include<bits/stdc++.h>usingnamespacestd;int32_tmain(){inta,b;cin>>a>>b;cout<<b*2-a<<"\n";}B至至......