首页 > TAG信息列表 > P1026
P1026 [NOIP2001 提高组] 统计单词个数
题目描述 给出一个长度不超过 200200 的由小写英文字母组成的字母串(该字串以每行 2020 个字母的方式输入,且保证每行一定为 2020 个)。要求将此字母串分成 kk 份,且每份中包含的单词个数加起来总数最大。 每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用洛谷 P1026 统计单词个数(字符串+DP)
题目链接:https://www.luogu.com.cn/problem/P1026 关于字符串的函数: 1. s.substr(x,len) 在s中取出从x位置开始,长度为len的字符串,并返回string类型的字符串。 2. s.find(a) 在s中查找字符串a,并返回起始下标(从0开始),若不存在,返回1844674407370955161,即(1999999999999999)16.洛谷P1026统计单词个数题解
好久没搞dp了.jpg 题目 它康起来是个\(dp\) 我们可以设\(dp[i][j]\)表示前\(i\)个字母分成\(j\)段的单词之和最大值 在\(dp\)的时候枚举新一段的断点即可 但是我们需要预处理出\([i,j]\)这一段所包含的符合条件的单词个数,设其为\(cnt[i][j]\) 因为文本串中,每个字母只能引导一个单P1026 翻硬币
题目描述 小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:**oo***oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相P1026 统计单词个数——substr
P1026 统计单词个数 string 基本操作: substr(x,y) x是起始位置,y是长度; 返回的是这一段字符串; 先预处理sum[i][j],表示以i开头,最多的单词数; 从后往前寻找,保证开头没有被用过; sum[i][j]=sum[i+1][j]; 再找是否有新单词出现; s.find()==0说明找到单词以开头开始; 然后dp,f[i][j