avatar
文章
41
标签
31
分类
9
主页
文章
  • 归档
  • 标签
  • 分类
待办
链接
关于
Himekawaの小屋《算法导论》(Introduction to Algorithm)读书笔记 返回首页
搜索
主页
文章
  • 归档
  • 标签
  • 分类
待办
链接
关于

《算法导论》(Introduction to Algorithm)读书笔记

发表于2022-01-10|ACM
|浏览量:
文章作者: Himekawa
文章链接: https://himekawa.top/2022/01/algorithm-intro/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Himekawaの小屋!
ACM
赞助
  • 微信
    微信
上一篇
C++文件读写操作及加速
0x01-文件读写方法 使用C语言中的freopen()函数进行打开文件并重定向输入输出。示例如下: 12345678910#include<iostream>;using namespace std;int main(){ freopen("testfile.txt","w",stdout); for(int i=0;i<10;i++) cout<<i<<" "; return 0;} 这样,你就可以使用普通的cin,cout来进行文件的输入输出了。当然,也可以使用scanf()、printf()等输入输出函数。 1234567891011#include<iostream>;#include<cstdio>;using namespace std;int main(){ freopen("testfile.txt","w",stdout); ...
下一篇
【MicroBit】MuSic!Master-使用Python实现MicroBit播放简谱音乐
相关推荐
2024-12-19
图论基础
图的定义 点用边连起来就叫做图。在严格意义上,图是一种数据结构,定义为:graph=(V,E)graph=(V,E)graph=(V,E)。 其中,V={p∣p=(a,b)}V=\{p|p=(a,b)\}V={p∣p=(a,b)}是一个非空有限集合,代表顶点(结点),EEE代表边的集合。 图的相关概念 有向图:图的边有方向,只能按箭头方向从一点到另一点。 无向图:图的边没有方向,可以双向。 结点的度:无向图中与结点相连的边的数目,称为结点的度。 结点的入度:在有向图中,以这个结点为终点的有向边的数目。 结点的出度:在有向图中,以这个结点为起点的有向边的数目。 注:有向图中所有顶点的入度之和等于所有顶点的出度之和。 权值:边的“费用”,可以形象地理解为边的长度。 连通:如果图中结点U,V之间存在一条从U通过若干条边、点到达V的通路,则称U、V 是连通的。如果图中任意两点都是连通的,那么图被称作连通图。 回路:起点和终点相同的路径,称为回路,或"环"。 完全图:一个nnn阶的完全无向图含有$\frac{n(n-1)}{2} 条边;一个条边;一个条边;一...
2025-03-12
几道算法题解
好久没写算法题了,一写才发现自己真忘光了。还好这几题基本上都是暴力题( 头痛好想睡觉 A-子串分值 第一题一看就有点蒙,读完题发现不难,然后写了个暴力,过了样例,然后很显然地 TLE 了 于是写了个简单的记忆优化,但复杂度还是 O(n2logn)O(n^2logn)O(n2logn) ,所以又爆了 爆两次之后仔细分析了一下,他要求的字符串中总共就 26 个字母,我们不妨从字符出发,求每个字符的贡献度。例如样例是ababc的话,对于第一个a贡献度就是 2,第二个b贡献度就是 4,以此类推。 因为该字符能做出贡献的 substr 中一定只包含一个它,所以我们往左右两边找上一个和下一个它即可。而贡献度 DiD_iDi​ 的计算方式可由乘法原理得: Di=(i−l)(r−i)D_i=(i-l)(r-i) Di​=(i−l)(r−i) 也就是左边字符数+1 乘右边字符数+1。而把两个乘数算出来再相乘的复杂度应该是O(n)O(n)O(n),按理说是可以过的 那为什么没过呢,因为我忘记开long long了 XD 代码如下 12345678910111213141516171819202122...

评论
avatar
Himekawa
Himekawaの小屋
文章
41
标签
31
分类
9
Github
公告
添加友链请发送至邮箱
目录
  1. 1. 声明
  2. 2. 规范
  3. 3. 目录
    1. 3.1. 第零部分-必需知识
      1. 3.1.1. C0.数学知识
    2. 3.2. 第一部分-基础知识
      1. 3.2.1. C1.算法基础
      2. 3.2.2. C2.函数的增长
      3. 3.2.3. C3.分治策略
      4. 3.2.4. C4.概率分析及随机算法
    3. 3.3. 第二部分-排序算法
      1. 3.3.1. C5.堆排序
      2. 3.3.2. C6.快速排序
      3. 3.3.3. C7.线性时间排序
    4. 3.4. 第三部分-数据结构
      1. 3.4.1. C8.基本数据结构
      2. 3.4.2. C9.散列表
      3. 3.4.3. C10.二叉搜索树
      4. 3.4.4. C11.红黑树
      5. 3.4.5. C12.数据结构拓展
    5. 3.5. 第四部分-高级设计和分析技术
      1. 3.5.1. C13.贪心算法
      2. 3.5.2. C14.动态规划
      3. 3.5.3. C15.摊还分析
    6. 3.6. 第五部分-高级数据结构
      1. 3.6.1. C16.B树
      2. 3.6.2. C17.斐波那契堆
      3. 3.6.3. C18.Van树
      4. 3.6.4. C19.用于不相交集合的数据结构
    7. 3.7. 第六部分-图算法
      1. 3.7.1. C20.基本的图算法
      2. 3.7.2. C21.最小生成树
      3. 3.7.3. C22.单源最短路径
      4. 3.7.4. C23.所有节点对的最短路径问题
      5. 3.7.5. C24.最大流
    8. 3.8. 第七部分-其它算法
      1. 3.8.1. C25.矩阵运算
      2. 3.8.2. C26.多项式
      3. 3.8.3. C27.数论算法
      4. 3.8.4. C28.字符串算法
      5. 3.8.5. C29.计算几何
最新文章
Web 大作业2026-06-05
OnePlus Ace3v 刷类原生2026-05-23
AI学习奠基笔记2026-03-30
Kimi Claw使用尝鲜2026-02-18
VNCTF2026 HuntingAgent WP2026-02-02
© 2021 - 2026 By Himekawa框架 Hexo|主题 Butterfly
萌ICP备20255244号
搜索
数据加载中