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 ...
随机推荐
- HGOI20190809 省常中互测2
Problem A 时之终结 构造一个含有$n$个节点的无重边无自环的有向图, 使得从$1$出发,每一次经过一条$(u,v) (u < v)$的边到达节点$n$的方案恰好有$y$种. 对于$10 ...
- AtCoder AGC037D Sorting a Grid (二分图匹配)
题目链接 https://atcoder.jp/contests/agc037/tasks/agc037_d 题解 这场D题终于不像AGC032D和AGC036D一样神仙了-- 还是可做的吧 虽然考场 ...
- [VIJOS2053][SDOI2019]世界地图:最小生成树+虚树
分析 可以发现第一列和最后一列永远不会被删除,于是我们可以想到维护前后缀最小生成树,但是直接维护的话显然时间空间两爆炸.(通过上网找题解)可以发现我们关心的只是最左边和最右边两列,而不关心内部的连边情 ...
- MDK Keil 5软件小技巧
几乎所有玩ARM Cortex M单片机的坛友都是通过MDK Keil 5或者IAR环境进行单片机的程序开发的,俗话说工欲善其事必先利其器,我们天天都在用这个开发环境,那么,有些在MDK Keil 5 ...
- sqli-labs(44)
第四十四关 本关是基于盲注的,这里盲注主要是要没有报错信息,所以要采用盲注.这关与42关的区别就在于没有报错信息 过滤点: $username = mysqli_real_escape_string( ...
- 【python】小型神经网络的搭建
import numpy as np def sigmoid(x): # Sigmoid activation function: f(x) = 1 / (1 + e^(-x)) return 1 / ...
- 利用python的图像分块与拼接
import os import matplotlib.pyplot as plt import cv2 import numpy as np def divide_img(img_path, img ...
- JavaScript Thread.Sleep()
What is the JavaScript version of sleep()? Since 2009 when this question was asked, JavaScript has e ...
- spark 笔记 6: RDD
了解RDD之前,必读UCB的论文,个人认为这是最好的资料,没有之一. http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf A Re ...
- ListView 中如何优化图片?
图片的优化策略比较多.1.处理图片的方式:如果 ListView 中自定义的 Item 中有涉及到大量图片的,一定要对图片进行细心的处理,因为图片占的内存是ListView 项中最头疼的,处理图片的方 ...