[考试反思]0920csp-s模拟测试48:弱小

[考试反思]0920csp-s模拟测试48:弱小

注:T1全场46个人里42个AC了。

%%%zkt也AK了呢越来越强啊

我是真的越来越弱了吗?

我到底在干什么。。。

在难度递增的题里分数递增。。。

考试过程大体还好,但是如此快速地WA掉T1也真是蠢得不行了。

T2没想到bitset,对1500这种数据范围还是不敏感。

T3想出来还是挺快的,注意观察数据范围就万事大吉。(二进制相关的题我的得分平时都不太低,是撞大运了?)

然后给T2和T3都上了个对拍,T3出锅了剩30分幸亏改过来了。

然而感觉T1实在太傻逼了暴力和正解是一个复杂度的就没打,手模几个样例就结束了。

题目的样例和手模的样例都在字串和子序列下答案相同。。。

但是这次不是看错题了,我也知道是子串,但是打到一半没过脑子就飘移到子序列上了。(因为原来做过一个那个题)

我,傻子,太弱了。

不要轻视最简单的题,你A不掉的!该打对拍还是要对拍。

bitset是出题人很喜欢的一个考点,1500的数据范围可能指向n3/32

 

T1:String Master

简单dp或硬匹配。

自行找不同?EXP++

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 char a[305],b[305];int n,k,dp[305][305][305];
 5 int main(){
 6     scanf("%d%d%s%s",&n,&k,a+1,b+1);
 7     for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)for(int l=0;l<=k;++l){
 8         if(a[i]==b[j])dp[i][j][l]=max(dp[i][j][l],dp[i-1][j-1][l]+1);
 9         if(l)dp[i][j][l]=max(dp[i][j][l],dp[i-1][j-1][l-1]+1);
10         dp[i][j][l]=max(dp[i][j][l],max(dp[i-1][j][l],dp[i][j-1][l]));
11     }printf("%d\n",dp[n][n][k]);
12 }
10分的子序列版本

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案