刷题之子序列中的 k 种字母

ops/2024/10/19 0:23:08/

子序列中的 k 种字母
https://kamacoder.com/problempage.php?pid=1028

#include<iostream>
#include<string>
#include<vector>
#include<cmath>
using namespace std;
#define mod 1000000007int main()
{int n=0;int k=0;cin>>n>>k;string s;cin>>s;vector<int>hash(26,0);for(int i = 0; i < n; i++){hash[s[i]-'a']++;}//dp[j] 表示选择 j 个字符的组合数量。vector<long long>dp(k+1);dp[0]=1;for(int i=0;i<26;i++){//对于每个小写字母(共 26 种),计算其对应的贡献xint x=((long long)pow(2,hash[i])%mod-1);//因为每个字符可以选择 0 到 hash[i] 次,选与不选就是pow(2,hash[i])-1for(int j=k;j>=1;j--){dp[j]=dp[j]+dp[j-1]*x;//在已经选择了 j-1 个字符的前提下,考虑添加当前字符的组合方式dp[j]=dp[j]%mod;//将结果对 mod 取余,以防止整数溢出}}cout<<dp[k]<<endl;
}

http://www.ppmy.cn/ops/36870.html

相关文章

五种IO模型

在《Unix网络编程》一书中提到了五种IO模型&#xff0c;分别是&#xff1a;阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。 下面就分别来介绍一下这5种IO模型的异同。 1.阻塞IO模型&#xff1a;当用户调用阻塞函数时&#xff0c;内核会监测有无数据就绪&#xff0c;有…

贪吃蛇大作战(C语言--实战项目)

朋友们&#xff01;好久不见。经过一段时间的沉淀&#xff0c;我这篇文章来和大家分享贪吃蛇大作战这个游戏是怎么实现的。 &#xff08;一&#xff09;.贪吃蛇背景了解及效果展示 首先相信贪吃蛇游戏绝对称的上是我们00后的童年&#xff0c;不仅是贪吃蛇还有俄罗斯⽅块&…

Unity C#的底层原理概述

文章目录 前言IL与IL2CPP总结 前言 看到底层二字&#xff0c;会感到很高深&#xff0c;好似下一秒就要踏入深渊。实际上&#xff0c;对于C#底层的理解非常简单&#xff0c;比冒泡排序这种基础算法还要简单。 底层的两种机制&#xff1a;Mono和IL2CPP。 IL2CPP其中的"2&qu…

《QT实用小工具·六十》Qt 多列时间轴控件

1、概述 源码放在文章末尾 Qt 多列时间轴控件。 可与多段字符串格式自由转换&#xff0c;也可手动添加列表项。 专门用来以时间轴作为事件线发展顺序的故事大纲。 特点 时间背包功能&#xff1a;记录所有物品或属性发生的变化&#xff0c;随时回溯 时间可输入任意内容&…

2023黑马头条.微服务项目.跟学笔记(二)

2023黑马头条.微服务项目.跟学笔记 二 app端文章查看&#xff0c;静态化freemarker,分布式文件系统minIO今日简介学习内容1.文章列表加载1.1 需求分析1.2 表结构分析思考:表的垂直拆分1.3 导入文章数据库1.3.1 导入数据库1.3.2 导入对应的实体类总结1.4 实现思路1.4.1 sql练习1…

Android:弹出对话框方式梳理一览(一)

Android&#xff1a;弹出对话框方式梳理一览&#xff08;一&#xff09; Guide&#xff5c;导言 在Android开发中&#xff0c;对话框可能是我们与用户交互的非常常用的方式&#xff0c;包括弹出一个小界面&#xff0c;可能在实际场景中都非常实用。本篇文章主要就是对Android弹…

MySQL学习笔记

一、数据库的操作 SHOW DATABASE;-- 显示所有数据库 CREATE DATABASE;-- 创建数据库 DROP DATABASE test1;-- 删除数据库 二、数据库常用数据类型 整数型&#xff0c;浮点型&#xff0c;定点型&#xff0c;字符串类型&#xff0c;时间型 三、表的基本操作 use demo1-- 选中…

001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮

文章目录 ProductController.javaProduct.javaElasticsearchSyncListener.javaProductElasticSearchMapper.javaProductMapper.javaProductDeletedEvent.javaProductServiceImpl.javaSyncProductService.javaIProductService.javaElasticSearchSpringDemoApplication.javaServl…