第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--D-psd面试
链接:https://www.nowcoder.com/acm/contest/90/D
来源:牛客网
- 1.题目描述
掌握未来命运的女神 psd 师兄在拿了朝田诗乃的 buff 后决定去实习。
埃森哲公司注册成立于爱尔兰,是一家全球领先的专业服务公司,为客户提供战略、咨询、数字、技术和运营服务及解决方案。他们立足商业与技术的前沿,业务涵盖40多个行业,以及企业日常运营部门的各个职能。凭借独特的业内经验与专业技能,以及翘楚全球的交付网络,他们帮助客户提升绩效,并为利益相关方持续创造价值。埃森哲是《财富》全球500强企业之一,目前拥有约41.1万名员工,服务于120多个国家的客户。于是psd打算去埃森哲公司投一下简历。
于是他用英文写了一篇简历,由于手速太快了以致自己都不知道写了什么。
然而面试官 xwc 一眼就看到了重点:大学打过 ACM!
xwc:“
听说你很低袄?考你个题:
忽略字母大小写,你这篇简历去掉最长的回文子序列后还有多长?
”
psd 顺手就把这个问题抛给了你。
输入描述:
多组输入,每组输入一个长度不超过 1234 的没空格的字符串,是 psd 的简历。
输出描述:
每组输出一个整数,如题。
示例1
输入
google
输出
2
示例2
输入
aBc,bAd
输出
2 - 2.题目分析
题目我已经无力吐槽了,这个广告打的真是毫无痕迹Orz,有用的就一句话。
好吧,这个让我们求的就是一个字符串忽略字母大小写,去掉最长的回文子序列后的长度。
首先把字符串统一成大写或者小写,然后把原字符串反转后存下来,接下来就是求这两个字符串的最长公共子序列(LCS)了,求完之后拿长度减去LCS的长度就是答案了。 - 3.代码如下
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<bitset>
#include<cstdlib>
#include<cmath>
#include<set>
#include<list>
#include<deque>
#include<map>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long ll;
const double PI = acos(-1.0);
const double eps = 1e-6;
const int INF = 1000000000;
const int maxn = 100;
char str1[2000],s2[2000];
int dp[2000][2000];
int main()
{
while(cin>>str1)
{
int l=strlen(str1),to=0;
for(int i=0;str1[i];i++)
{
if(str1[i]>='a'&&str1[i]<='z')
str1[i]=str1[i]-'a'+'A';
}
for(int i=l-1;i>=0;i--)
{
s2[to++]=str1[i];
}
s2[to]='\0';
memset(dp, 0, sizeof(dp));
for( int i = 0; i < l; i++)
for(int j = 0; j < to; j++)
if(str1[i] == s2[j])
dp[i + 1][j + 1] = dp[i][j] + 1;
else
dp[i + 1][j + 1] = max(dp[i + 1][j], dp[i][j + 1]);
cout<<l-dp[l][to]<<endl;
}
return 0;
}
第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--D-psd面试的更多相关文章
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛
拖了好久了 链接:https://www.nowcoder.com/acm/contest/90/A来源:牛客网 跳台阶 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K, ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--L-用来作弊的药水
链接:https://www.nowcoder.com/acm/contest/90/L 来源:牛客网 1.题目描述 -- 在一个风雨交加的夜晚,来自异世界的不愿透露姓名的TMK同学获得了两种超强药水 ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--E-回旋星空
链接:https://www.nowcoder.com/acm/contest/90/E 来源:牛客网 1.题目描述 曾经有两个来自吉尔尼斯的人(A和C)恋爱了,他们晚上经常在一起看头上的那片名为假的 ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--G-旋转矩阵
链接:https://www.nowcoder.com/acm/contest/90/G 来源:牛客网 1.题目描述 景驰公司自成立伊始,公司便将“推动智能交通的发展,让人类的出行更安全,更高效,更经 ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--A-跳台阶
链接:https://www.nowcoder.com/acm/contest/90/A 来源:牛客网 1.题目描述 小明在坐景驰科技研发的无人车到达了目的地. 景驰科技(JingChi.ai)是一家 ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 G 旋转矩阵 【模拟】
链接:https://www.nowcoder.com/acm/contest/90/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.B.跳一跳,很简单的(Hash 倍增)
题目链接 首先变换的周期是\(26\),而所有字符是同时变的,所以一共就只有\(26\)种树,我们对\(26\)棵树分别处理. 求某节点到根路径上的字符串,可以从根往下哈希,\(O(n)\)预处理出. ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛----随手记录帖
这是跟学长学姐组队来打的最爽的一次比赛了,也可能是互相组队最后一次比赛了,南哥和楼学姐,省赛之后就退役了,祝他们能考研和面试都有happy ending! 虽然最后没有把F题的n^2约数的数学题写完, ...
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛-等式(求$N^2$的因子个数)
一.题目链接 https://www.nowcoder.com/acm/contest/90/F 二.题面 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言655 ...
随机推荐
- java冒泡排序 常规排序和优化排序
冒泡排序原理在于两两比较,看你需要把大值放最前面还是最后面, 我们看看把大值放在后面:比如数组[7, 5, 6] 开始排序第1个数字 :7 arr:[7, 5, 6] 开始排序第2个数字 :5 arr ...
- 安装redis服务端
1. redis服务端和客户端的安装 [root@xxx ~]# cd /usr/local/src [root@xxx src]# wget http://download.redis.io/rel ...
- random模块/string模块
一.random模块 random模块可以很容易生成随机数和随机字符串. random.randint(1, 100) # 1-100之间取一个随机数 random.randrange(1, 100) ...
- PHP环境配置解释
PHP中注释:#,//,/* */ 一.修改Apache配置 DocumentRoot "G:\PHP" //修改完需要重启Apache //以下二选一 ----- ...
- Stage5--Python GUI编程TKinter
Python图形库简要介绍 python提供了多个图形开发界面的库,几个常用Python GUI库如下: Tkinter: Tkinter模块("Tk 接口")是Python的标准 ...
- Java使用POI操作Excel文件
1.简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式文件读和写的功能. 2.依赖的jar包 <!-- ex ...
- HttpWebResponse对gzip格式返回结果的处理
HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url); HttpWebRes ...
- Mantis查看问题列表的列名修改_"P","#"两列
在使用mantis的时候,点击菜单上的“查看问题”进去,就会罗列出当前的bug列表,可是列表的标题上存在着“P”和“#”的显示,个人觉得这两列在这里完全没有意义,或者说现有的显示使人觉得疑惑,究竟代表 ...
- mantis统计报表和图形报表出现乱码问题的解决方法
Mantis 报表中文乱码 1.安装Mantis图表 1.0插件 administrator登录-------管理------插件管理,安装插件 2.上传字体simhei.ttf simsun.tt ...
- synchronized(this)、synchronized(class)与synchronized(Object)的区别
在多线程开发中,我们经常看到synchronized(this).synchronized(*.class)与synchronized(任意对象)这几种类型同步方法.但是是否知道这几种写法有什么区别了 ...