2018.11.05-4028-撸串(string)
这是一道毒瘤垃圾*********省略一系列脏话的题目,调了一下午,打了一个点....,才过用时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)相关推荐
- 2018.11.05 NOIP模拟 规避(最短路计数)
传送门 正难则反. 考虑计算两人相遇的方案数. 先正反跑一遍最短路计数. 然后对于一条在最短路上的边(u,v)(u,v)(u,v),如果(dis(s,u)*2<total&&di ...
- Java第十二天~第十三天/11.04~11.05
第十二天/11.04 一.选择排序 从0索引开始,用它对应的元素依次和后面索引对应的元素进行比较,小的往前放,第一次比较完毕后,最小值出现在最小索引处,依次比较,就可以得到一个排好序的数组. pack ...
- QIIME 2用户文档. 7差异丰度分析gneiss(2018.11)
文章目录 前情提要 QIIME 2用户文档. 7差异丰度分析gneiss 创建`balances` 选项1:相关性聚类 选项2:梯度聚类 用平衡建立线性模型 Reference 译者简介 猜你喜欢 写 ...
- 中国撸串指北:137331家烧烤店数据中,有你的最爱吗?
来源:凹凸数读 本文约2000字,建议阅读5分钟. 对美食最大的肯定无疑就是那操着不同口音说出的"好吃!"二字. <深夜食堂> 以美食慰藉夜归人,接纳欢喜与哀愁.在日本 ...
- 华东师范大学2018.11月赛【EOJ Monthly 2018.11】
[EOJ Monthly 2018.11] A. 心与心的距离 Time limit per test: 2.0 seconds Memory limit: 512 MB 近在咫尺,远在天边.心与心的 ...
- COGS 2769. mk去撸串
[题目描述] 今天 mk 去撸串 ,恰逢店里活动 ,如果吃一种串串超过记录, 可以 赠送 328, 所以 mk 想知道他吃的串串中吃的最多的种类是什么. [输入格式] 第一行一个整数 1<=n& ...
- QIIME 2用户文档. 18使用q2-vsearch聚类OTUs(2018.11)
文章目录 前情提要 使用`q2-vsearch`聚类序列为OTUs 下载数据 序列去冗余 特征[频率]和特征数据[序列]的聚类 无参聚类 有参聚类 半有参聚类 Reference 译者简介 猜你喜欢 ...
- QIIME 2用户文档. 17序列双端合并read-joining(2018.11)
文章目录 前情提要 序列双端合并的另一种方法`read-joining` 数据下载 序列合并 查看合并序列的数据质量和摘要 序列质控 Deblur 查看Deblur特征表 导入双端合并的序列 导入序列 ...
- QIIME 2用户文档. 16鉴定和过滤嵌合体序列q2-vsearch(2018.11)
文章目录 前情提要 鉴定和过滤嵌合体序列`q2-vsearch` 数据下载 无参嵌合体鉴定 可视化统计结果 过滤特征表和序列 过滤嵌合体和可疑序列 过滤嵌合但保留可疑序列 Reference 译者简介 ...
- QIIME 2用户文档. 15进行纵向和成对样本比较q2-longitudinal(2018.11)
文章目录 前情提要 进行纵向和成对样本比较`q2-longitudinal` 成对差异比较 线性混合效应模型 波动性分析 跟踪变化率的第一个差异 从静态时间点跟踪变化率 非参数微生物相关性试验(NMI ...
最新文章
- R 语言中 X11 相关的一些问题
- thinkphp-join
- python入门编程软件免费-Python 3.7.0编程软件免费下载
- mock模拟的数据能增删改查吗_使用Swager API Docs和easy-mock生成模拟数据
- Spring-bean的生命周期
- 【数据结构与算法】之深入解析“UTF-8编码验证”的求解思路与算法示例
- 揭秘鸿蒙生态背后的DevOps实践
- T-SQL中REPLACE的用法_字符串替换
- 看清美国“黑客帝国”的真面目
- python 重定向到其他cmd_python 如何重定向到另一个终端?
- [家里蹲大学数学杂志]第014期一份常微分方程考试题
- Mybatis多参数查询与列表查询不同方式实现
- python读写excel文件(xls格式)
- 【io】io等待为什么引发cpu过高?
- SQL的select 语句的执行顺序
- 浅谈根号分治——暴力的美学
- 编写一个学生和教师数据的输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门
- 【CVPR 2021】树状决策知识蒸馏:Tree-like Decision Distillation
- nim博奕和巴什博奕
- 鹰软件测试初学者,刚入手的 4T紫盘 和 4T酷鹰 测试对比
热门文章
- 什么是Kubernetes?科普文
- Apache(httpd) 报错You don't have permission to access /on this server.
- JS、CSS合并带来的效率提升
- 【css】谈谈 css 的各种居中——读编写高质量代码有感
- VisualStudio quick tips -- 快速在多个打开的代码文件间切换
- 本计算机的英文意思,电脑的英文什么意思最新见解
- 江苏开放计算机绘图作业1,江苏开放大学计算机绘图形考2
- 周边pd是什么意思_肿瘤百问百答(六)关于胃癌的PD-1抗体治疗,你应该知道些什么?...
- 对象可以创建数组吗_电脑零基础可以学习创建网站吗?
- Android开发学习之基于ViewPager实现Gallery画廊效果