【SRM 717 div2 B】LexmaxReplace
Problem Statement
Alice has a string s of lowercase letters. The string is written on a wall.
Alice also has a set of cards. Each card contains a single letter. Alice can take any card and glue it on top of one of the letters of s. She may use any subset of cards in this way, possibly none or all of them. She is not allowed to glue new letters in front of s or after s, she can only replace the existing letters.
Alice wants to produce the lexicographically largest possible string.
You are given the string s. You are also given a string t. Each character of t is a letter written on one of the cards. Compute and return the lexicographically largest string Alice can produce on the wall while following the rules described above.
Definition
Class:
LexmaxReplace
Method:
get
Parameters:
string, string
Returns:
string
Method signature:
string get(string s, string t)
(be sure your method is public)
Limits
Time limit (s):
2.000
Memory limit (MB):
512
Stack limit (MB):
512
Notes
Given two distinct strings X and Y of the same length, the lexicographically larger one is the one that has a larger character on the first position on which they differ.
Constraints
s will contain between 1 and 50 characters, inclusive.
t will contain between 1 and 50 characters, inclusive.
s will contain only lowercase English letters (‘a’ - ‘z’).
t will contain only lowercase English letters (‘a’ - ‘z’).
Examples
0)
“abb”
“c”
Returns: “cbb”
Alice has a single card. This card contains the letter ‘c’. The optimal solution is to glue it on top of s[0], producing the string “cbb”.
1)
“z”
“f”
Returns: “z”
Here the optimal solution is to do nothing. The card with the letter ‘f’ will remain unused.
2)
“fedcba”
“ee”
Returns: “feeeba”
3)
“top”
“coder”
Returns: “trp”
4)
“xldyzmsrrwzwaofkcxwehgvtrsximxgdqrhjthkgfucrjdvwlr”
“xfpidmmilhdfzypbguentqcojivertdhshstkcysydgcwuwhlk”
Returns: “zyyyzyxwwwzwvuuttxwtssvtssxrqxppqrontmmllukrkjvwlr”
【题目链接】:
【题意】
你有最多50个字符集合,
每个字符最多只能用一次;
(所有字符只包含小写字母)
然后给你一个字符串s;
让你使用这个字符集合里面的字符,去代替字符串s的每一位,使得这个字符串s的字典序达到最大;
【题解】
顺序枚举每一位,对于每一位,找一找有没有比这个字母的字典序大的字符,有的话,就用那个代替这一位上面的字母;
没有就跳过;
【Number Of WA】
0
【反思】
比较明显的题。
【完整代码】
#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define ms(x,y) memset(x,y,sizeof x)
#define Open() freopen("F:\\rush.txt","r",stdin)
#define Close() ios::sync_with_stdio(0)
typedef pair<int,int> pii;
typedef pair<LL,LL> pll;
const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int N = 110;
//head
map <char,int> dic;
class LexmaxReplace
{
public:
string get(string s, string t)
{
rep1(i,0,(int) t.size()-1){
dic[t[i]]++;
}
rep1(i,0,(int) s.size()-1){
for (char key = 'z';key>=s[i]+1;key--)
if (dic[key]>0){
dic[key]--;
s[i] = key;
break;
}
}
return s;
}
};
【SRM 717 div2 B】LexmaxReplace的更多相关文章
- 【SRM 717 DIV2 C】DerangementsDiv2
Problem Statement You are given two ints: n and m. Let D be the number of permutations of the set {1 ...
- 【SRM 717 div2 A】 NiceTable
Problem Statement You are given a vector t that describes a rectangular table of zeroes and ones. Ea ...
- 【Codeforces #312 div2 A】Lala Land and Apple Trees
# [Codeforces #312 div2 A]Lala Land and Apple Trees 首先,此题的大意是在一条坐标轴上,有\(n\)个点,每个点的权值为\(a_{i}\),第一次从原 ...
- 【TP SRM 703 div2 250】AlternatingString
Problem Statement A string of zeros and ones is called an alternating string if no two adjacent char ...
- 【TP SRM 703 div2 500】 GCDGraph
Problem Statement You are given four ints: n, k, x, and y. The ints n and k describe a simple undire ...
- 【cf 483 div2 -C】Finite or not?(数论)
链接:http://codeforces.com/contest/984/problem/C 题意 三个数p, q, b, 求p/q在b进制下小数点后是否是有限位. 思路 题意转化为是否q|p*b^x ...
- 【市场调研与分析】Intel发力移动安全领域——By Me at 20140613
[市场调研与分析]Intel发力移动安全领域 ...
- 【疯狂造轮子-iOS】JSON转Model系列之二
[疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...
- 【疯狂造轮子-iOS】JSON转Model系列之一
[疯狂造轮子-iOS]JSON转Model系列之一 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 之前一直看别人的源码,虽然对自己提升比较大,但毕竟不是自己写的,很容易遗 ...
随机推荐
- (转载) Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题 标签: scrollviewandroid滑动嵌套 2015-07-16 17:24 1112 ...
- Git 环境安装
本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.14.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit: ...
- pic减法进位问题
1.pic指令中subwf是 F - Wreg,且如果F>=Wreg,则C=1:如果F<Wreg,则C=0:这是由于pic的减法是加上减数的补码实现的.例如3-2,其实是3+FE=01,进 ...
- 74HC165应用
管脚定义与内部逻辑图 注1:其中控制管脚有3个:SH/LD-QH-CLK,CLK INH硬件接VSS,SER和QH'悬空 原理:先拉低SH/LD,A-H置入芯片内部寄存器中,然后拉高SH/LD,锁住A ...
- ActiveMQ学习笔记(21)----ActiveMQ集成Tomcat
1. 监控和管理Broker Web Console 方式:直接访问ActiveMQ的管理页面:http://localhost:8161/admin,默认的用户名和密码是admin/admin.具体 ...
- JSON string 在内存中转流 MemoryStream 代码,以及需要注意的问题utf-8问题
MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes("字符串"); string str = ...
- pagination使用说明
参考自张鑫旭 准备工作 下载jquery.min.js 下载jquery.pagination.js 下载pagination.css 开始敲代码 第一步,引入刚刚下载的三个文件 <link r ...
- socket网络编程登录实现及多客户端和服务端的数据交互
一.TCP/IP 客户端 package com.demo.entity; import java.io.Serializable; public class UserInfo implements ...
- B. Recursive Queries 打表
Code: #include<cstdio> #include<iostream> #include<algorithm> #include<cstring& ...
- NOIp2018模拟赛四十五~??
欠的太多,咕了咕了 最近复赛临近时间紧,就不每次都写感想和题解了,只写点有意义的好题