CodeForces - 1000D Yet Another Problem On a Subsequence

Posted jyyhh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces - 1000D Yet Another Problem On a Subsequence相关的知识,希望对你有一定的参考价值。

题面在这里!

 

    好智障的一个dp啊,一段开头的数字相当于下面要跟多少个数,直接滚动数组dp就行了。。。

 

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1005,ha=998244353;

inline void ADD(int &x,int y){ x+=y; if(x>=ha) x-=ha;}

int f[N],n,a[N];

int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",a+i);
	
	f[0]=1;
	
	for(int i=1,now;i<=n;i++){
		now=f[0];
		for(int j=0;j<n;j++) ADD(f[j],f[j+1]);
		if(a[i]>0&&a[i]+i<=n) ADD(f[a[i]],now);
	}
	
	ADD(f[0],ha-1),printf("%d
",f[0]);
	
	return 0;
}

 

以上是关于CodeForces - 1000D Yet Another Problem On a Subsequence的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces 903 G. Yet Another Maxflow Problem

Educational Codeforces Round 80. B - Yet Another Meme Problem

CodeForces 863D Yet Another Array Queries Problem 暴力

Codeforces 903G Yet Another Maxflow Problem - 线段树

codeforces div3 19/10/23A.Yet Another Dividing into Teams

CodeForces903G Yet Another Maxflow Problem 扫描线 + 线段树 + 最小割