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;
}

最新文章

  1. MATLAB中白噪声的WGN和AWGN函数的使用
  2. DotNetBar中ListViewEx控件的使用
  3. 图解SQL多表关联查询
  4. How to Fix Missing TortoiseSVN File Status Icons in Windows
  5. Java Concurrency - ThreadLocal, 本地线程变量
  6. [Javascript]史上最短的IE浏览器判断代码
  7. UIAlertController 自定义输入框及KVO监听
  8. 前端MVC Vue2学习总结(四)——条件渲染、列表渲染、事件处理器
  9. sentinel监控redis高可用集群(一)
  10. ubuntu切换java版本
  11. Django 2.0 官方文档翻译
  12. tomcat编译超过64k大小的jsp文件报错原因
  13. EnumUtil 链表转换工具类
  14. Spring AOP初级——入门及简单应用
  15. [原创]K8 DNN密码解密工具(DotNetNuke Password Decrypt)
  16. Vuejs 高仿饿了么外卖APP 百度云视频教程下载
  17. Notepad++7.5.4 设置主题,使用插件
  18. JUC线程池之 Callable和Future
  19. 触屏设备上的多点触碰检测C++代码实现
  20. 第二百五十六节,Web框架

热门文章

  1. spring-in-action-day04-配置属性 @ConfigurationProperties
  2. Python接口自动化测试(1)
  3. Cannot access child value on Newtonsoft.Json.Linq.JValue
  4. NOIP2022 总结
  5. Postgresql通过pg_waldump来分析pg_wal日志
  6. 封装avalonia指定组件允许拖动的工具类
  7. ubuntu18.04开机后NVIDIA显卡驱动加载失败
  8. (unsigned)short溢出后隐式转换为int
  9. Pytorch和torchvision版本号对应表
  10. 【C学习笔记】day5-3 编写代码模拟三次密码输入的场景