2023JSCPC江苏省赛

2023江苏省赛

Dashboard - 2023 Jiangsu Collegiate Programming Contest, 2023 National Invitational of CCPC (Hunan), The 13th Xiangtan Collegiate Programming Contest - Codeforces

I - Elevator

void solve()
{
    cin>>n>>m;
    cout<<n-m+1<<endl;
}

H - Neil's Machine

J - Similarity (Easy Version)

A - Today's Word

思路:

考虑当Sk长度超过2m时,再进行一次操作后,其长度为$ mnext(·)mS_0$按构造方式 操作,求出一个长度大于2mSk,取Sk长度为m的后 缀进行next(·)变换即可。 容易观察到next(·)变换操作的循环节为26,因此只需对这个后缀进行(10100k)mod26next(·)变换即可,也就是将这个长为m的后缀中的每个字母变为它后面第 (10100k)mod26个字母,经过简单计算即可求出

F - Timaeus

题意:

你有A个原料,每B个合成一个产品。每一次合成你可以选择下列两种buff的任意一种:

1.P%的概率合成双倍产物

2.Q%的概率返还一个原料 求期望最多合成多少产物。

思路:

dp[i]表示还剩下i个原料时的最大期望,则dp[i]=max{P×(dp[iB]+2)+(1P)×(dp[iB]+1),Q×(dp[iB+1]+1)+(1Q)×(dp[iB]+1)

B=1时选择第二种buff是最优的,有Q的概率不需要花费,也就是1Q的概率消耗一个原料,

K - Similarity (Hard Version)

题意:

构造n个不同的长度为k的只由小写字符组成的字符串, 使得其两两之间最长公共子串的最大值等于m

思路:
  • m=0,n>26时,无解
  • m0,m>=k时,无解

m=0时,直接输出长度为k的只由第i个字母组成的小写字母组成的串即可。

m0时,构造出a1a2a1a2a1a2a1a2···的字符串

那么对于这种类型的串一共有25×(251)2=300种,两两之 间的最长公共子串长度均不超过1。

那么答案构造即可为,取上述形式的串前km+1位,拼上m1位z即可得到满足题目要求的n个串。

posted @   Danc1ng  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示