自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 安装 on-my-zsh 报错:curl: (6) Could not resolve host: raw.githubusercontent.com

添加 `199.232.68.133 raw.githubusercontent.com`打开 C:\\Windows\System32\driver\etc\hosts。找到并打开本地 Host 文件。

2024-02-15 21:51:54 467 1

原创 Cf 1513B AND Seguences(严格证明)

题目链接:https://codeforces.com/problemset/problem/1513/B题意:略证明:因为要求iii从111到nnn都要满足左边按位与等于右边按位与,所以就想到两边的极限情况.当 (式1)i=1i = 1i=1的时候要求,a[1]与a[2]...a[n]a[1]与a[2] ... a[n]a[1]与a[2]...a[n]按位与和结果 相等。当(式2)i=ni = ni=n时,要求a[1]…a[n−1]按位与和a[n]a[1]…a[n - 1]按位与和a[n]a[1

2022-03-25 00:08:06 140

原创 P3167 通配符匹配(字符串哈希+dp)

题目链接:​​​​​​P3167 [CQOI2014]通配符匹配 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)题目大意:给出一个主串,里面'*'可以匹配0个及其以上的任意字符串,另一个是问号'?',可以匹配任意一个字符,现在有一堆匹配串,求每一个是否能和主串匹配?思路:因为*涉及到匹配多少个的字符问题,加上又是字符串匹配,所以可以想到dp,然后分析一下时间复杂度,如果f[i][j]表示主串前i个字符和匹配串前j个字符串匹配的话,时间复杂度会超时,而且用哈希在判断是否匹

2022-03-15 08:57:17 245

原创 UVA - 11475 Extend to Palindrome (manacher算法)

题意:给你一个字符串,在后面拼接一部分使得其成为回文串,并且使得串最短,输出该回文串。思路:最终肯定是形成一个回文字符串,加上现在题目要求最少,那么就思考怎么使得串最短?那自然是利用字符串里面已经有的回文部分,但是因为我们只能在结尾添加字符,所以要求原来字符串中原有的回文子串的边界必须到达结尾,然后取到达结尾中最长的回文子串就可以了。涉及到求最长回文子串自然可以想到在O(n)时间复杂度内完成的马拉车算法如果不会可以看我之前写的文章​​​​​​manacher算法(马拉车)_m0_5957

2022-03-09 16:25:01 135

原创 NC17062 回文

链接:回文 (nowcoder.com)思路:因为是回文子串,所以肯定枚举中间切割点,当前中间切割点的最长回文子串是保留的。比如jelly,如果遍历到ll中间的空隙作为切割点的话,ll是肯定保留的。然后就可以分成两种情况右边全部删掉+左边部分删+左边剩下补右左边全部删掉+右边部分删+右边剩下补左比如 jelly 以e为切割点右边全部删掉:je左边部分删掉+左边剩下补右左边删掉0个,右边补j:jej左边删掉1个,右边不用补:e左边全部删掉:elly右边部

2022-03-08 18:47:56 97

原创 AtCoder Beginner Contest 240C,D

C :Jumping Takahashi题意:小T开始在坐标为0的横轴上,它会经过N次跳跃,在第iii次跳跃(1l≤i≤N)(1l\le i \le N)(1l≤i≤N),他会移动ai或者bia_i或者b_iai​或者bi​的距离,求经过N次跳跃后,小T是否能到达N点。思路:因为a和b必须选择一个,所以我们就一直选最小的那个,并且把两者的差记录下来,同时更新1−1e41 - 1e41−1e4中,可以达到的值,然后最后看是否存在最小值+数组存在的值=X最小值+数组存在的值= X最小值+数组存在的值=X

2022-02-20 22:35:27 710

原创 奇数码问题

题意:奇数码游戏是它的一个扩展,在一个n×nn×nn×n的网格中进行,其中nnn为奇数,1个空格和1到n2−1n^2−1n2−1这n2−1n^2−1n2−1个数恰好不重不漏地分布在n×nn×nn×n的网格中。空格移动的规则与八数码游戏相同,实际上,八数码就是一个n=3n = 3n=3的奇数码游戏。现在给定两个奇数码游戏的局面,请判断是否存在一种移动空格的方式,使得其中一个局面可以变化到另一个局面。证明:首先解决一个八数码游戏的问题,那个游戏是在一个3 * 3的矩阵,1- 8数字不重不漏的分布在3

2022-02-20 18:40:03 2906

原创 多重背包-暴力法+ 单调队列优化法

多重背包-暴力法+ 单调队列优化法

2022-02-16 17:47:58 309

原创 Codeforces Round #771 C. Inversion Graph

