题意:


题意是可放回的选择k次,要求每次选出的子序列本质不同,总花费是每次花费的和。

数据范围:n,k<=100

解法:

显然先选择长的,然后选择短的,考虑到数据范围非常小(<=100),
可以用bfs做,bfs的好处是队列前面的都是长度大的.

code:

#include <bits/stdc++.h>
using namespace std;
signed main(){int n,k;cin>>n>>k;string s;cin>>s;queue<string>q;q.push(s);map<string,int>mark;mark[s]=1;int ans=0;while(!q.empty()&&k){string x=q.front();q.pop();ans+=n-x.size();k--;int len=x.size();for(int i=0;i<len;i++){//枚举删掉的位置string temp=x.substr(0,i)+x.substr(i+1,len-i-1);if(!mark[temp]){mark[temp]=1;q.push(temp);}}}if(k)ans=-1;cout<<ans<<endl;return 0;
}

Codeforces1183 E. Subsequences (easy version)(bfs)相关推荐

  1. python扫雷 广度优先_Leetcode之广度优先搜索(BFS)专题-529. 扫雷游戏(Minesweeper)...

    Leetcode之广度优先搜索(BFS)专题-529. 扫雷游戏(Minesweeper) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. N叉树的层序遍历(N-ary Tre ...

  2. 三十二、图的创建深度优先遍历(DFS)广度优先遍历(BFS)

    一.图的基本介绍 为什么要有图 前面我们学了线性表和树 线性表局限于一个直接前驱和一个直接后继的关系 树也只能有一个直接前驱也就是父节点 当我们需要表示多对多的关系时, 这里我们就用到了图. 图的举例 ...

  3. Java实现算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)

    对算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)用Java实现其中的伪代码算法,案例也采用算法导论中的图. import java.util.ArrayList; import java ...

  4. 【洛谷】马的遍历--广度优先搜索(BFS)

    题目描述 传送门:https://www.luogu.com.cn/problem/P1443 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意 ...

  5. 二叉搜索树(BFS)总结

    满二叉树 定义:高度为h,并且由2{h} –1个结点的二叉树,被称为满二叉树. 完全二叉树 定义:一棵二叉树中,只有最下面两层结点的度可以小于2,并且最下一层的叶结点集中在靠左的若干位置上.这样的二叉 ...

  6. 广度优先搜索(BFS)与深度优先搜索(DFS)

    一.广度优先搜索(BFS) 1.二叉树代码 # 实现一个二叉树 class TreeNode:def __init__(self, x):self.val = xself.left = Nonesel ...

  7. 二叉树的深度优先遍历(DFS)与广度优先遍历(BFS)

    二叉树的深度优先遍历(DFS)与广度优先遍历(BFS) 深度优先遍历:从根节点出发,沿着左子树方向进行纵向遍历,直到找到叶子节点为止.然后回溯到前一个节点,进行右子树节点的遍历,直到遍历完所有可达节点 ...

  8. 层层递进——宽度优先搜索(BFS)

    问题引入 我们接着上次"解救小哈"的问题继续探索,不过这次是用宽度优先搜索(BFS). 注:问题来源可以点击这里 http://www.cnblogs.com/OctoptusLi ...

  9. 从起始点到目标点的最短步数(BFS)

    从起始点到目标点的最短步数(BFS) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在古老的魔兽传说中,有两个军团,一 ...

  10. 队列的JS实现及广度优先搜索(BFS)的实现

    队列是先进先出(FIFO)的数据结构,插入操作叫做入队,只能添加在队列的末尾:删除操作叫做出队,只能移除第一个元素.在JS中,用数组可以很简单的实现队列. function Queue () {thi ...

最新文章

  1. pandas中DataFrame的apply()方法和applymap()方法,以及python内置函数map()
  2. 人工智能离我们有多远/近?
  3. stm32多块开发板can总线互联卡死问题
  4. 不止代码:ybtoj-消除木块(区间DP)
  5. Commerce Server 2002 Starter Site and 2006 overview
  6. linux 软件下载后无法安装不了怎么办,Firefox无法安装怎么办
  7. 关于邮件服务器应用系统安全SSL ×××(强身份认证)方案
  8. 员工管理的html页面,员工管理.html
  9. Ubuntu c++调用python脚本(Anaconda)
  10. 此计算机屏保怎么取消,如何取消屏幕保护
  11. 【历史上的今天】 5 月 5 日:微软发布 Windows 98 SE ;领英上线;键盘布局的改革者
  12. AMS1117和LM2596S芯片的问题总结
  13. css改变权重,1. CSS 权重
  14. 学计算机投影仪定义,一种计算机信息技术教学用投影仪的制作方法
  15. centos7挂载nas存储_CentOS 7配置NAS(网络共享存储)
  16. 解决K8S节点NotReady状态
  17. MAC查看软件安装路径
  18. SpringBoot的banner竟然可以用美女图片在线制作,难以相信
  19. 张爱玲 《烬余录》 阅感
  20. linux at 邮箱,linux at 命令详解

热门文章

  1. 参数化设计的意义——Autodriver
  2. 如何调用Sphinx
  3. 密苏里大学理工学院计算机,美国密苏里大学工学院计算机系主任Dong Xu教授访问我校...
  4. 简单说 通过CSS实现 文字渐变色 的两种方式
  5. 计算机等级考试三级信息安全知识整理
  6. 【MATLAB】MATLAB 可视化之曲面图与网格图
  7. Dungeon Game
  8. 项目管理软件推荐:项目计划变更管理太方便了
  9. Java集合--------16
  10. 78 python - 打飞机案例(让敌机移动)