[考试反思]1108csp-s模拟测试105: 傀儡

评测机是真的老了。。。

我的脑力也老了。。。

昨天写完T3之后感觉脑子就留在那了,直到现在还感觉自己神志不清。。。

T1OJ上过了(跑得挺慢但是的确过了),但是文件评测同样是开O2居然只剩下70分。。。

T3全是1.02秒左右的TLE掉了25分。。。

没什么想说的,脑子不在。

[考试反思]1108csp-s模拟测试105: 傀儡

for循环用加法实现乘法。大神操作我自己都看不懂。

[考试反思]1108csp-s模拟测试105: 傀儡

论玩STL会变成什么样子。int映射为vector再迭代器遍历。

然而那个map除了增加复杂度什么用都没有。。。

 

T1:小W的魔术

这次还真的没有打表找规律。直接按照定义式子就出来了。

“枚举”左边匹配了i位,为了防止重复,第i+1位不能匹配。然后累加所有合法的串。

 1 #include<cstdio>
 2 #define mod 998244353
 3 #define LL long long
 4 LL qpow(LL b,LL t,LL a=1){for(;t;t>>=1,b=b*b%mod)if(t&1)a=a*b%mod;return a;}
 5 long long n,ans;int l;char s[1000005];
 6 main(){
 7     freopen("magic.in","r",stdin);
 8     freopen("magic.out","w",stdout);
 9     scanf("%lld%s",&n,s+1);
10     while(s[l+1])l++;
11     if(n==l)return printf("%lld\n",qpow(26,n)-1),0;
12     for(int i=0;i<l;++i)ans=(ans+25*qpow(26,n-l-1))%mod;
13     printf("%lld\n",(qpow(26,n)-(ans+qpow(26,n-l))+mod+mod)%mod);
14 }
快乐乘法

相关文章: