原题链接:https://codeforces.com/problemset/problem/1144/E

tag:字符串模拟,大整数。

题意:给定两个字符串,求字典序中间串。

思路:可以把这个题当做一个26进制数的模拟。a~z分别代表0~25,然后求平均,在通过数字反求字符串。

然后写出这么个代码

 #include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
ll _input(ll);
void _output(ll,ll);
int main()
{
ll n;
cin>>n;
ll num1,num2;
num1=_input(n);
num2=_input(n);
ll res=;
res=(num1+num2)/;
_output(res,n);
cout<<endl;
return ;
}
ll _input(ll n)
{
ll re=;
char a;
for(ll i=;i<n;i++)
{
cin>>a;
re=re*+(a-'a');
}
return re;
}
void _output(ll res,ll n)
{
stack<char> qq;
while(n--)
{
qq.push('a'+res%);
res/=;
}
while(qq.size())
{
cout<<qq.top();
qq.pop();
}
}

然后你就可以很快的wa了。

???

好吧,想着总不能爆掉我的unsigh long long 吧,然后打脸了。 26^10000,,,,随便爆。。

于是乎只能用数组模拟,一来可以方便的表示26进制,二来也可以表示很大的数据,爆不掉(除非非常非常变态了)

代码如下

 #include<bits/stdc++.h>
using namespace std;
int a[];
int main()
{
int n;
cin>>n;
string c,b;//储存字符串
cin>>c;
cin>>b;
for(int i=n-;i>=;i--)       //模拟加法
{
a[i+]+=c[i]-'a'+b[i]-'a';  //从a[1]开始存,a[0]留着进位用。
a[i]+=a[i+]/;        //给高一位先进位
a[i+]%=;           //当前位对26取模。
}
char e;
//模拟除法
e='a';
if(a[]>=)cout<<char(e+a[]/);  
if(a[]%!=)a[]+=;      //看最高位是否存在进位的,如果存在,退回来。
for(int i=;i<=n;i++)
{
e='a';
cout<<char(e+a[i]/);    //输出当前位除2所表示的数。
if(a[i]%!=)a[i+]+=;  //剩下的退回下一位。
}
cout<<endl;
return ;
}

Codeforces 1144 E. Median String的更多相关文章

  1. E. Median String 解析(思維、大數運算)

    Codeforce 1144 E. Median String 解析(思維.大數運算) 今天我們來看看CF1144E 題目連結 題目 給你兩個長度為\(k\)的字串\(s\)和\(t\),求字典序排序 ...

  2. Codeforces Round #550 (Div. 3) E. Median String (模拟)

    Median String time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  3. Codeforces #541 (Div2) - E. String Multiplication(动态规划)

    Problem   Codeforces #541 (Div2) - E. String Multiplication Time Limit: 2000 mSec Problem Descriptio ...

  4. Median String CodeForces - 1144E

    You are given two strings ss and tt, both consisting of exactly kk lowercase Latin letters, ss is le ...

  5. Codeforces Round #550 (Div. 3)E. Median String

    把字符串看作是26进制的数,从后往前翻译,那么就可以把两个串变成对应的26进制的数字,那么只要把两个数加起来除以二就得到中间的串对应的数了,同理再转化回来就行了.但是这样会有一个问题就是串的长度有2e ...

  6. Codeforces Round #550 (Div. 3) E. Median String (思维,模拟)

    题意:给你两个字符串\(s\)和\(t\),保证\(t\)的字典序大于\(s\),求他们字典序中间的字符串. 题解:我们假设题目给的不是字符串,而是两个10禁止的正整数,那么输出他们之间的数只要把他两 ...

  7. 【22.70%】【codeforces 591C】 Median Smoothing

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  8. 【动态规划】【最短路】Codeforces 710E Generate a String

    题目链接: http://codeforces.com/problemset/problem/710/E 题目大意: 问写N个字符的最小花费,写一个字符或者删除一个字符花费A,将当前的字符数量翻倍花费 ...

  9. codeforces 632C The Smallest String Concatenation

    The Smallest String Concatenation 题目链接:http://codeforces.com/problemset/problem/632/C ——每天在线,欢迎留言谈论. ...

随机推荐

  1. 2015新款 MacBook 用心的测评与试用. 最轻薄的Mac上市

    2015新款 MacBook 不一样的测评与试用. 最轻薄的Mac上市了. 直击现场 <HTML开发MacOSApp教程>  http://pan.baidu.com/s/1jG1Q58M ...

  2. FMX有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法(firemonkey messaging)

    看FMX代码,发现有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法.   早前,看过文章说TMessageManage ...

  3. R3 HOOK OpenProcess 的问题

    unit HookAPI; //Download by http://www.codefans.net interface uses Windows, Classes; function Locate ...

  4. 【原创】Metro大都会扫码乘地铁技术大揭密

    本文观点仅为技术猜解,不代表官方线上真实方案.   风靡上海的扫码乘地铁,从2018年1月20日全面支持,至今近10天了.起初不以为然,过了大概1个礼拜左右,也下载了Metro大都会APP,开始体验扫 ...

  5. 关于linux网卡消失的问题

    首先我也是一名学生,在学习的过程Linux的过程中,因为老师要求配置hadoop集群所以就匆匆忙忙的上手了,但是在配置网络的问题时遇到了网卡消失的问题 我在网上询问了许多的人,但是还是没有找到一个很好 ...

  6. Rails.cache相关知识

    可能里面的一些知识已经不被大家使用了,但是作为学习,我想和大家分享一下个人关于Rails.cache的浅显的认识,望大家指教. 1.Rails.cache是什么 它是Rails中的缓存,拥有所有缓存的 ...

  7. kubernetes实战篇之helm完整示例

    系列目录 构建一个 Helm Chart 下面我们通过一个完整的示例来学习如何使用 Helm 创建.打包.分发.安装.升级及回退Kubernetes应用. 创建一个名为 mychart 的 Chart ...

  8. HashMap原理(一) 概念和底层架构

    HashMap在Java开发中使用的非常频繁,可以说仅次于String,可以和ArrayList并驾齐驱,准备用几个章节来梳理一下HashMap.我们还是从定义一个HashMap开始. HashMap ...

  9. 简单的scrapy实例

    前天实验室的学长要求写一个简单的scrapy工程出来,之前也多少看了点scrapy的知识,但始终没有太明白,刚好趁着这个机会,加深一下对scrapy工作流程的理解.由于临近期末,很多作业要做(其实.. ...

  10. MySQL metalock的一些技巧(写大于读的案例,以及获得锁的顺序)

    前言:元数据锁不是锁定数据,而是锁定描述数据的元数据信息.就像很多装修工人(工作线程)在室内(对象上)装修(操作),不能有其他工人(线程)把屋子拆了(表删除了). MySQL 为了数据一致性使用元数据 ...