CF 1178E Archaeology 题解
这道题竟然是E?还是洛谷中的黑题?
wow~!!
于是就做了一下;
然后一下就A了;(这并不代表想的容易,而是写的容易)
这道题就是骗人的!!
什么manacher,什么回文自动机,去靠一边站着,看我的无敌大模拟!
可以设定l,r两个点,初始时分别指向1和n;
如果是s[l]==s[r],那么答案就更新(ans+=2,但当l==r时,ans仅加1就够了);
如果不等,那么就回文自动......诶?等等,题目说只有a,b,c?而且相邻的两位不等?蛤?这是什么情况?
如果s[i]!=s[j],因为s[j-1]!=s[j],s[i+1]!=s[i],所以至少就是以下几种情况中的一种,s[i+1]==s[j],s[i]==s[j-1],s[i+1]==s[j-1];
然后对其模拟,然后就轻松愉快的A啦~
#include <bits/stdc++.h>
using namespace std;
int n;
char s[];
bool bo[];
int cnt;
int main() {
scanf("%s", s + );
int l=,r=;
n=r=strlen(s + );
while(l <= r){
if(s[l] == s[r]){
bo[l] = bo[r] = ;
cnt+=;
if(l==r){
--cnt;
}
++l;
--r;
}
else if(l+<=r&&s[l+]==s[r]){
bo[l+]=bo[r]=;
cnt+=+(l+!=r);
l+=, --r;
}
else if (l<=r-&&s[l]==s[r-]){
bo[l]=bo[r-]=;
cnt+=+(l!=r-);
++l, r-=;
}
else{
++l, --r;
}
}
if(cnt>=n/){
for(int i=;i<=n;i++){
if(bo[i]){
printf("%c",s[i]);
}
}
puts("");
}
else{
puts("IMPOSSIBLE");
}
return ;
}
CF 1178E Archaeology 题解的更多相关文章
- CF 1400G.Mercenaries 题解【SOSDP 组合数学】
CF 1400G.Mercenaries 题意: 有\(n\)个佣兵,问雇佣至少一名雇佣兵且满足下述条件的方案数 如果雇佣第\(i\)个佣兵必须要求最终雇佣的总人数\(x\)满足\(l_i\le x\ ...
- CF#581 (div2)题解
CF#581 题解 A BowWow and the Timetable 如果不是4幂次方直接看位数除以二向上取整,否则再减一 #include<iostream> #include< ...
- CF Round#240题解
第一次参加CF的比赛,MSK19.30,四个小时的时差真心累,第一次CODE到这么夜-- 一开始做了A,C两题,后来做B题的时候我体力和精神集中度就很低了,导致一直WA在4-- 今天起床后再刷B,终于 ...
- CF Round #808 题解 (Div. 2 ABCD)
后面题太难搞不动 . ABCD 的题解写的好水啊,感觉在写闲话,,, A 若 \(\forall i, a_1\mid a_i\),则可以 . 注意判 \(0\) 的情况 . 提交记录 . B 显而易 ...
- Codeforces 1178E. Archaeology
传送门 首先一定有解,考虑归纳法证明 首先 $n<=3$ 时显然 考虑 $n=4$ 时,那么因为 $s[1]!=s[2],s[3]!=s[4]$ ,并且 $s[i] \in {a,b,c}$ 由 ...
- Codeforces 1178E Archaeology (鸽巢原理)
题意: 给你1e6的字符串,保证只含'a''b''c'三种字符,且相邻两个字符一定不一样 求一个大于等于n/2的回文子序列 思路: 朴素的最长回文子序列是n方的区间dp,这题显然不行,要充分利用题中所 ...
- CF 1394 简要题解
最近都会做一些 \(\rm Div1\) 套题中 \(3000\) 分以下的题目. A 直接枚举贪心即可. B 首先不难发现总共可能的 \(c\) 序列只有 \(k!\) 种,很明显要暴力枚举所有情况 ...
- CF Round #829 题解 (Div. 2)
F 没看所以摆了 . 看拜月教教主 LHQ 在群里代打恰钱 /bx 目录 A. Technical Support (*800) B. Kevin and Permutation (*800) C. ...
- CF 484E - Sign on Fence
E. Sign on Fence time limit per test 4 seconds memory limit per test 256 megabytes input standard in ...
随机推荐
- Visual Studio 2008:路径设置
造冰箱的大熊猫,本文适用于Visual Studio 2008中文版@cnblogs 2018/11/30 1.头文件路径设置 如果头文件所在路径未在环境变量中定义,编译时会出现C1083错误,提示无 ...
- HDU 6191 Query on A Tree ( 2017广西邀请赛 && 可持久化Trie )
题目链接 题意 : 给你一棵树.树上的每个点都有点权.之后有若干次问询.每次问询给出一个节点编号以及一个整数 X .问你以给出节点为根的子树中哪个节点和 X 异或最大.输出这个值 分析 : 看到这种树 ...
- POJ 3068 运送危险化学品 最小费用流 模板题
"Shortest" pair of paths Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1215 ...
- Hnoi2017试题泛做
Day1 4825: [Hnoi2017]单旋 注意到二叉查找树的一个性质:其中序遍历就是所有元素按权值排序的顺序. 所以我们可以离线地把这棵树的中序遍历求出来.然后我们在插入的时候就可以用一个set ...
- 关于MySQL 处理重复数据
统计重复数据 以下我们将统计表中 first_name 和 last_name的重复记录数: mysql> SELECT COUNT(*) as repetitions, last_name, ...
- maven web项目中运行stucts2报404的解决方案
从这篇文章看见的https://www.cnblogs.com/xxqxxq/p/5938821.html 1.将stucts.xml中所有<action>全部注释掉,重新运行 如果运行成 ...
- 用了 EventBus 不要多用其他的通讯功能
EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间.组件与后台线程间的通信.主要功能是替代Intent,Handler,BroadCast
- 三、smarty--变量调节器(修改器)
变量调节器(修改器) 作用: 1. 从PHP中分配个模板的变量 2. 需要模板中对变量在输出前进行处理 3. 处理方式就是使用“函数” 4. 在smarty3中可以直接调用到PHP的函数 5. ...
- echarts折线图,纵坐标数值显示不准确的问题解决
问题如图: 问题解决:将stack去掉或注释 如下图:
- html实现高亮检索
实现效果如下: demo.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...