题目链接:​​​​​​Problem - C - Codeforces题意:给出一个数组,如果I < j 并且arr[i] > arr[j],就可以将i和j连接起来形成无向图,求最终有多少个没联通的部分。思路:求有多少个未联通的部分,所以我们只要把可以联通的部分联通起来就可以了,但是这样的时间复杂度是O(n^2),然后发现其实有许多联通是不必要的,所以就考虑用什么方法合适的连接可以连接的点。因为一个数只和后面比小的数有连接,所以这里建立一个单调递增的栈来进行操作。那么就有两种

2022-02-15 10:28:57 433

原创 第十一届蓝桥杯C/C++B组省赛 E:七段码(并查集+二进制枚举)

思路:因为涉及到判断联通问题,所以很自然的可以想到,用来专门用来判断是否联通的数据结构-并查集。解决了是否联通问题,接下来就是如果考虑所有的情况。有两种方法:深搜和用二进制枚举,这里使用的方法就是二进制枚举。为了方便处理我们先将字母改成对应的数字。因为一个有七段码,一个码只有取和不取两种情况,所以我们可以用一个七位的二进制来表示一个状态。比如:1111111,的意思是全部都取,0010101表示第1,3,5个取,其他都不取。所以我们只需要从1枚举到127就可以把0000001-1111111..

2022-02-13 11:58:33 757

原创 CodeForces-102D(线性dp + 前缀和+二分)

CodeForces-102D(线性dp + 前缀和+二分)题目链接:Problem - 102D - Codeforces题意: 小明要通过坐车从家里到学校,家里的站点为0,学校的站点为n,然后给出m辆车的起点和终点,小明可以从起点到终点之间(包括起点不包括终点)上车,但是一旦上车,到了终点才能下车,求小明从家里到学校一共有多少种方法,(不同车也算不同方法)思路:题目求的是到达n点有多少种方法,很容易可以想到这道题用dp来写(因为很典型)。但是如果用dp[i]表示到第几个点时候的方法数的话,数据存

2022-02-12 18:06:08 366

原创 费马小定理证明

定理:∀(a,p)=1,p 为素数,则 ap−1≡1(modp){\forall}(a,p) = 1, p\,为素数,则\,a^{p-1}\equiv1(mod p)∀(a,p)=1,p为素数,则ap−1≡1(modp)证明1:==完全剩余系:==从模n的每个剩余类中各取一个数,得到一个由n个数组成的集合,叫做模n的一个完全剩余系。完全剩余系常用于数论中存在性证明。举例:一个数除以4的余数只能是0,1,2,3,{0,1,2,3}和{4,5,-2,11}是模4的完全剩余系。可以看出0和4,1和5,

2022-01-27 17:00:09 1057

原创 Cf 1585C Minimize Distance

题意:人在坐标位置为0的点,有n个地方,各地方需要放一个东西,每次可以拿k个,放完手上的k个后如果还要放就要回0点拿,给出地方坐标(有负有正),一次可以拿k个,最后一次可以不回仓库,求走的最短距离?思路:因为是最短距离,最后一次可以又不回来,所以最后一次肯定是走到最远的。(最远的点开始的时候特判)注意到我们移动到最远的一个尚未交付包裹的站点时,我们的k - 1个东西可以覆盖其他的节点。然后又因为一次可以拿k个,所以每次肯定走到当前最远的(不算最后走的那个最远),然后逼近位置0。就可以得到最优解。

2022-01-26 21:26:21 537

原创 HDU-5371 Hotaru‘s problem

题目大意: 给定一个数字串,找出其中最长的一个符合要求的数字串,要求数字串中第一部分和第三部分相同,第一部分和第二部分相反。思路:首先看到第一部分和第二部分相反,可以联系到回文子串,本题是基于manacher算法上分析的,如果你还不懂manacher算法可以先去看下我之前的另一篇文章,有点长,只不过很详细。manacher详解好了,现在我们已经知道,第一部分加上第二部分是一个回文子串,然后题目又说第三部分等于第一部分,既然相等,我们可以知道第三部分和第二部分也是回文子串,我们姑且先把第一部...

2021-10-25 18:00:44 115

原创 manacher算法(马拉车)

manacher算法首先我们先来看一个问题:求出字符串的最长回文子串或者它的长度,比如:"cbabfd"的最长回文子串就是"bab"它的长度为3.来看一个暴力的解决方法:中心拓展法。回文子串一定是对称的,所以我们可以每次循环选择一个中心,进行左右扩展,判断字符串是否相等就可以了。但由于存在奇数和偶数的字符串,所以我们需要从一个字符串开始扩展,或者从两个字符串中间开始扩展,总共有 n + n - 1个中心。来看下代码的实现:String longestPalind

2021-10-24 14:50:09 177 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除