思路:

我们会发现不合法的位置只有两种情况

要么在前半边,要么在后半边

那么,我们将序列劈两次

使两次的长度分别为:

(n为偶数时要特判一下,因为根本不可能)

(n/2),(n/2+1)

(n/2+1),(n/2)

分别暴力贪心的匹配就好

但是,想ACACACACA这种,就会出锅

特判一下就好

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define rii register int i
#define rij register int j
#define p1 19260817
#define p2 998244353
using namespace std;
int n,t;
char ls[];
int hash1()
{
long long ans=;
for(rii=;i<=n/;i++)
{
ans*=ls[i];
ans%=p1;
}
return ans;
}
int hash2()
{
long long ans=;
for(rii=;i<=n/;i++)
{
ans*=ls[i];
ans%=p2;
}
return ans;
}
int pash1()
{
long long ans=;
for(rii=(n+)/+;i<=n;i++)
{
ans*=ls[i];
ans%=p1;
}
return ans;
}
int pash2()
{
long long ans=;
for(rii=(n+)/+;i<=n;i++)
{
ans*=ls[i];
ans%=p2;
}
return ans;
}
void solve()
{
scanf("%d\n",&n);
int cnt=,wz=;
for(rii=;i<=n;i++)
{
cnt++;
ls[i]=getchar();
}
scanf("\n");
if(n%==)
{
puts("NOT POSSIBLE");
return;
}
int dp=;
for(rii=;i<=n-;i++)
{
if(ls[i]!=ls[i+])
{
dp=;
break;
}
}
if(dp==)
{
puts("NOT UNIQUE");
return;
}
int bnt=n/;
int sl=,pd=;
for(int i=;i<=n/;i++)
{
bnt++;
if(ls[i]!=ls[bnt])
{
bnt++;
pd++;
if(ls[bnt]!=ls[i])
{
pd++;
}
}
if(pd>=)
{
break;
}
}
int cs1=,cs2=;
if(pd<=)
{
sl++;
cs1=hash1();
cs2=hash2();
wz=;
}
pd=,bnt=;
int kkk=(n+)/;
for(int i=kkk+;i<=n;i++)
{
bnt++;
if(ls[bnt]!=ls[i])
{
bnt++;
pd++;
if(ls[bnt]!=ls[i])
{
pd++;
}
}
if(pd>=)
{
break;
}
}
if(pd<=)
{
sl++;
wz=;
}
if(sl==)
{
if(cs1==pash1()&&cs2==pash2())
{
sl--;
}
}
if(sl==)
{
puts("NOT UNIQUE");
}
if(sl==)
{
puts("NOT POSSIBLE");
}
if(sl==)
{
if(wz==)
{
int ltt=n/;
for(rii=;i<=ltt;i++)
{
putchar(ls[i]);
}
putchar();
}
else
{
int ltt=(n+)/;
for(rii=ltt+;i<=n;i++)
{
putchar(ls[i]);
}
putchar();
}
}
}
int main()
{
freopen("lgg.in","r",stdin);
freopen("lgg.out","w",stdout);
scanf("%d\n",&t);
for(rii=;i<=t;i++)
{
solve();
}
return ;
}

