Letters[Codeforces-43B]

https://vjudge.net/problem/CodeForces-43B

Letters 43B
Codeforces Beta Round #42 (Div. 2)

时间限制 2000ms 内存限制 256MB

题目表述比较啰嗦,大意就是能不能用给定的字符串S1中的所有字符构成另一个字符串S2。只需要统计S1中每个字符出现的频率次数,在构造第二个串S2时,判断由S1提供的字符够不够用即可。至于统计结果的存放,依然使用到了ASCII码的下标对应关系。

 1 #include<iostream>
 2 using namespace std;
 3 char str1[1000], str2[1000];
 4 int letters[256] = { 0 };
 5 int main()
 6 {
 7     cin.getline(str1, 1000);
 8     cin.getline(str2, 1000);
 9     int i;
10     for (i = 0; str1[i] != 0; i++)
11         letters[str1[i]]++;
12     for (i = 0; str2[i] != 0; i++)
13     {
14         if (str2[i] != ‘ ‘)
15         {
16             letters[str2[i]]--;
17             if (letters[str2[i]] < 0)
18             {
19                 printf("NO");
20                 return 0;
21             }
22         }
23     }
24     printf("YES");
25     return 0;
26 }
时间: 2024-10-10 14:07:19

Letters[Codeforces-43B]的相关文章

Codeforces Round #253 (Div. 2) A. Anton and Letters

题目很简单,只需要注意带空格的输入用getline即可 #include <iostream> #include <vector> #include <algorithm> #include <string> #include <set> using namespace std; int main(){ string str; getline(cin,str); set<char> a; for(int i= 1 ; i < s

Codeforces 708A Letters Cyclic Shift

[题目链接] A. Letters Cyclic Shift time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given a non-empty string s consisting of lowercase English letters. You have to pick exactly one non-e

codeforces 1187 B Letters Shop

codeforces 1187 B Letters Shop 题意 有一个长度为n(0 < n <= \(2 * 10^5\))的字符串,有m(0 < m <= \(5 * 10^4\))次询问,每次询问输入一个字符串t(0 < |t| <= \(2 * 10^5\)),从n串里面取出所有a串的元素,需要取到第几个元素?(\(\quad\sum_{i=1}^{m}|t_i|≤2?10^5\)) 题解 直接暴力是会超时的,用一个二维数组来记录每一个字符出现的位置,然后每次

Codeforces Problem 708A Letters Cyclic Shift

 题目链接: http://codeforces.com/problemset/problem/708/A 题目大意: 从字符串s中挑选出一个子串(非空),将该子串中的每个字母均替换成前一个字母,如'b'换成'a','c'换成'b',以此类推,特别的,'a'要换成'z',问经过一次转换之后,字典序最小的字符串s为多少.注意“exactly one non-empty substring”这就意味着全'a'串也要变,即字符串"aaa",替换其中的字母(会使得字典序比原来大),但又要使字典

Codeforces Round #436 (Div. 2) B.Polycarp and Letters

因为难得又一次CF的比赛是非常清真的傍晚,超级少见啊 所以当然要打啦,于是rank:87,rating+=76,滞留在上紫的边缘 下面把几道觉得还不错的题目来总结一下 B.Polycarp and Letters Polycarp loves lowercase letters and dislikes uppercase ones. Once he got a string s consisting only of lowercase and uppercase Latin letters.

【CodeForces】F. Letters Removing

[题目]F. Letters Removing [题意]给定只含小写字母.大写字母和数字的字符串,每次给定一个范围要求删除[l,r]内的字符c(l和r具体位置随删除变动),求m次操作后的字符串.n<=2*10^5. [算法]树状数组+平衡树(set) [题解]因为坐标是序列变动后的,动态坐标可以转化为找到第l个存在的数字到第r个存在的数字之间的范围. 将序列中存在记为1,删除记为0,转化为找前缀和恰好为l和r的位置,这是树状数组的经典操作,详见这篇题解介绍的方法(简单的排名功能) 找到l和r在原

Codeforces 889F Letters Removing(二分 + 线段树 || 树状数组)

Letters Removing 题意:给你一个长度为n的字符串,然后进行m次删除操作,每次删除区间[l,r]内的某个字符,删除后并且将字符串往前补位,求删除完之后的字符串. 题解: 1 #include<set> 2 #include<iostream> 3 #include<string> 4 using namespace std; 5 #define lson l,m,rt<<1 6 #define rson m+1,r,rt<<1|1

Codeforces 1009G Allowed Letters 最大流转最小割 sosdp

Allowed Letters 最直观的想法是贪心取, 然后网络流取check可不可行, 然后T了. 想到最大流可以等于最小割, 那么我们状压枚举字符代表的6个点连向汇点是否断掉, 然后再枚举64个本质不同的位置, 是否需要切段原点联想它的边, 复杂度电磁check复杂度64 * 64 用sosdp能优化到64 * 6 #include<bits/stdc++.h> #define LL long long #define LD long double #define ull unsigned

CodeForces 709C Letters Cyclic Shift

贪心. 肯定是两个$a$之间的那些字符都$-1$,没有$a$就全部$-1$.如果输入的串全是$a$,那么把最后一个$a$改成$z$. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #inc

CodeForces 709C Letters Cyclic Shift (水题)

题意:给定一个字符串,让你把它的一个子串字符都减1,使得总字符串字典序最小. 析:由于这个题是必须要有一个字串,所以你就要注意这个只有一个字符a的情况,其他的就从开始减 1,如果碰到a了就不减了,如果到最后一位了还没开始减, 就减最后一位. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <c