查找最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为1000. 例如1: 输入: "babad" 输出: "bab" 注意: "aba"也是一个有效答案. 例如2: 输入: "cbbd" 输出: "bb" 最简单的做法就是暴力解法,通过二重循环确定子串的范围,然后判断子串是不是回文,最后返回最长的回文子串即可. class Solution: @classmetho…
最长回文子串问题:给定一个字符串,求它的最长回文子串长度.如果一个字符串正着读和反着读是一样的,那它就是回文串.   给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最长回文子串是'3553',所以返回 4. 最容易想到的办法是枚举出所有的子串,然后一一判断是否为回文串,返回最长的回文子串长度.不用我说,枚举实现的耗时是我们无法忍受的.那么有没有高效查找回文子串的方法呢?答案当然是肯定的,那就是中心扩展法,选择一个元素作为中心,然后向外发散的寻找以该元素为圆心的最…
试题 算法训练 无权最长链 问题描述 给定一个n节点m边的无圈且连通的图,求直径 输入格式 第一行两个数字n,m 接下来m行每行两个数字x,y,代表x,y之间有一条边 输出格式 要求用户的输出满足的格式. 例:输出1行,包含一个整数,表示矩阵中所有元素的和. 样例输入 一个满足题目要求的输入范例. 3 2 1 2 2 3 样例输出 与上面的样例输入对应的输出. 例: 2 数据规模和约定 数据不会很大 输入数据满足M=N-1 package 蓝桥杯官网; import java.util.Arra…
T1 X国的军队 贪心,按$b-a$的大小降序排序,然后就贪心吧 #include<iostream> #include<cstdio> #include<algorithm> #define ll long long using namespace std; struct node { ll a,b,las; }h[]; ll T,n,ans; ll read() { ll aa=,bb=;char cc=getchar(); ;cc=getchar();} +cc-…
题面:https://www.cnblogs.com/Juve/articles/11615883.html X 国的军队: 好像有O(T*N)的直接贪心做法 其实多带一个log的二分也可以过 先对所有据点按b-a由大到小排序(按此方案排序后顺序扫是最优的) 然后二分答案 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define int long lon…
思路:从大到小枚举,判断其平方是否不重复 答案:9814072356 //水题 标题:平方十位数 由0~9这10个数字不重复.不遗漏,可以组成很多10位数字. 这其中也有很多恰好是平方数(是某个数的平方). 比如:1026753849,就是其中最小的一个平方数. 请你找出其中最大的一个平方数是多少? 注意:你需要提交的是一个10位数字,不要填写任何多余内容. public class Main { public static void main(String[] args) { // TODO…
简要题意 你需要维护一个长度为 \(L\) 的序列 \(a\),初始时全部都是 \(0\),有 \(N\) 个操作,支持: C p x,将 \(a_p\) 修改为 \(x\). Q a b,输出 \([a,b]\) 中的第 \(8\) 大元素的值. \(1 \leq L,N \leq 10^5\),对于任意时刻,存在 \(0 \leq a_i \leq 10^9\). 思路 据说这道题有普通线段树的 \(O(N\log N)\) 做法,但我不会,下面介绍一种较为常规的 \(O(N\log^2 N…
简要题意 有 \(N\) 个二进制数,编号为 \(1\sim N\),初始时都是 \(0\).博士进行了 \(N-1\) 次操作,在第 \(i\) 次操作时,会将 \(1\sim N\) 中所有编号为 \(i+1\) 的倍数的二进制数取反.最后给定一个区间 \([L,R]\),你需要求出 \([L,R]\) 中的所有二进制数中为 \(1\) 的个数. 示例:\(N=10,L=3,R=6\) 时,答案是 \(3\)(\(3,5,6\) 被计算). 思路 首先,我们可以发现,这道题求的就是 \([L…
简要题意 给你一个长度为 \(n\) 的正整数序列 \(a\),有 \(m\) 个询问,每一个询问给出一个区间 \([l,r]\).定义函数 \(f(x)=\lfloor\log_{2}(x)+1\rfloor\).将 \([l,r]\) 的所有元素 \(a_p\) 修改为 \(f(a_p)\).然后输出序列 \(a\) 的全局和. 对于 \(100\%\) 的数据,\(1 \leq n,m \le 10^5,1 \leq a_i \leq 10^9\). 思路 前置知识:线段树. 这一道题是无…
题面 给定一个仅含小写英文字母的字符串 \(s\) 和 \(m\) 次操作,每次操作选择一个区间 \([l_i,r_i]\) 将 \(s\) 的该区间中的所有字母 \(x_i\) 全部替换成字母 \(y_i\),问所有操作做完后,得到的字符串是什么. 对于所有评测用例,\(1 \leq |s|, m \leq 10^5\),\(1 \leq l_i \leq r_i \leq |s|\),\(x_i\neq y_i\),其中 \(|s|\) 表示字符串 \(s\) 的长度. 思路 首先我写了一个…