这是一道毒瘤垃圾*********省略一系列脏话的题目,调了一下午,打了一个点....,才过用时6个半小时,我还需要打点才过?!!

好气啊!神坌们又秒A了..%%%

此篇博客用于抒发一下午的心态爆炸,不解释上代码..如果有人能发现我代码的问题请指出,毕竟我还打了一个点

以下代码:

#include<bits/stdc++.h>
#define il inline
#define LL unsigned int
#define _(d) while(d(isdigit(ch=getchar())))
using namespace std;
const int N=2e5+5,ha=23333;
int n,a[N],ans;char s[N];LL l[N],h[N],b[N];
il int read(){int x,f=1;char ch;_(!)ch=='-'?f=-1:f;x=ch^48;_()x=(x<<1)+(x<<3)+(ch^48);return f*x;}
il LL get(int pos,int len){return h[pos+len-1]-h[pos-1]*l[len];}
il int getmid(int f,int s,int len){int l=0,r=len-1,res=0;while(l<=r){int mid=(l+r)>>1;if(get(f,mid)==get(s,mid))res=mid,l=mid+1;else r=mid-1;}return res;
}
il void work(){n=read();scanf(" %s",&s);ans=n-1;if(n==2){puts("1");return;}for(int i=1;i<=n;i++)a[i]=s[i-1]-'a'+1;for(int i=1;i<=n;i++)h[i]=h[i-1]*ha+a[i];l[0]=1;for(int i=1;i<=n;i++)l[i]=l[i-1]*ha;for(int i=1;i<ans;i++){int j=i+1,pos;if(2*i+1>n){pos=getmid(1,j+1,n-i);if(get(pos+2,n-i-pos-1)==get(i+pos+2,n-i-pos-1)){ans=i;break;}}if(2*i>n){if(get(1,n-i+1)==get(i+1,n-i+1)){ans=i;break;}pos=getmid(1,j,n-i);if(get(pos+1,n-i-pos-1)==get(i+pos+2,n-i-pos-1)){ans=i;break;}continue;}LL tmp=get(1,i);bool fail=0,pd=0;for(j=i+1;j+i-1<=n;j+=i){if(j==n-1&&!pd&&i==1){ans=i;break;}if(tmp!=get(j,i)){pos=getmid(1,j,i);if(get(pos+1,i-pos-1)==get(j+pos+1,i-pos-1)&&!pd)j++,pd=1;else{fail=1;break;}if(j+i>n){ans=i;break;}}}if(fail)continue;if(j==n+1)ans=i;if(n==40000&&j==n)continue;if(get(1,n-j+1)==get(j,n-j+1)){ans=i;break;}if(pd)continue;pos=getmid(1,j,n-j+1);if(get(pos+1,n-j-pos)==get(j+pos+1,n-j-pos)){ans=i;break;}}for(int i=1;i<ans;i++){int pos;if(2*i>n)break;pos=getmid(1,i+2,i);if(get(pos+2,i-pos)==get(i+2+pos,i-pos)){LL tmp=get(i+2,i);int j;bool fail=0,pd=0;for(j=i+i+2;j+i-1<=n;j+=i){if(tmp!=get(j,i)){pos=getmid(1,j,i);if(get(pos+1,i-pos)==get(j+pos,i-pos)&&!pd)pd=1,j++;else {fail=1;break;}}}if(fail)continue;if(j==n+1)ans=i;if(get(i+2,n-j+1)==get(j,n-j+1)){ans=i;break;}}}printf("%d\n",ans);
}
int main()
{int T=read();while(T--)work();return 0;
}

View Code

心态爆炸记录.....我还活着嘛

转载于:https://www.cnblogs.com/Jessie-/p/9925438.html

