题目链接:https://codeforces.com/contest/1183/problem/H

题目大意:给一个长度为n的字符串,有没有至少k个不同的子序列,有的话输出最少的花费。每个子序列的花费为原串长度减去子序列长度。

思路:首先不考虑重复的情况下可以得到2^n个子序列,这中间有些是重复的要去掉。dp。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll pre[110];
ll dp[110][110];
char s[110];
int main()
{ll n,k,i,j;cin>>n>>k;cin>>(s+1);dp[0][0]=1;for(i=1;i<=n;i++){dp[i][0]=1;ll cc=i-pre[s[i]-'a'];for(j=1;j<=i;j++){dp[i][j]=dp[i-1][j-1]+dp[i-1][j];if(j>=cc&&pre[s[i]-'a']!=0)dp[i][j]-=dp[pre[s[i]-'a']-1][j-cc];dp[i][j]=min(dp[i][j],k);}pre[s[i]-'a']=i;}ll ans=0;for(i=0;i<=n;i++){if(k>dp[n][i]){ans+=dp[n][i]*i;k-=dp[n][i];}else{ans+=k*i;k=0;}if(k==0)break;}if(k==0)cout<<ans<<endl;else cout<<-1<<endl;
}

codeforces 1183H相关推荐

  1. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  2. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  3. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  4. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  5. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  6. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  7. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

  8. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  9. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

  10. [题解]RGB Substring (hard version)-前缀和(codeforces 1196D2)

    题目链接:https://codeforces.com/problemset/problem/1196/D2 题意: q 个询问,每个查询将给你一个由 n 个字符组成的字符串s,每个字符都是 &quo ...

最新文章

  1. leetcode 50 口诀
  2. C语言手写快排算法,两个值时也可以使用哦!
  3. 液晶拼接处理器_液晶拼接屏方案的制作和规划
  4. java glob paths_何时在JAVA的glob语法中使用**(双星)
  5. 笔记本--摄像头驱动--找不到相机--浏览器打开相机失败--未检测到摄像头--剩下的标题我就不想了--太长了
  6. centos 6.2   为mysql5.6.10安装 HandlerSocket插件
  7. js获取image中src属性的方法语句
  8. wxPython 入门教程.
  9. 综合实践活动信息技术小学版第三册电子课本_摆事实,讲道理!电子商务讲师证报名入口和费用...
  10. SageMath常用函数
  11. 聚合数据API接口测试详细步骤
  12. lua 利用os.data和os.time实现运营活动在客户端跨时区换算服务端所在时区时间戳
  13. Android 调用 系统选择器 选择 图片 或 文件(ACTION_PICK、ACTION_GET_CONTENT)
  14. 人工智能时代,教育革命迫在眉睫
  15. 基于yoloV7-pose添加任意关键点 + 多类别分类网络修改
  16. 计算机浏览器无法上网怎么办,电脑ie浏览器无法上网,浅析win10电脑ie浏览器无法上网的解决方法...
  17. 告诉你四川火锅的秘密配方
  18. 为什么要写博客,写博客有什么意义
  19. Docker速成过程中遇到的八个问题
  20. 航空发动机数据-C-MAPSS数据集的个人理解

热门文章

  1. 聊聊校招内推,意义/优缺点/如何抓住机会等
  2. linux 路由配置工具下载,Linux/Openwrt路由安装配置UPNP服务提高迅雷下载速度
  3. 变换AABB的快速算法
  4. 腾讯微博android版本,腾讯微博
  5. acm 算法 java_【经验总结】Java在ACM算法竞赛编程中易错点
  6. Codeforces C. Even Number Addicts
  7. SpringBoot 请求相关
  8. python hist函数_Python pandas.DataFrame.hist函数方法的使用
  9. C. Game Master(强连通分量,缩点,建图
  10. 前端获取北京时间_js获取北京时间