自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Educational Codeforces Round 170 (Rated for Div. 2) (A~C)

这场比赛打的巨烂······,前几周没有认真学算法,这周刷了几道题就直接打了这场比赛,结果就是大败而归,算法的学习还得是日积月累,隔好几天不敲,不仅手生疏了,连原来的知识储备都忘的一干二净了,在比赛的时候我感觉我脑子空空的,啥都忘记了QWQ。

2024-10-16 19:20:42 831

原创 牛客小白月赛101(A~E)

最近几天没怎么刷题,昨天晚上打的这场牛客月赛打的很烂,隔几天不刷题感觉自己的思维都钝化了,看来每天得刷几题找找手感,不然直接打训练赛容易暴毙。

2024-09-21 18:11:53 647 1

原创 Codeforces Round 968 (Div. 2) (A~D)

我们只需要考虑字符e和字符f,显然根据令人愉快的整数整数的定义,(1,2) (1,3) (1,4)都不满足,只有(1,5)满足。找到这个规律题目就非常简单了,我们只需要将n个序列中执行2次操作,找出最大的x。ddd这三个字符无论放什么位置他们都是互为好对数,所以不用考虑他们的位置。根据题目要求,我们可以进行任意次操作,每次操作都需要将x放入序列中。如果我们将字符拆散,即改成defdd,那么(1,3)就可以满足了。,我们先找出这个序列的mex,令找出的值为x。不难想到,经过若干次操作,

2024-09-12 15:45:45 781

原创 Codeforces Round 969 (Div. 2) (A~D)

考虑互换先手,那么lris可以选不为根节点也不为叶节点的其它节点,实际上它等价于01010101,中间的0对价值没有任何贡献。首先是Iris先手, 如果我们不考虑互换先手,如果当前数字在这个范围内,就让它加一或者减一。通过手算不难得出,01串为4个,10串为3个。如果不考虑贪心策略,那么它就为当前数组中的。通过手算得出,01串为3,10串为3。那么有一个很好的解决方案,由于数据不大,直接遍历即可。,下面简单说一下裴蜀定理。

2024-09-11 14:24:11 967

原创 Codeforces Round 961 (Div. 2) B2. Bouquet (Hard Version)

今天下午写这道题时,有思路却没写出来,后面看了一下别人写的代码豁然开朗,这道题其实挺简单的,没写出来只能说我太菜了QAQ。

2024-08-27 21:54:01 381

原创 牛客小白月赛99(A~F)

这次的小白月赛题目出的挺好,很多算法知识都有涉及到,E题这种题型我还是第一次遇到,也是学到了一些有用的算法知识。

2024-08-26 09:57:14 969

原创 Codeforces Round 953 (Div. 2) (A~D)

今天挑了一场div2来打,感觉这场div2的难度比暑假div2的难度低很多,A~D这四道题的考点都是模拟和贪心,把玩一下就能写出来,总体来说难度不大QAQ。

2024-08-23 17:19:08 641

原创 河南萌新联赛2024第(六)场:郑州大学(ABCDFGHIL)

