C - Perform the Combo
2024-09-08 18:48:09
C - Perform the Combo
思路:当读到这个题的时候,第一反应就是枚举,但是,无线超时,没办法,那就变,利用前缀和,减少时间。
代码:
#include<iostream>
#include<string>
#include<algorithm>
#define MAX 200005
using namespace std;
long long str[MAX];
long long b[28];
char s[MAX]; int main(){
int t,n, m;
scanf("%d", &t);
while (t--){
memset(str, 0, sizeof str);
memset(b, 0, sizeof b);
scanf("%d%d", &n, &m);
scanf("%s", s + 1);
for (int i = 1; i <= m; ++i){
long long a;
scanf("%lld", &a);
str[a] ++;
}
for (int i = n - 1; i >= 1; i--)
str[i] += str[i + 1];
for (int i = 1; i <= n; ++i){
b[s[i] - 'a'] += str[i] + 1;
}
for (int i = 0; i < 26; ++i) {
printf("%lld ", b[i]);
}
printf("\n");
}
return 0;
}
最新文章
- MATLAB中白噪声的WGN和AWGN函数的使用
- DotNetBar中ListViewEx控件的使用
- 图解SQL多表关联查询
- How to Fix Missing TortoiseSVN File Status Icons in Windows
- Java Concurrency - ThreadLocal, 本地线程变量
- [Javascript]史上最短的IE浏览器判断代码
- UIAlertController 自定义输入框及KVO监听
- 前端MVC Vue2学习总结(四)——条件渲染、列表渲染、事件处理器
- sentinel监控redis高可用集群(一)
- ubuntu切换java版本
- Django 2.0 官方文档翻译
- tomcat编译超过64k大小的jsp文件报错原因
- EnumUtil 链表转换工具类
- Spring AOP初级——入门及简单应用
- [原创]K8 DNN密码解密工具(DotNetNuke Password Decrypt)
- Vuejs 高仿饿了么外卖APP 百度云视频教程下载
- Notepad++7.5.4 设置主题,使用插件
- JUC线程池之 Callable和Future
- 触屏设备上的多点触碰检测C++代码实现
- 第二百五十六节,Web框架
热门文章
- spring-in-action-day04-配置属性 @ConfigurationProperties
- Python接口自动化测试(1)
- Cannot access child value on Newtonsoft.Json.Linq.JValue
- NOIP2022 总结
- Postgresql通过pg_waldump来分析pg_wal日志
- 封装avalonia指定组件允许拖动的工具类
- ubuntu18.04开机后NVIDIA显卡驱动加载失败
- (unsigned)short溢出后隐式转换为int
- Pytorch和torchvision版本号对应表
- 【C学习笔记】day5-3 编写代码模拟三次密码输入的场景