悬赏5元,代码求调,思路是数位dp,具体看题目
  • 板块学术版
  • 楼主cccyyyxxx
  • 当前回复36
  • 已保存回复36
  • 发布时间2023/1/15 16:52
  • 上次更新2023/10/24 04:07:32
查看原帖
悬赏5元,代码求调,思路是数位dp,具体看题目
449051
cccyyyxxx楼主2023/1/15 16:52

题目传送门

#include<bits/stdc++.h>
#define Mod 1000000007
using namespace std;
long long n,dp[100005][2];
char s[100005];
int main()
{
	scanf("%s",&s+1);
	n=strlen(s+1);
	dp[0][1]=1;
	for(int i=1;i<=n;i++)
	{
		if(s[i]=='1')
		{
			dp[i][0]=(dp[i-1][1]+dp[i-1][0]*3)%Mod;
			dp[i][1]=(dp[i-1][1]*2)%Mod;
		}
		else
		{
			dp[i][0]=(dp[i-1][0]*3)%Mod;
			dp[i][1]=dp[i-1][1]%Mod;
		}
	}
	cout<<(dp[n][0]+dp[n][1])%Mod;
	return 0;
}
2023/1/15 16:52
加载中...