1. C++基础语法

1.0 第一个C++程序

阅读更多

Day6 舞蹈链

0.写在前面

搜索是个好东西,但是时空复杂度有局限,所以我们引入了A*,迭代加深,双向宽搜和舞蹈链来解决时空复杂度的问题。

阅读更多

Day3 线段树,树状数组

0.简介

线段树和树状数组是用来解决区间修改和区间查询的数据结构,二者各有优劣,且理解和实现难度不同,因此都需学习。

本文将讲述线段树和树状数组的实现原理和模板题具体实现。

废话不多说,让我们开始吧

阅读更多

[2022冬季训练]个人自测赛(一)题解与体会

0.题外话

自2019年CSP-J以来,浩熙再也没有参加过有关算法的正式比赛和考试。虽然其中经历过转专业考试和新生赛,但是个人觉得这些考试运用算法的很少,虽然新生赛也有算法题,但是还是以代码水平为主。因此,本次比赛算是浩熙三年后再一次参加的第一场算法比赛,是浩熙从一名OIER到一名ACMer转变的第一步。因此本次考试对于浩熙的意义是非同寻常的。

总体看下来,三道题一血,RANK6的成绩也还算不错。不过具体到题上,我们可以发现此次考试题其实多数是在提高组难度的,但浩熙现在却只会切模拟搜索和贪心题,对于图论和DP等已经很手生了。

所以下一步,要进行的大规模集训分为两部分,第一部分为回顾,第二部分为知新。这两者并不冲突,相反可以相辅相成。

最后,感谢浩熙的室友Hilton和fatak,让浩熙有了坚持和前进的动力。320ACM,冲!

阅读更多

2021冲B层暑假集训Day5 DP专题

Day5 动态规划

零、什么是动态规划

简单来说,DP是一种决策方式。

这种决策方式需要每次决策依赖于当前状态,随机有引起状态的转移,从而获得一个决策序列。

基本思想就是,待解决的问题分成若干个子问题,依次求子问题的解,前一子问题的解为后一子问题提供有效的信息。在求解子问题时,列出所有可能的局部解,通过决策保留有可能达到最优的局部解。最后一个子问题就是初始子问题的解。

阅读更多

2021冲B层暑假集训Day4 基础数据结构

Day4 基础数据结构

零、数据结构

(一)什么是数据结构

百度百科:数据结构是计算机储存、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

比如我们学过的数组,就是一种简单的数据结构,一维数组对应顺序表,即每个元素有对应的下标,可以通过元素的地址快速找到对应下标的元素。

阅读更多