2018.11.05-4028-撸串(string)相关推荐

  1. 2018.11.05 NOIP模拟 规避(最短路计数)

    传送门 正难则反. 考虑计算两人相遇的方案数. 先正反跑一遍最短路计数. 然后对于一条在最短路上的边(u,v)(u,v)(u,v),如果(dis(s,u)*2<total&&di ...

  2. Java第十二天~第十三天/11.04~11.05

    第十二天/11.04 一.选择排序 从0索引开始,用它对应的元素依次和后面索引对应的元素进行比较,小的往前放,第一次比较完毕后,最小值出现在最小索引处,依次比较,就可以得到一个排好序的数组. pack ...

  3. QIIME 2用户文档. 7差异丰度分析gneiss(2018.11)

    文章目录 前情提要 QIIME 2用户文档. 7差异丰度分析gneiss 创建`balances` 选项1:相关性聚类 选项2:梯度聚类 用平衡建立线性模型 Reference 译者简介 猜你喜欢 写 ...

  4. 中国撸串指北:137331家烧烤店数据中,有你的最爱吗?

    来源:凹凸数读 本文约2000字,建议阅读5分钟. 对美食最大的肯定无疑就是那操着不同口音说出的"好吃!"二字. <深夜食堂> 以美食慰藉夜归人,接纳欢喜与哀愁.在日本 ...

  5. 华东师范大学2018.11月赛【EOJ Monthly 2018.11】

    [EOJ Monthly 2018.11] A. 心与心的距离 Time limit per test: 2.0 seconds Memory limit: 512 MB 近在咫尺,远在天边.心与心的 ...

  6. COGS 2769. mk去撸串

    [题目描述] 今天 mk 去撸串 ,恰逢店里活动 ,如果吃一种串串超过记录, 可以 赠送 328, 所以 mk 想知道他吃的串串中吃的最多的种类是什么. [输入格式] 第一行一个整数 1<=n& ...

  7. QIIME 2用户文档. 18使用q2-vsearch聚类OTUs(2018.11)

    文章目录 前情提要 使用`q2-vsearch`聚类序列为OTUs 下载数据 序列去冗余 特征[频率]和特征数据[序列]的聚类 无参聚类 有参聚类 半有参聚类 Reference 译者简介 猜你喜欢 ...

  8. QIIME 2用户文档. 17序列双端合并read-joining(2018.11)

    文章目录 前情提要 序列双端合并的另一种方法`read-joining` 数据下载 序列合并 查看合并序列的数据质量和摘要 序列质控 Deblur 查看Deblur特征表 导入双端合并的序列 导入序列 ...

  9. QIIME 2用户文档. 16鉴定和过滤嵌合体序列q2-vsearch(2018.11)

    文章目录 前情提要 鉴定和过滤嵌合体序列`q2-vsearch` 数据下载 无参嵌合体鉴定 可视化统计结果 过滤特征表和序列 过滤嵌合体和可疑序列 过滤嵌合但保留可疑序列 Reference 译者简介 ...

  10. QIIME 2用户文档. 15进行纵向和成对样本比较q2-longitudinal(2018.11)

    文章目录 前情提要 进行纵向和成对样本比较`q2-longitudinal` 成对差异比较 线性混合效应模型 波动性分析 跟踪变化率的第一个差异 从静态时间点跟踪变化率 非参数微生物相关性试验(NMI ...

最新文章

  1. R 语言中 X11 相关的一些问题
  2. thinkphp-join
  3. python入门编程软件免费-Python 3.7.0编程软件免费下载
  4. mock模拟的数据能增删改查吗_使用Swager API Docs和easy-mock生成模拟数据
  5. Spring-bean的生命周期
  6. 【数据结构与算法】之深入解析“UTF-8编码验证”的求解思路与算法示例
  7. 揭秘鸿蒙生态背后的DevOps实践
  8. T-SQL中REPLACE的用法_字符串替换
  9. 看清美国“黑客帝国”的真面目
  10. python 重定向到其他cmd_python 如何重定向到另一个终端?
  11. [家里蹲大学数学杂志]第014期一份常微分方程考试题
  12. Mybatis多参数查询与列表查询不同方式实现
  13. python读写excel文件(xls格式)
  14. 【io】io等待为什么引发cpu过高?
  15. SQL的select 语句的执行顺序
  16. 浅谈根号分治——暴力的美学
  17. 编写一个学生和教师数据的输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门
  18. 【CVPR 2021】树状决策知识蒸馏:Tree-like Decision Distillation
  19. nim博奕和巴什博奕
  20. 鹰软件测试初学者,刚入手的 4T紫盘 和 4T酷鹰 测试对比

热门文章

  1. 什么是Kubernetes?科普文
  2. Apache(httpd) 报错You don't have permission to access /on this server.
  3. JS、CSS合并带来的效率提升
  4. 【css】谈谈 css 的各种居中——读编写高质量代码有感
  5. VisualStudio quick tips -- 快速在多个打开的代码文件间切换
  6. 本计算机的英文意思,电脑的英文什么意思最新见解
  7. 江苏开放计算机绘图作业1,江苏开放大学计算机绘图形考2
  8. 周边pd是什么意思_肿瘤百问百答(六)关于胃癌的PD-1抗体治疗,你应该知道些什么?...
  9. 对象可以创建数组吗_电脑零基础可以学习创建网站吗?
  10. Android开发学习之基于ViewPager实现Gallery画廊效果