昨天基础赛T2求调
  • 板块学术版
  • 楼主Escapism
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/3/24 08:53
  • 上次更新2024/3/24 10:31:42
查看原帖
昨天基础赛T2求调
361505
Escapism楼主2024/3/24 08:53

RT,40分,对前两个子任务。不知道挂哪了。

思路很简单,就是用所有长度为 nn 的字符串的数量,减去没有 a 以及没有 b 长度为 nn 字符串的数量(两种),再加上既没有 a 也没有 b 的字符串数量。

准确而言就是 26n−2×25n+24n26^n-2\times25^n + 24^n。

#include<bits/stdc++.h>
using namespace std;

const long long MOD = 998244353;
long long Pow(long long x,long long y){
	long long ans = 1;
    while(y != 0){
        if (y % 2 == 1) ans = ans * x % MOD;
        y /= 2,x = x * x % MOD;
    }
	return ans % MOD;
}
int main(){
	int t;
	cin>>t;
	while(t--){
		long long a;
		cin>>a;
		a %= MOD;
		long long ans = (Pow(26,a) % MOD - 2 * Pow(25,a) % MOD) % MOD + Pow(24,a) % MOD;
		cout<<ans % MOD<<endl;
	}
}

记录

2024/3/24 08:53
加载中...