CF1311C. Perform the Combo题解
description:
- 给定一个长度为 nnn 小写字母字符串 sss。(这里默认下标从 111 开始)
- 给定一个长度为 mmm 的数列 pip_ipi。
- 对于每一个 pip_ipi,表示你要统计 s1∼spis_1\sim s_{p_i}s1∼spi所对应的字母各一次。
- 最终,你还要统计整个字符串的字母各一次。
- 你需要求出 262626 个小写字母中每个字母被统计过的次数。
- 多组数据,数据组数不超过 10410^4104,2≤n≤2×1052\le n\le 2\times 10^52≤n≤2×105,1≤m≤2×1051\le m\le 2\times 10^51≤m≤2×105。
- translate by @ShineEternal。
solution:
数据范围比较大,我们没法一一枚举,于是可以使用前缀和。
用前缀和将每一个位置的各个字母的出现次数进行提前统计,遇到 pip_ipi 的时候 O(1)O(1)O(1) 查询就行了。
code:
#include<cstdio>
#include<algorithm>
using namespace std;
int p[200005];
char s[200005];
int mp[200005][30];
int Mp[30];
int main()
{int T;scanf("%d",&T);while(T--){for(int i=1;i<=30;i++)Mp[i]=0;int n,m;scanf("%d%d",&n,&m);scanf("%s",s);//printf("%s\n",s);for(int i=1;i<=m;i++){scanf("%d",&p[i]);}p[m+1]=n;m++;for(int i=1;i<=26;i++)mp[0][i]=0;mp[0][s[0]-'a'+1]++;for(int i=1;i<n;i++){for(int j=1;j<=26;j++)mp[i][j]=mp[i-1][j];mp[i][s[i]-'a'+1]++;}for(int i=1;i<=m;i++){for(int j=1;j<=26;j++){Mp[j]+=mp[p[i]-1][j];}}for(int i=1;i<=26;i++){printf("%d ",Mp[i]);}printf("\n");}return 0;
}
CF1311C. Perform the Combo题解相关推荐
- CF1311C Perform the Combo 题解
题目:Link 暴力 - 前缀和 一道比较有趣的前缀和练习题 可以看出,题目有多次求 1∼pi1\sim p_i1∼pi 上每个字母的数量.我们可以很轻松的用前缀和解决,只是需要多开一维记录字母 设 ...
- Perform the Combo CodeForces - 1311C(字符串反转+树状数组)
You want to perform the combo on your opponent in one popular fighting game. The combo is the string ...
- codeforce 1311 C. Perform the Combo 前缀和
You want to perform the combo on your opponent in one popular fighting game. The combo is the string ...
- Codeforces 1311C Perform the Combo
这里我使用的是动态规划的方法,先对一串字符串计算它的前缀和. 核心代码 for(int i=0;i<len;i++) {if (i>0)for(int q=0;q<26;q++){ ...
- 集训队每周一赛2020-03-06(思维+暴力)
第二次周赛 A 我是A题 CodeForces 1305 题解 B 我是B题 计蒜客 A1530 题解 C 我是C题 HDU 2673 题解 D 我是D题 CodeForces 304B 题解 E 我 ...
- The 10th Zhejiang Provincial Collegiate Programming Contest 蒻菜的水题题解。
http://acm.zju.edu.cn/onlinejudge/contestInfo.do?contestId=347 今天参加了今年的浙江省赛网络同步赛(?),被虐得很惨... 做了五道水题只 ...
- 洛谷 CF7E Defining Macros 题解
题意翻译 题目给了一系列C + +的宏定义,问你一个表达式是否是"安全"的.安全的定义是,展开后的表达式中,所有的宏在计算过程中都被作为一个整体运算. 如#define sumx十 ...
- AtCoder题解 —— AtCoder Grand Contest 050 —— B - Three Coins —— 动态规划
题目相关 题目链接 AtCoder Grand Contest 050 B 题,https://atcoder.jp/contests/agc050/tasks/agc050_b. Problem S ...
- #2020.02.05训练题解#最小生成树入门(F题)
题源CF-1108 CF-1108-MST Unification Description You are given an undirected weighted connected graph w ...
最新文章
- 在微服务架构中做机器学习,真的太难了
- win7 mysql8.0.11安装教程_Win7系统安装 MySQL 8.0.11
- java cron表达式_Java 程序员都应该去使用一下这款强大的国产工具类库
- 56.ISE综合,在chipscope信号列表看不到
- 数据结构与算法(Python)– 回溯法(Backtracking algorithm)
- mysql 过滤相同数据库_MySQL数据库查询中的重复记录过滤
- 作者:陈钧,男,中国国防科技信息中心高级工程师、研究室主任。
- Nginx支持WebSocket反向代理-学习小结
- 在Visual Studio Code运行单个js文件需要用到插件
- Python:PyCharm提示Local variable ‘x‘ value is not used
- mysql的字段长度_【mysql】字段类型和长度的解释
- Linux 下的这些高效指令,是你快速入门运维的神器
- LCD1602芯片的使用——简单易懂
- 很舒服的几句话,心静,人就不会累了
- SAP MM 采购信息记录中价格单位转换因子的修改
- java获得指定时间的前几天或后几天是哪一天
- 2020年Web前端学习网站导航
- 若依前端分离框架-修改关于若依文字的网页标题
- 普通打印机如何打印条形码
- Python与人工神经网络(2)——使用神经网络识别手写图像
热门文章
- mysql导入.dmf文件_DMF文件扩展名 - 什么是.dmf以及如何打开? - ReviverSoft
- vue2组件系列第二节:按钮
- SpringCloudAlibaba学习-加入Dubbo
- 操作系统上的堆栈——极品解释
- excel中获取汉字的首字母
- Java、JSP校园二手商品交易平台的设计与实现
- grumble.js-非常酷的气泡提示插件
- 一键ghost v11 build 070707 优盘版 官方
- python从0到100_python 100_python100天从新手到大师_pythong0~100的质数 - 云+社区 - 腾讯云...
- python面向对象(乐高编程语言)