和manacher有关的乱写】的更多相关文章

当初学kmp hash的时候被教导manacher非常的鸡肋 今天因为一篇神奇的题解我忍不住颓废了两节课把它学了 思路,代码都比较好懂 虽然它不如各种自动机霸气,唯一的功能貌似就是$O(n)$求出所有回文串.. 不过它的时空花费都比较小(滑稽) 首先为了解决回文串的奇偶问题,在每两个字符中间和整个串的两边都加上一个特殊字符(只要不在原串出现就可以) 然后发现所有的回文串都是奇串,只需要求出以每个点为对称中心的回文串即可 定义一个数组$p[i]$,表示以$i$点为对称中心的回文串的长度+1再/2(…
C语言的语法太枯燥了 换个写法   #include <stdio.h> #include<stdlib.h> #define end } #define if(x) if (x){ #define then #define while(x) while(x){ #define function(x) void function(x){ #define else }else{ #define sd scanf("%d",&x); #define s(a)…
前言:刚接手别人的项目没多久,在昨天的一次上线中无故躺坑,且该大兄弟已经离职,不得不帮他填坑,整完后,今天想搞一个总结,结论就是:SQL不能乱写. 搜索关键词:Cause: java.sql.SQLException: Unknown thread id: 1 参考文章:https://blog.csdn.net/weixin_42340670/article/details/88587118 问题背景,接手的一个项目中,有一个 service 类姑且叫 ServiceA ,在 ServiceA…
总结:对象调用方法,与在main 里直接输出没什么大的区别,少用方法, 乱搞++++ package com.c2; import java.util.Scanner; public class DD { // 求数组的平均值即 :a[i]/a.length public static void main(String[] args) { Scanner c = new Scanner(System.in); int a[] = new int[4]; DD b = new DD(); // D…
RT.开坑. 10.1 开门黑23333. 放假回来稍困,而且感冒似乎愈加严重,导致我正常考试基本睁不开眼.一个小时勉强把题读懂,神志恍惚如斯. 看T2觉得估计又是各种推柿子堆定理的数学大题,写了个暴力就扔了.打暴力期间还差点写飞几个细节. 看T3,一眼可以马拉车骗暴力(废话题目都写了),但字符串长度才5000.这不随便写?玄学预处理剪枝+二位前缀和过了样例. 这个过程搁在平时大概一个小时左右,但鉴于今天隔三岔五就神游天外的精神状态,它耗费了两个多小时. T1可以贪心+二分?有几种贪心不知道选哪…
NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高度的过程中,如果高度不是d的整数倍,则必定有一步没有走满d个高度. 如果剩下的步数为偶数,则直接累计答案,可以证明没有更优的情况(虽然我懒并没有证明但我觉得这挺显然的啊……) 如果剩下的步数为奇数,考虑把原来没有走满的那一步走满,然后把多余的那一步补到下降中,也可以证明没有更优的情况.(显然……于是…
还有13天NOI,把各种乱七八糟的算法都重新过一遍还是比较有必要的... //HDU 5046 Airport //DancingLink #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define MAXN 110 #define MAXD MAXN*MAXN #define INF 0x3f3f3f3f #de…
https://www.luogu.org/problem/show?pid=2704 题意: 炮兵在地图上的摆放位子只能在平地('P') 炮兵可以攻击上下左右各两格的格子: 而高原('H')上炮兵能够攻击到但是不能摆放 求最多能摆放的炮兵的数量 就是这个意思. 难度提高,弱省省选 一开始是想写dfs(迷之八皇后)的, 但是看到数据量100就想dp了: 因为题目n的范围给的很少n<=10,想到状压 非常明显是一个状态压缩的dp(状压dp) 其实可以当做状压的入门题目来做. 由于本行的状态是由前若…
面试过好多人,包括自己也属于这么一个情况: 遇到问题直接去网上查,一般都可以查到解决方案.其中也包括一些基本的面试资料的答案. 其实有很多答案也都是正确的,但是还是存在一些压根就是胡乱抄来的答案,也不经过验证就直接贴在自己博客上 简直是害人害己,这开发工程师的圈子大了真是什么偷懒的都有.杜绝这一现象从我做起吧.以前写的代码很少有返回主键值的,都是记录生成记录的条数,所以我也是第一次做,特此记录 今天说下 oracle 能像mysql 和 sql server 一样返回主键: 1:创建你的表,然后…
啊一道水题有什么好说的 上课听不懂,下课泪两行. 有的人什么套路都会,我.. 只能可怜巴巴的抄代码,然后自己总结,顺(zhu)便(yao)颓博客 1.递推dp的思路做到一半死了,怎么也想不出来如何处理上边界 最后我灵光一闪颓了题解,get到了递推的处理方法. 仍然是朴素的for循环,从高位开始枚举,如果满足限制则后边的数位可以无限制地选择,动用预处理的数组 如果不满足了,break掉,后边全废. 40分:忘记处理第10位(话说虽然他写的是2e9但是的确有10位数字..)&&上界处理不当(小…