【思维题】Codeforces 1555D Say No to Palindromes
题意 这个题中出现的字符串只能有a, b, c三个字母构成。如果一个字符串里不存在一个子串,既是回文串又有长度大于等于2,那么这个串就很漂亮。 给一个长为n的字符串,有m次询问,每次询问[l,r]这个区间的字符串,至少需要改变几个字符,才能把它变成一个好看的字符串。 思路 关键点:一个漂亮的字符串,其实任意三个相邻字符都两两不相同。 证明:思考这样…
初学主席树
今天学长心血来潮,跟我讲了主席树。 身为资深笨比的我从早上琢磨到第二天凌晨才过了主席树的洛谷板子题。赶紧整理一下。 主席树又叫做可持久化线段树,他可以解决区间第k大问题。 问题:给定一系列数,问这些书从第l个数到第r个数这段闭区间内,第k大数是多少。 基于朴素思路思考 最直接的思路就是暴力,每次询问都对这个区间排个序,排好了查一查。显然时间复杂度是…
中国石油大学OJ – 一箭多雕
题目 小明喜欢武侠小说,在武侠世界里,他不但练就了一箭双雕的能力,还可以一箭多雕。 现在所有雕在一条直线上从左到右排列,但是他们的高度不同。而小明想要把他们都射下来。小明使用的是一种特殊的弓箭,他可以将弓箭射到任意一个高度为H的雕,当射中一个高度为H的雕后,弓箭的高度会下降到H-1,再从左到右飞行,直到射到高度为H-1的大雕,再降低1的高度,直到飞…
中国石油大学OJ – 排队
题目 乐乐的 n 位朋友都拥有唯一的一个编号,编号分别为 1 至 n。某天按到达的时间顺序又给了一个顺序号,此时发现顺序号与多数的朋友编号不一致。乐乐想:如果俩俩交换顺序号,使得每位朋友的编号与顺序号相同,则最少需要交换几次? 输入: 包含二行: 第一行只有一个正整数:n,表示乐乐朋友的人数 第二行共有 n 个正整数,分别表示按顺序到达的朋友编号 …
中国石油大学OJ – 调研
题目 有一直线型展台共有 m 个展位,按该展位离入口处的远近顺序编号,其编号分别为 1、2、……、m;其中只有 n 个是展示新技术的展位,最后一个展示新技术的展位编号为 m。 这次调研分两个小组进行,每个小组最多调研连续的 10 个展位,且每个小组调研的展位至少相隔 2 个展位。 乐乐希望你设计一种安排方案,使领导调研更多的展示新技术的展位。 输入…
一切都从明天开始吧——2021年4月反思
4月已经要过了。自从9月23号来大学,已经过了将近一个半学期了。反思一下自己是很有必要的。 学习 实际情况是,起草这个反思并没有什么计划因素,是因为最近参加了校赛和蓝桥杯有感而发,临时起草的。 总的来说,挺遗憾的。 校赛花了半个多小时找座位,因为自己想用java,但是大部分机器上没有eclipse。然而实际情况是两个签到题也用不到什么C++的东西,…
快速排序和归并排序
最近在补习算法,学一学基础的算法知识 快速排序 快速排序的思路就是从当前的这堆数字里随便挑一个数字x,现在把这个x放在中间,通过某种变化,使得左面<=x,右面>=x能够成立,然后把左右两边也这样排序,递归即可得到最终解。 可以看出算法的步骤如下: 选一个分界数字x(咋选都可以,选第一个数字或者最后一个数字都行,一般选(l+r)/2中值数…
初学KMP
很久之前我一直看不懂KMP算法,看了一个视频里dalao的讲解,我还是没看懂。。。。。。 然后在暑假的某一天,睡觉的时候突然明白了一点点我以前不会的KMP算法,于是赶紧记下来。 如果我希望得知某一个字符串 p 在某一个字符串 s 中是否出现过,或者出现过几次,或者在哪里出现过,那么应该怎么办呢? BF算法 我上来一拍脑门就能想到一种暴力算法,也就是…
UVa202 循环小数
题目 题目 输入多组数据,每组输入整数a和b,(0<=a<=3000, 1<=b<=3000),输出a/b的循环小数表示以及循环字节长度。 样例输入 76 25 5 43 1 397 样例输出 76/25 = 3.04(0) 1 = number of digits in repeating cycle (空行) 5/43 …
其实我家也吃得上饭
一 1月底的时候,我亲爱的高中母校连着两天发了两篇公众号推文,好好吹了一堂特殊的劳动课,原来是学弟学妹们亲自下了厨房,给爸妈做了一桌子丰盛的饭菜。要不是仔细看了文章内容,我还以为是我的母校学弟学妹们炒河蚌整出珍珠来,捐给学校去印卷子,造福了大家伙了。 看罢新闻,我震惊,我顿足,我锤头,我叹气,唉!高中生,怎么能留在厨房里做饭呢,难道不应该是争分夺秒…