#include<bits/stdc++.h>
using namespace std;
const long long mod=998244353;
int n;
int a[100007];
long long dp[100007][207][3];//第i位值为j时k是否成立,k=0,i<i-1,k=1,i==i-1,k=2,i>i-1


int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    for(int i=1;i<=200;i++){
        if(a[1]!=-1&&a[1]!=i)
            dp[1][i][0]=0;
        else
            dp[1][i][0]=1;
        dp[1][i][1]=dp[1][i][2]=0;
    }
    long long sum=0;
    for(int i=2;i<=n;i++){
        sum=0;
        for(int x=1;x<=200;x++){
            if(a[i]!=-1&&a[i]!=x)
                dp[i][x][0]=0;
            else
                dp[i][x][0]=sum;
            sum+=(dp[i-1][x][0]+dp[i-1][x][1]+dp[i-1][x][2])%mod;
            sum%=mod;
        }
        for(int x=1;x<=200;x++){
            if(a[i]!=-1&&a[i]!=x)
                dp[i][x][1]=0;
            else
                dp[i][x][1]=(dp[i-1][x][0]+dp[i-1][x][1]+dp[i-1][x][2])%mod;
        }
        sum=0;
        for(int x=200;x>=1;x--){
            if(a[i]!=-1&&a[i]!=x)
                dp[i][x][2]=0;
            else
                dp[i][x][2]=sum;
            sum+=(dp[i-1][x][1]+dp[i-1][x][2])%mod;
            sum%=mod;
        }
    }
    long long ans=0;
    for(int i=1;i<=200;i++)
        ans+=(dp[n][i][1]+dp[n][i][2])%mod,ans%=mod;
    printf("%lld",ans);
    return 0;

}

Codeforces Round #518 (Div. 2) D(计数DP)的更多相关文章

  1. Codeforces Round #518 (Div. 2) [Thanks, Mail.Ru!]

    Codeforces Round #518 (Div. 2) [Thanks, Mail.Ru!] https://codeforces.com/contest/1068 A #include< ...

  2. Codeforces Round #131 (Div. 1) B. Numbers dp

    题目链接: http://codeforces.com/problemset/problem/213/B B. Numbers time limit per test 2 secondsmemory ...

  3. Codeforces Round #131 (Div. 2) B. Hometask dp

    题目链接: http://codeforces.com/problemset/problem/214/B Hometask time limit per test:2 secondsmemory li ...

  4. Codeforces Round #276 (Div. 1) D. Kindergarten dp

    D. Kindergarten Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/proble ...

  5. Codeforces Round #260 (Div. 1) A - Boredom DP

    A. Boredom Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/455/problem/A ...

  6. Codeforces Round #533 (Div. 2) C.思维dp D. 多源BFS

    题目链接:https://codeforces.com/contest/1105 C. Ayoub and Lost Array 题目大意:一个长度为n的数组,数组的元素都在[L,R]之间,并且数组全 ...

  7. Codeforces Round #539 (Div. 2) 异或 + dp

    https://codeforces.com/contest/1113/problem/C 题意 一个n个数字的数组a[],求有多少对l,r满足\(sum[l,mid]=sum[mid+1,r]\), ...

  8. Codeforces Round #374 (Div. 2) C. Journey DP

    C. Journey 题目连接: http://codeforces.com/contest/721/problem/C Description Recently Irina arrived to o ...

  9. Codeforces Round #202 (Div. 1) D. Turtles DP

    D. Turtles Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/547/problem/B ...

随机推荐

  1. c++能过,g++过不了

    可能原因: 1.  输出double类型数据时,不能用%lf,应该用%f(详见 关于输出用%lf和%f的问题 ) double n=100; 代码1:错误 c++--------accepted g+ ...

  2. jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别

    http://www.poluoluo.com/jzxy/201312/253059.html 在这个sprint中,因为要写前端UI,所以用到了jQuery,但是jQuery在向上遍历DOM树的AP ...

  3. 原生js图片懒加载特效

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Java_总结_00_资源贴

    1.Java程序员从笨鸟到菜鸟 (http://blog.csdn.net/column/details/java.html) 2. java进阶开发(http://blog.csdn.net/col ...

  5. javaScript-基础篇(二)

    1.DOM概念 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树) 将HTML代码 ...

  6. codeforces 776C Molly's Chemicals(连续子序列和为k的次方的个数)

    题目链接 题意:给出一个有n个数的序列,还有一个k,问在这个序列中有多少个子序列使得sum[l, r] = k^0,1,2,3…… 思路:sum[l, r] = k ^ t, 前缀和sum[r] = ...

  7. BEC listen and translation exercise 37

    You're supposed to do that before 10.30 in the morning, but obviously, if it's an emergency, you can ...

  8. Convolutional Neural Networks for Visual Recognition 1

    Introduction 这是斯坦福计算机视觉大牛李菲菲最新开设的一门关于deep learning在计算机视觉领域的相关应用的课程.这个课程重点介绍了deep learning里的一种比较流行的模型 ...

  9. C语言小程序(二)、计算第二天日期

    输入一个日期,判断下一个日期是哪一天,如果日期输入错误,则调用Linux下的cal命令显示输入的月份. #include <stdio.h> #include <stdlib.h&g ...

  10. Linux 下网卡参数配置

    目录 Linux 下网卡参数配置 第一种:修改 interfaces 文件 网卡配置实例 回环参数配置 DHCP方式配置 静态 IP 地址分配 无线网卡配置 March 17, 2015 7:48 P ...