- 2023-06-19CodeStar2023年春第12周周赛普及进阶组
T1:SequenceMatching本题难度中等,序列匹配问题,一般都可以考虑用类似公共子序列的DP方法。本题正是如此,考虑数组\(a\)的前缀和数组\(b\)的前缀匹配时,\(x+y\)的最小值,推出状态转移即可记dp[i][j]表示将\(a_1\sima_i\)与\(b_1\simb_j\)中删掉\(x\)个后不同位置个
- 2023-06-13CodeStar2023年春第11周周赛普及进阶组
T1:等差数本题难度中等,公差等于\(0\)的等差数只含一种数码,公差不等于\(0\)的等差数只有几百个。所以本题的方针是先把公差不等于\(0\)的等差数都找出来。在公差等于\(0\)和公差不等于\(0\)的两类中分别找大于\(n\)的最小树,两者较小的就是答案。T2:炼金工坊补充道具本
- 2023-05-29CodeStar2023年春第9周周赛普及进阶组
T1:奇怪的银行可以直接把\(1,6^p,9^p\)当做物品大小,跑一遍完全背包。时间复杂度为\(\mathcal{O}(n\logn)\)记dp[i][j]表示前\(i\)种面值恰好凑出\(j\)元的最少张数转移:\[dp[i][j]=\min(dp[i-1][j],dp[i][j-w_i]+1)\]代码实现#include<bits/stdc++.h>#defin
- 2023-04-24CodeStar2023年春第6周周赛普及进阶组
T1:最长倍数序列本题难度中等,先把\(a\)从小到大排序。dp[i]表示以\(a_i\)结尾的倍数序列。转移如下:只有\(a_i\),对应长度\(dp[i]=1\)上一个数是\(a_j(1\leqslantj\leqslanti-1)\),若\(a_j\)是\(a_i\)的约数,就更新\(dp[i]=\max(dp[i],dp[j]+1)\)最终答
- 2023-04-17CodeStar2023年春第5周周赛普及进阶组
T1:分段求平均数本题难度中等,划分型DP问题。用dp[i]表示前\(i\)个数最少划分成几段,对\(j=1,2,\cdots,i-1\)判断从\(a_j\)到\(a_i\)划分成一段时,平均数是否为整数,如果是整数,就更新\(dp[i]=\max(dp[i],dp[j-1]+1)\)初始值:\(dp[i]=i\)代码实现#include<b
- 2023-04-13CodeStar2023年春第4周周赛普及奠基组
T1:字符串加密(二)本题难度简单,是一个模拟题,注意\(k\)可能非常大,需要先模\(26\)。代码实现#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;intmain(){stringm;cin>>m;llk;cin>>k;k%=26;stringans;
- 2023-04-06CodeStar2023年春第3周周赛普及奠基组
T1:字符串加密本题难度简单,根据题目描述模拟即可。代码实现#include<bits/stdc++.h>usingnamespacestd;intmain(){strings;cin>>s;for(char&c:s){if(islower(c))c-=32;elsec+=32;}reverse(s.beg
- 2023-03-27CodeStar2023年春第2周周赛普及进阶组
T1:递推134数本题难度中等,递推计数问题,需要使用高精度