3 wawlt

尚未进行身份认证

我要认证

BUAA小菜鸡

等级
TA的排名 30w+

算法导论

算法导论引言我有一个目标,就是这学期把《算法导论》这本书的所有课后习题完成,并将书上的所有问题都看懂。加油。我会陆续把书上的所有伪代码用C++语言实现一遍,并将所有的课后习题完成写在这里。形式可能有我的手写笔记图片,手写作业图片,和直接用博客写的。这是这个系列的第一篇文章。学习步骤:看MIT的那个算法导论的MOOC →\to→ 看书并完成书上推导和习题 →\to→ 刷OJ希望这一...

2019-09-05 22:14:34

归并排序

归并排序思路1.分解:分解待排序的nnn个元素的序列成各具n/2n/2n/2个元素的俩哥哥子序列2.解决:使用归并排序递归的排序两个子序列3.合并:合并两个已排序的子序列得到答案合并先考虑将两个已排序好的数组合并为一个数组伪代码如下:MERGE(A, p, q, r) //合并数组A[p..q],A[q+1..r]n1 = q - p + 1n2 = r - qlet L[...

2019-09-05 14:52:52

常识

一些常识头文件#include<bits/stdc++.h> //这个头文件包含以下等等C++中包含的所有头文件: #include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #...

2019-09-05 14:05:09

洛谷P1192上台阶

台阶问题[https://www.luogu.org/problem/P1192]主要就是一个递推公式f(n)=f(n−1)+f(n−2)+f(n−3)+...+f(n−k)f(n) = f(n - 1) + f(n - 2) + f(n - 3) + ... +f(n - k)f(n)=f(n−1)+f(n−2)+f(n−3)+...+f(n−k)这里有个坑点,就是前K个阶梯走上去的方法,...

2019-09-04 09:05:03

DFS求联通块的问题

洛谷[https://www.luogu.org/problemnew/show/P1141]用广度优先搜索会超时两个数据点//还是会超时,欸,还得优化 #include <bits/stdc++.h>using namespace std;#define MAX 1005struct node{ int x, y;}s, e;int dir[][2] = {1,...

2019-06-11 17:55:52

简单搜索POJ 1321 POJ 2251 POJ 3278 POJ 3279 POJ 1426 POJ 3126 POJ 3087 POJ 3414 FZU 2150 UVA 11624 POJ 3984 HDU 1241 HDU 1495 HDU 2612搜索进阶HDU 1043 HDU 3567 HDU 2181 HDU 3533 HDU 1560 ZOJ 2477 HDU 3085 ...

2019-06-02 15:00:26

3.23学习笔记——从文件中取一个单词

文件操作用fgetc读取文件中字符时,终止条件应该是while((c = fgetc(in) != EOF){....}//而不是while((c = fgetc(in) != '\0'){...}//或者while((c = fgetc(in) != '\n'){...}...

2019-05-12 22:45:02

树的模板

想总结一点树的模板首先是二叉树的节点定义typedef struct node { int data; struct *lchild, *rchild;}*Btree, btree; 前序遍历递归算法void PREORDER(Btree T) { if(T) { visit(T); PREORDER(T->lchild); PREORDER(T->rc...

2019-05-08 16:22:11

学习笔记 2019/4/6

从文件中读取一个单词的方法EOF在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。#include <st...

2019-04-06 21:11:25

算法学习2——动态规划 4/2

一些典型题目1.显然这个题目要用到动态规划,可以考虑假设有n步,每一步都要纠结要不要捡金币,但从后往前考虑,则假设将结果保存在数组ans[n]ans[n]ans[n]中,每步有多少金币则保存在数组a[n]a[n]a[n]中,则分情况考虑,1.走到第n步的时候如果捡起金币,则n-1步肯定没有捡起金币,则ans[n]=a[n]+ans[n−2]ans[n] = a[n] + ans[n-2]a...

2019-04-03 01:39:16

2019/3/31

一道OJ的思考这是一道OJ题,其中涉及到两个问题1.如何求任何一个数的位数2.如何求n!n!n!的末尾0的个数(学过一点组合数学的都知道,有一个公式叫Stirling公式1.如何求一个数的位数有几种很简单的方法,例如循环之类的但这里想说一种利用简单数学知识的方法任意一个正整数a的位数等于(int)log10(a) + 1;为什么呢?下面给大家推导一下:对于任意一个给定的正整数...

2019-03-31 16:59:30

HDOJ刷题顺序(转载)

1第一阶段:开始入门吧!(15天,53题)一.输入输出练习(2天,10题)1000、1089—1096、1001二.简单操作:(2—4天,12题)2000—2011、2039三.英文题试水(3—4天,8题)1720、1062、2104、1064、2734、1170、1197、2629四.回归水题(4-6天,24题)2012—2030、2032、2040、2042、2054、205...

2019-03-28 18:01:09

POJ刷题顺序(转载)

1POJ从简到难(按照AC数目排序)的列表如下,作为小弱的刷题顺序。大牛们可以看后面倒排的hard表,还有四道题没人拿到first blood.表格属性依次为:ID,Title, Ratio, AC, Submit我会加油的 !!!1000 A+B Problem 0.55 188072 3389771004 Financial Management 0.41 58282 140301...

2019-03-28 18:00:42

POJ刷题指南(转载)

1经过我初步的整理,一个比较完整的归类已经完成,现在发布给大家,希望可以方便大家练习,如有不足,还请大家见谅,这个可能会随时有更新,请大家注意.如果有什么要求或补充的可以跟贴提出,勿水!!!OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本...

2019-03-28 17:48:45

算法学习1——动态规划

打算用这个星期学完基本的动态规划!加油。 2019/3/2815.1 钢条切割//递归求法, n = 30以后超级慢 #include <cstdio>#include <iostream>#define MIN -100000using namespace std;int max(int a, int b) { return (a>b)?a:b...

2019-03-28 17:39:14

3.5学习笔记

1.关于while的终止条件while(0);//while里面是0的时候会终止while('\0'); //也会终止2.C语言中运算符优先级问题

2019-03-23 13:55:43

学习笔记 2.25

1.字符串赋值的问题不能这么赋值,其他的几种都可以。#include <stdio.h>#include<string.h>int main(){ char str[10]; str = "China"; printf("%s", str);}2.指针的某个

2019-02-25 21:50:42

读书笔记1——编写可读代码的艺术

The Art of Readable Code图书馆无意间看到的一本书,经常被大佬室友吐槽我的代码写的很难读,变量命名啥的一塌糊涂。所以想通过阅读这本书,找点经验。表面层次的改进一、把信息装进名字写完突然想到一篇文章,去翻了翻 知乎.介绍如何命名的文章一个好的命名网站命名网站.选择专业的词 要能很好的表达意思 类似get,tmp,就表意不明,用FetchPage() 就更好选择...

2019-02-05 19:07:56

未完待续

判断质数的方法经常遇到判断质数的题目,这里总结一下方法一、 传统的简单的方法先判断特殊情况1和2,在判断一般情况,中间间隔2相加在这里插入代码片bool is_primer(int n){ int i; //判断1and2 if(n == 1) return 0; else if(n == 2) return 1; //判断是否是偶数 else if(n % 2 == ...

2019-01-24 00:53:25

取数字的方法

取数字对于一个数字,要提取其各位数上的数字,用如下方法 while(a != 0){ i = 0; b[i] = a % 10; a /= 10; i++; }以前我只会知道位数的数字提取各位数数字,用这个方法可以解决不知道位数的各位数字。来自洛谷P1980...

2019-01-20 00:34:31

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。