D. Suitable Replacement

这个题统计出 s 和 t 中的各字母个数以及“?”的个数,直接暴力即可,s中不足的字母可用 “?“来替代

这个题的另一种解法是二分 s 中可以出现的 t 的次数,从而找到最大的 the suitability of string s .

代码:

// Created by CAD on 2019/8/6.
#include <bits/stdc++.h> #define ll long long
#define fi first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f
#define PII pair<int,int>
#define PIII pair<pair<int,int>,int>
#define mst(name, value) memset(name,value,sizeof(name))
#define FOPEN freopen("C:\\Users\\14016\\Desktop\\cad.txt","r",stdin)
#define test(n) cout<<n<<endl
using namespace std; const int maxn=1e6+5;
int a[30],b[30];
queue<char> ans; int main()
{
ios::sync_with_stdio(false);
string s,t;
cin>>s>>t;
for(auto i: s)
{
if(i=='?') a[0]++;
else a[i-'a'+1]++;
}
for(auto i:t)
b[i-'a'+1]++;
while(a[0]>0)
{
for(int i=1;i<=26;++i)
{
if(a[i]>=b[i]) a[i]-=b[i];
else
{
for(int j=1;j<=b[i]-a[i];j++) ans.push((char)(i+'a'-1)),a[0]--;
a[i]=0;
}
if(a[0]<=0) break;
}
}
for(auto i:s)
{
if(i=='?') cout<<ans.front(),ans.pop();
else cout<<i;
}
cout<<endl;
return 0;
}

Suitable Replacement的更多相关文章

  1. Codeforces 825D Suitable Replacement - 贪心 - 二分答案

    You are given two strings s and t consisting of small Latin letters, string s can also contain '?' c ...

  2. Educational Codeforces Round 25 D - Suitable Replacement(贪心)

    题目大意:给你字符串s,和t,字符串s中的'?'可以用字符串t中的字符代替,要求使得最后得到的字符串s(可以将s中的字符位置两两交换,任意位置任意次数)中含有的子串t最多. 解题思路: 因为知道s中的 ...

  3. Python中文乱码

    1,注意:请使用智慧型浏览器 "CHROME" 配合理解和运作本文中提到的程序. 2,提示:谷歌的CHROME浏览器是迄今为止最智慧的浏览器,没有之一,只有第一. 3,谷歌的CHR ...

  4. Django 源码小剖: Django ORM 查询管理器

    ORM 查询管理器 对于 ORM 定义: 对象关系映射, Object Relational Mapping, ORM, 是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从 ...

  5. Django ORM 查询管理器

    Django ORM 查询管理器 ORM 查询管理器 对于 ORM 定义: 对象关系映射, Object Relational Mapping, ORM, 是一种程序设计技术,用于实现面向对象编程语言 ...

  6. Educational Codeforces Round 25 A,B,C,D

    A:链接:http://codeforces.com/contest/825/problem/A 解题思路: 一开始以为是个进制转换后面发现是我想多了,就是统计有多少个1然后碰到0输出就行,没看清题意 ...

  7. AMQP 0.9.1和1.0协议差别以及rabbitmq支持情况

    RabbitMQ implements AMQP 1.0 via a plugin. However, AMQP 1.0 is a completely different protocol than ...

  8. python:OS模块

    r"""OS routines for NT or Posix depending on what system we're on. This exports: - al ...

  9. 反接保护电路 Reverse Voltage Protection

    Reverse Voltage Protection I've long wanted to pull together some reverse polarity protection ideas ...

随机推荐

  1. 怎样理解 DOCTYPE 声明

    1. HTML 4.01 Strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www. ...

  2. 一、maven学习

    1.下载(maven 自带Tomcat   命令tomcat:run) 2.配置环境变量(cmd测试   mvn -v) 3.配置config 4.命令 mvn clean (删除target目录) ...

  3. Mongoose 使用Node操作MongoDB

    Mongoose好处 可以为文档创建一个模式结构(Schema) 可以对模型中的对象/文档进行验证 数据可以通过类型转换转换为对象模型 可以使用中间件来应用业务逻辑挂钩 比Node原生的MongoDB ...

  4. vue中使用proxy配置不同端口和ip接口

    问题描述: 使用vue-cli创建的项目,开发地址是localhost:8080,由于后台开发不同的模块,导致每个模块请求的ip和端口号不一致 例如:http://192.168.10.22:8081 ...

  5. Wxpython pannel切换

    演示效果 实现panel切换思路 1.创建所有在某个区域需要切换面板对象,设置为None self.panel_Celan1 = None self.panel_Celan2 = None self. ...

  6. sql 存储过程笔记2

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_Page_v2]') and OBJECTPROPE ...

  7. jar包编译成 dex

    1.将需要合并的jar放到同一个目录 2.编写一个google.xml文件写入如下内容 <!--?xml version="1.0" encoding="utf-8 ...

  8. 05.Zabbix自动化监控

    1.Zabbix自动发现(被动) 网络发现官方手册 网络发现由两个阶段组成:发现discovery和动作actions 1.单击配置->自动发现->启动默认的Local network 2 ...

  9. hive--构建于hadoop之上、让你像写SQL一样编写MapReduce程序

    hive介绍 什么是hive? hive:由Facebook开源用于解决海量结构化日志的数据统计 hive是基于hadoop的一个数据仓库工具,可以将结构化的数据映射为数据库的一张表,并提供类SQL查 ...

  10. windows控制台,cmd,命令提示符下的基础操作

    打开dos命令窗口1.win+r-->运行-->cmd 2.摁住shift+鼠标右击 选择 在此处打开命令窗口3.在磁盘某文件夹下,选择标题栏中输入框,输入cmd 回车 windows下常 ...