20181031noip模拟赛T1的更多相关文章

  1. 【洛谷比赛】[LnOI2019]长脖子鹿省选模拟赛 T1 题解

    今天是[LnOI2019]长脖子鹿省选模拟赛的时间,小编表示考的不怎么样,改了半天也只会改第一题,那也先呈上题解吧. T1:P5248 [LnOI2019SP]快速多项式变换(FPT) 一看这题就很手 ...

  2. 20180610模拟赛T1——脱离地牢

    Description 在一个神秘的国度里,年轻的王子Paris与美丽的公主Helen在一起过着幸福的生活.他们都随身带有一块带磁性的阴阳魔法石,身居地狱的魔王Satan早就想着得到这两块石头了,只要 ...

  3. NOIP欢乐模拟赛 T1 解题报告

    小澳的方阵 (matrix.cpp/c/pas) [题目描述] 小澳最近迷上了考古,他发现秦始皇的兵马俑布局十分有特点,热爱钻研的小澳打算在电脑上还原这个伟大的布局. 他努力钻研,发现秦始皇布置兵马俑 ...

  4. [模拟赛] T1 高级打字机

    Description 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序,支持如下3种操作: 1.T x:在文章末尾打下一个小 ...

  5. 2019.2.25 模拟赛T1【集训队作业2018】小Z的礼物

    T1: [集训队作业2018]小Z的礼物 我们发现我们要求的是覆盖所有集合里的元素的期望时间. 设\(t_{i,j}\)表示第一次覆盖第i行第j列的格子的时间,我们要求的是\(max\{ALL\}\) ...

  6. [NOIP2018校模拟赛]T1 阶乘

    题目: 描述 有n个正整数a[i],设它们乘积为p,你可以给p乘上一个正整数q,使p*q刚好为正整数m的阶乘,求m的最小值. 输入 共两行. 第一行一个正整数n. 第二行n个正整数a[i]. 输出 共 ...

  7. [NOIP2018校模拟赛]T1聚会 party

    题目链接: 聚会 分析: 设每个点到1号点的距离为dist_{i},每个点的权值为x_{i},目标点到1号点的距离为dist,权值为x,那么对于每一次查询,我们讨论三种情况: ① 目标家庭在区间左边( ...

  8. 【2019.8.15 慈溪模拟赛 T1】插头(plugin)(二分+贪心)

    二分 首先,可以发现,最后的答案显然满足可二分性,因此我们可以二分答案. 然后,我们只要贪心,就可以验证了. 贪心 不难发现,肯定会优先选择能提供更多插座的排插,且在确定充电器个数的情况下,肯定选择能 ...

  9. 【2019.7.20 NOIP模拟赛 T1】A(A)(暴搜)

    打表+暴搜 这道题目,显然是需要打表的,不过打表的方式可以有很多. 我是打了两个表,分别表示每个数字所需的火柴棒根数以及从一个数字到另一个数字,除了需要去除或加入的火柴棒外,至少需要几根火柴棒. 然后 ...

随机推荐

  1. 解决servlet在web.xml中的路径跳转问题

    <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" ...

  2. 如何提高 Java 中锁的性能

    锁不是问题的根源,锁之间的竞争才是 通常在多线程的代码中遇到性能方面的问题时,一般都会抱怨是锁的问题.毕竟锁会降低程序的运行速度和其较低的扩展性是众所周知的.因此,如果带着这种“常识”开始优化代码,其 ...

  3. jQuery 小案例

    用jquery实现  百度换肤的模式; <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  4. javascript进行百度换肤 和显示隐藏一个窗口的操作

    简单的运用javascript来进行百度换肤的操作 <!DOCTYPE html> <html lang="en"> <head> <me ...

  5. python之路——进程

    操作系统背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其 ...

  6. aspnetcore 认证相关类简要说明二

    能过<aspnetcore 认证相关类简要说明一>我们已经了解如何将AuthenticationOptions注入到我们依赖注入系统.接下来,我们将了解一下IAuthenticationS ...

  7. TMG阵列部署选择

    如果用户环境中有多个网络出口,用EMS配置TMG是最佳选择.在这种情况下,可以使用EMS管理的阵列配置企业级访问规则.由于一个单一的策略适用于整个企业的所有阵列,因此管理成本将大大降低.用于EMS的服 ...

  8. php时间函数大锦集

    PHP中的时间函数有这么些:(1)date用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1 ...

  9. windows系统镜像 微软官方资源便捷下载教程

    今天跟小师弟学到了一个下载软件的好办法,省得到各种网站下载带有病毒,插件的资源. 这个神奇的网站叫做   MSDN, 我告诉你,这是一个私人维护的网站,里面有各种官方软件的下载地址.可以直接用下载工具 ...

  10. Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.

    System.Data.OracleClient 已经过时了.微软不再支持它. 因此,我建议你为. NET 使用Oracle数据提供程序:ODP.Net. 你可以从以下位置下载: 版本:Release ...