昨天打的这场萌新联赛打的也是非常烂,感觉最近不在状态,打比赛总感觉发挥不出自己的水平,可能是集训一个多月都没咋休息了,身心也是有点疲惫,在坚持几天就开学了,在这最后几天在加把劲,多学一点东西总归是好的(菜是原罪QWQ。

2024-08-22 19:30:19 1062

原创 Codeforces Round 967 (Div. 2) (A~D)

div2一如既往打的很烂·····,赛时C题经常都是卡着,每次都是赛后才写出来,还是得多刷div2的题目······

2024-08-22 09:45:05 981

原创 Educational Codeforces Round 168 (Rated for Div. 2) D题

可以执行无限次操作:选择一个节点,将其子节点全部。给定一棵n个点的数,根节点为1,每个点都有权值。权值不能为负数,求根节点最大的权值。当回溯到根节点1时,加上mn即可。我们想让根节点的权值尽可能大,从树的叶节点(树的末端)

2024-08-18 10:57:45 455

原创 Educational Codeforces Round 169 (Rated for Div. 2) (A~D)

手速场,半小时A出3道题,后面直接坐牢1个多小时······,D题看了半天,有思路却不会写,赛后看了一下大佬们的代码确实非常好,我自己是写不出来的,E题博弈论没怎么学,就不补了QVQ。

2024-08-16 16:33:03 1235 8

原创 河南萌新联赛2024第(五)场:信息工程大学

这场比赛打的一般,有很多都是模板题,K题硬套dijkstra的模板一直WA,赛后发现题目读错了······,这场比赛一直卡在B题,每次写完一题都回去看B题,最后几分钟才把B题写出来,很多题目都没时间看,一道B题导致这场比赛直接寄了,赛后补了一下其他题目其实很简单,就是赛时没时间写了(菜就多练QAQ。

2024-08-15 14:18:24 971

原创 Codeforces Round 966 (Div. 3) (A~F)

赛时写的还挺快的,50分钟就A了4道题,当时排名已经到2千多了,后面就坐牢1个多小时······,E题一开始想用贪心先把猴子放在网格图的中间,后面觉得实现起来太麻烦了,直接做F题了,赛时也是用的贪心,没过,赛后想了想应该用DP的,本质上就是背包问题,当时没想到这点,DP学了还是不会用,题型还是见太少了····

2024-08-15 10:07:06 1582

原创 ST算法(Sparse Table,稀疏表)

ST表(Sparse Table)是一种用于高效处理区间查询的数据结构。它可以在O(1)的时间复杂度内回答某一区间的最值查询(最小值、最大值等)。ST表使用动态规划的思想,通过预处理的方式来快速计算出各个区间的最值。

2024-08-13 15:14:16 1253

原创 牛客周赛 Round 55(A~E)

这场牛客周赛感觉偏难了,D题开始就上强度了,赛时用了dfs一直报超时·····,赛后看了别人用bfs写更简单,思路都差不多,就是每次遍历到终点我都一直让他继续遍历,我当时咋就没想到bfs呢,E题赛时没想到DP(蒟蒻看不出来啊),也是套了dfs循环骗分,总体来说这场比赛出的挺好的,只是题目我写不出来而已 QWQ。

2024-08-12 13:40:03 1259

原创 动态规划之——背包DP(完结篇)

本文讲分组背包、有依赖的背包、 背包问题求方案数以及背包问题求具体方案

2024-08-09 21:45:11 769

原创 河南萌新联赛2024第(四)场:河南理工大学(BCDFHI)

今天这场比赛打的挺烂的(题目出太难了QAQ),C题我赛时用的是数学公式法做的,没过hh,估计爆998244353了,赛后套了一下组合数模板一下就A了,至于I题赛时没看懂题意,赛后听完大佬的思路才理解这题,还是太菜了,多练·····

2024-08-08 10:16:37 778

原创 Codeforces Round 964 (Div. 4) (A~G1)

昨天晚上打的这场cf打的跟坨⑩一样,一道简单的B题从头卡到尾,最后几分钟才把他AC出来,导致这把比赛直接寄了······,div4没有算法,全是思维,看来思维还得多练啊!

2024-08-07 11:36:43 919

原创 动态规划之——背包DP(进阶篇)

多重背包也是 0-1 背包的一个变式,与 0-1 背包的区别在于每种物品有 k 个,而非一个。二进制优化是将个数进行拆分,那么我们有没有其他更快的方法呢?,可是不同的是选一个物品会消耗两种价值(容量、重量),从第二个物品开始,每个物品的价值跟物品的重量w有关系。比如苹果总数为50,如果我们一个个拿,需要拿50次。那么我们可以在01背包的基础上,多加上一重循环,假设说这时候有6个箱子,这6个箱子的容量为。为什么没有1呢,因为我们可选的数量为3,如果套队列优化的多重背包的模板,很明显,这个代码的时间复杂度为。

2024-08-06 19:57:21 1326 2

原创 递归/分治题单(洛谷)

刚写了几道不错的递归题,题目倒是不难,自己实现起来却有点困难,大佬们代码的思路很好,我倒是没想到递归可以这么精妙,递归确实好用啊!

2024-08-05 19:41:09 950

原创 动态规划之——背包DP(入门篇)

而我们从后往前遍历,后面的容量不可能比原来的容量大,因此也就不会出现上面这种情况。(解释:新的状态每次都会覆盖原状态,因此每次都跟自己比较大小即可)本文只讲了01背包和完全背包,至于其他背包问题后续补充。,因此我们只需要保留一维,将新的状态覆盖在原状态即可。到此,模板题讲完了,接下来我们来看一道01应用题。算出左脑最多花的时间,ans加上总时间减去。对于上述例题来说,这个代码是过不去的。我们可以先从后往前枚举,在当前。,我们可以将上述步骤改为递归。,与01背包不同的是,这题的。观察式子,我们发现当前状态。

2024-08-05 13:55:35 1359

原创 2435. 矩阵中和能被 K 整除的路径(leetcode)

看题解看了半天都看不懂,看了视频也看了好久······,最后还是自己手动模拟才懂的,大佬们写的代码非常好,自己根本想不到该如何用代码实现出来,还是得多刷题,多见一些新题型。

2024-08-04 17:17:39 1243

原创 求最短路径的基本方法——SPFA(贝尔曼-福特算法的优化算法)

SPFA算法是求解单源最短路径问题的一种算法,由理查德·贝尔曼(Richard Bellman) 和 莱斯特·福特 创立的。有时候这种算法也被称为 Moore-Bellman-Ford 算法,因为 Edward F. Moore 也为这个算法的发展做出了贡献。它的原理是对图进行V-1次松弛操作,得到所有可能的最短路径。其优于迪杰斯特拉算法的方面是边的权值可以为负数、实现简单,缺点是时间复杂度过高,高达 O(VE) 其中V是节点数量,E是边数量。但算法可以进行若干种优化,提高了效率。

2024-08-02 11:27:23 1024

原创 洛谷 P1032 字串变换

这题挺有意思的,让我无从下手······看别人的题解都得看半天,看到有位大佬写了迭代深搜,我表示不会,还是老老实实的用bfs(广搜)来解决这道题吧。

2024-08-01 18:56:09 440

原创 求最短路径的2种基本方法——Floyd算法与Dijkstra算法

算法的特点:弗洛伊德算法是解决任意两点间的最短路径的一种算法,可以正确处理有向图或无向图或负权(但不可存在负权回路)的最短路径问题,同时也被用于计算有向图的传递闭包。算法特点:迪杰斯特拉算法可以算出从一个顶点到其余各顶点的最短路径,解决的是有权图中最短路径问题。

2024-08-01 15:57:13 1208

原创 河南萌新联赛2024第(三)场:河南大学(BCEFJL)

这场训练赛打的中规中矩,赛时只过了中等偏下的题目,中等题往上一道没写出来,E题有思路却一直超时,算是这场比赛的遗憾吧(set真别用,容易超时啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2024-07-31 20:33:03 847 2

原创 动态规划之——线性DP(入门篇)

线性动态规划,是较常见的一类动态规划问题,其是在线性结构上进行状态转移,这类问题不像背包问题、区间DP等有固定的模板。线性动态规划的目标函数为特定变量的线性函数,约束是这些变量的线性不等式或等式,目的是求目标函数的最大值或最小值。

2024-07-30 20:12:32 1517 2

原创 Pinely Round 4 (Div. 1 + Div. 2) (A~D)

昨晚打的这场cf状态特别不好,打了不到半小时就开始发困了,边听歌边打都止不住困意,打的是一言难尽,下次打cf之前先睡个半小时,身体真是吃不消······

2024-07-29 14:23:26 760

原创 Codeforces Round 962 (Div. 3)(A~E)

这场div.3难度比以前更大一些,一道C题想了半天都想不出来,导致这场比赛直接寄了·····,打的非常烂(不如直接摆烂睡觉:(

2024-07-28 14:36:45 1353

原创 计蒜客T3473(丑数) + 计蒜客T1271(完美k倍子数组)

这两道题写起来有点意思,不能单纯的暴力模拟,需要找寻他们之间的规律,也是卡了我好一会才写出来。

2024-07-26 16:53:22 414

原创 河南萌新联赛2024第(二)场:南阳理工学院 (ADFHIJ)

今天的训练赛打的还行,发挥出我自己应有的水平,不过水平还是有限,该卡的地方还是卡着,有思路却写不出来是最难受的,还是得多刷刷题,提高代码水平。

2024-07-25 10:41:29 592 2

原创 牛客14666(优先屏障) + 牛客14847(Masha与老鼠)

昨天刷的这两道题写了很久·····,特别是Masha与老鼠这道题,写了都快3个小时,主要还是理解代码逻辑有点难,不过写完之后感觉收获挺大的,给我以后刷题提供很好的思路。

2024-07-23 09:43:09 355

原创 set、multiset、unordered_set的区别以及常见用法 + 基本位运算bitset常见用法

set存放的元素呈升序set当中存储元素的value都是唯一的,不可以重复set中的元素不能被修改。

2024-07-21 15:08:27 744

原创 Codeforces Round 960 (Div. 2) (A~C)

今天打的这次cf打的也不好,前面2题浪费了太多时间,导致第三题没有太多时间看,第三题就写了一个纯模拟超时了,以后看数据范围再也不写模拟了,还是得找规律。

2024-07-21 10:49:03 494

原创 Codeforces Round 954 (Div. 3) D. Mathematical Problem

题目看起来不难,我是先考虑0和1的特殊情况,除了n等于2和3的情况下,其他情况遇到0则最小值就是0,遇到1则可以考虑不看,加法优先度大于乘法,想到这思路基本上都有了,但主要是我发现我不会写······,只好看别人的代码借鉴一下思路了···

2024-07-18 19:44:44 238

原创 无重复字符的最长子串(leetcode)

如果我们用两重循环去遍历字符串,显然会超时,因此我们可以考虑用滑动窗口的思想做这道题,先定义两个指针l和r以及unordered_set(哈希表)用于存储出现过的字符,遍历字符串,若该字符未出现过,则r指针右移,当前字符进入哈希表,若出现过则比较l到r的距离(即r-l),然后在哈希表里将窗口的头元素删去,让l指针右移,最后输出最大的距离。如题,给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。

2024-07-18 15:19:10 219

原创 c++数据结构——栈

由于题目求的是下一个更大元素,因此我们可以考虑用栈来模拟最大的元素,倒着遍历nums2,判断当前元素是否比栈顶元素大,满足则删去栈顶元素,直到不能删为止,判断栈是否为空,若为空则说明当前元素是最大的,我们可以标记当前元素为-1,不为空则标记当前元素为栈顶元素(栈顶元素大于当前元素),最后从头遍历nums1即可。用栈模拟一遍,将所有无法匹配的括号的位置全部置1,经过这样的处理后, 此题就变成了寻找最长的连续0的长度。(后进先出的叫法,也是可以的):栈的插入操作,叫做进栈,也称压栈、入栈。

2024-07-18 11:15:35 522

原创 河南萌新联赛2024第(一)场:河南农业大学(ADFGHIK)

这是我打的第一次萌新联赛,总体来说题目不算太难,但以我现在的水平只能写出中等偏下的题目,还是得先打好基础,在往上拔高。

2024-07-17 20:18:13 707 5

原创 哈希表(知识点+leetcode)以及字符串哈希

哈希表是散列表,就是通过关键码值而直接进行访问的一种数据结构哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素其内部由一个个key:value 样式的键值对组成。哈希表中的key通过哈希函数得到内存地址,然后将key和value放到对应的内存地址,从而实现通过key获取Value的方式哈希碰撞:2个不同的key通过哈希函数(hash function)得到了相同的内存地址,也就是是内存地址已经被一个占用了,解决方法是将其中之一变为链表结构,使用next指向。

2024-07-16 19:49:28 1818

原创 Codeforces Round 958 (Div. 2) (A~C)

这是我们暑训的第一场cf比赛,因为隔了好几个星期没有认真刷题,这次的比赛打的依托······,签到题的A题都卡了我好久(一开始思路对的,被我自己驳回了好几次·····)

2024-07-16 10:28:55 444

空空如也

空空如也

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

TA关注的人

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