自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

A Little Programmer's Base

初学者的学习博

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 2017-9-17 PAT考试记

昨天去考pat,居然四题都一次ac了~~小激动,之前自己模拟测都是 八九十,有些测试用例死活想不到错误原因。第一题 1132. Cut Integer,简单题。测试的时候想到了除零的情况。#include <cstdio>#include <cstdlib>#include <vector>#include <cstring>#in...

2017-09-18 10:55:15 5120

原创 7-11 关键活动(一)

7-11 关键活动假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以同时开设,因...

2017-03-07 23:13:30 6808

原创 一些编程技术

com 技术按我看来,他的思想是很有用的,实现dll二进制兼容,用 GUID,CLSID 等全局唯一的ID 标识组件的接口。值得学习一番code project 这个网站很多windows的技术和示例代码https://www.codeproject.com/Articles/6726/COM-from-scratch-PART-ONEhttps://www.codeproject.com...

2018-09-26 22:40:45 751

原创 现代c++ 新特性 之 列表初始化

初始化 和 赋值在很多语言中都是没什么区分的。 c++中则很强调初始化的重要性,在初始化上有关的语法很多。c类型的初始化(整型浮点型、指针、数组、struct)默认、移动、复制、转换、代理、合成的构造函数构造函数的成员初始值列表constructor( arg ): m_1(arg1), m_2(arg2){ }类内初值(阻止/显式指定)合成的函数 =default =delete...

2018-09-17 22:12:46 288

原创 sicily 1024 magic island

发现n年前草稿。。最直接思路就是深搜,用 T *g[] 这种形式来构造邻接链表,注意是无向图。从出发点开始搜,标记已访问点,遍历未访问的邻接点,把所有可能都计算一次,全局变量记录最大距离。很不幸,不知为何超时。(后来发现时忘记 把图清空了) 后来想了想,似乎没说图中有无环,有无孤立点。应该做访问标记的是 边,而不是点。于是开始胡思乱想怎么才能快速判断 边 是否已访问。...

2018-09-16 23:56:39 252

原创 PAT 1038 Recover the Smallest Number

1038 Recover the Smallest Number 大意:输入n个数字串, 输出这些串拼接成的最小的数字 32 321 3214 0229 87 能拼出的最小整数 229 321 3214 32 87一开始的思路想的太简单,以为把数字串排个字典序即可。 试了一下就知道,按这个思路拼出来的是 229 32 321 3214 87, 显然不对。然后我的思路就开始歪了。想...

2018-09-06 17:58:47 151

原创 PAT 1131 Subway Map

1131 Subway Map这题输入地铁路线图,图中没有自环,但是有环。地铁线有交叉点,即中转站。 但是一个中转站最多只有5条线交叉重要的信息  Each station interval belongs to a unique subway line, 也就是相邻站点的这一段线路只可能属于一条线。输出:最优路线站数 (站数最少,尽量换乘最少)Take Line#3 from 1...

2018-09-05 21:05:11 183

原创 vim 汇总

快速定位 \ 移动光标hjkl           左下右上w              移动光标到下一个单词开头.b               移动光标到光标所在单词或上一个单词开头.0(零)         移动光标到本行最开头.^               移动光标到本行最开头的字符处.$               移动光标到本行结尾处.)          ...

2018-09-05 14:07:19 878

原创 一个list的 调试 再思考 改进 (1)

这段代码目的:  构造有序链表, 实现 merge 操作,将两个有序表合并,并且去重.例子:   A:  1 2  2 3 B:   1 3 5 8合并得CC: 1  2 3  5 8 下面代码有一句错了,导致段错误,如何调试呢/ #include <cstdio>#include <algorithm>class my_li...

2018-09-05 14:06:12 103

原创 devc++ 5.6.3 使用配置

今天心血来潮发现devc++还是有不少功能的代码补全功能,以前之所以没发现是因为他的补全键是 ctrl+space, 这个被系统的输入法切换给拦截了,所以补全没效果。 解决方法: 【控制面板】 --> 【区域和语言】 --> 【键盘和语言】 --> 【高级键设置】 --> 【输入法和非输入法切换】 --> 【ctrl+comma】 不过他的补全不算很牛,但是也...

2018-09-05 13:42:10 5080

原创 unicode locale utf mbrtowc wchat.h

wchar_t  ws[] = L"我a1"  出现了   "converting to execution character set 从这个编译错误引发的一系列查找资料。devc++ 的文本编辑器使用的编码不是utf8, 所以文本编辑器里的代码 【我】 使用的可能是gbk类的编码,因此出现了 unicode中不可能出现的字节,从而报错。总结一下:  C/C++中有这样两个...

2018-09-05 13:15:44 296

原创 PAT 1001~1017题小结

  1002. A+B for Polynomials 50min  自制链表归并所以用时多。如果用数组/std::list会快很多 1003. Emergency               很久  读题不够准确。 方法也一般般, dijk+dfs。 实际一次dijk就可以得到 1004. Counting Leaves      30min  遍历多叉树 1...

2018-09-05 12:05:39 176

原创 7-29 修理牧场

7-29 修理牧场题目大意,总长度L的木板,分为n块,每块ai长度。切割的酬劳等于被切木板长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。 一开始想了个错误的方法,排序之后,递归的分割木板。每次把木板尽量均匀的切分两段。#include <cstdio...

2017-06-05 19:20:36 641

原创 1021. Deepest Root

1021. Deepest Root 题目简述:输入一副无向图,判断是否为树,如果是树,则需要找出全部令树高最大的根(很可能不唯一)51 21 31 42 5五个节点的树,这里3 4 5作为根都可以得到最高的树。 暴力做法:把每一个节点作为根求一次树高。 DFS求树高很方便,代码简洁。复杂度O(n)。因此n个节点,总的复杂度就是O(n^2)后台的例子没有卡暴力做法,...

2017-06-01 00:50:03 308

原创 数据结构mooc课小结(0)

想总结一下,大部分内容都掌握了,但相信还是有很多不熟练之处授课大纲第一讲 基本概念 [陈越]1.1 什么是数据结构1.2 什么是算法1.3 应用实例:最大子列和问题第二讲 线性结构 [何钦铭]2.1 线性表及其实现2.2 堆栈2.3 队列 第三讲 树(上) [何钦铭]3.1 树与树的表示3.2 二叉树及存储结构3.3 二叉树的遍历 第四讲 树(中)[何钦铭]4....

2017-05-16 00:50:25 583

原创 数据结构mooc课小结(2.1)

这节课讲的是线性表。两种实现方法:数组、链表。 针对主要的操作:查找指定元素值,获取指定位置的元素,删除,插入,获得长度。以表示多项式为例,需要保存系数和指数。用数组下标表示指数,合并同类项的时候,找同类项就比较方便,去下标就好了。但是空间浪费的问题严重,如果指数的跨度比较大,那么大部分元素都是0。而且灵活性不足,不能表示负指数。链表则相反,灵活性有了,但是查找

2017-05-15 18:35:39 379

原创 数据结构mooc课小结(1)

第一课, 讲了最大子序列和的算法。 从O(n^3) 逐步讲解到O(n) 的算法。O(n^3) 和 O(n^2) 的算法非常直白,无需赘述。O(n log n)的分治法,值得去实现, 锻炼一下代码能力。主要思路是: 二分的时候,目标序列只可能有三种情况: 左边,右边,横跨分界线。选三者中最大的就好了。我觉得最核心的就是怎么处理 横跨分界线的情况,这个是我一开始没想

2017-05-15 11:23:27 441

原创 std::list::splice

以往用自己写的链表, 移动节点很方便,从A链表拆下来节点x拼到B就好了。这样做只是移动节点,不会导致额外的内存的分配/释放。 但是用 std::list 的时候,都是像这么用:   a.push_back( b.front() );    b.pop_front();这里有两个问题,new复制构造一个新节点,删除旧节点。这就很不美了。  stl不可能会这么弱的...

2017-05-02 11:07:31 1242

原创 线性代数mooc课(3.2)

先说说目前我对矩阵的理解,1、一开始是通过方程组导出矩阵的概念的,每一行都表示一个线性方程。齐次方程组A的解可以代表全部和A有关的非齐次方程组的解,因为最多只差一个平移的向量而已。2、通过适当的变形,可以得到向量的观点。按列看方程组,每列都是一个列向量,解方程就是找一组系数使得列向量的线性组合能得到目标向量。3、线性变换的观点: 每一个矩阵都表示一个变换,Ax  相当于对向量x做了某些

2017-04-10 14:02:05 954

原创 线性代数mooc课(3.1)

看到线性变换这部分,  二阶矩阵可以实现对平面的 翻转,旋转,拉伸。如何得到旋转的变换?传统的做法:     设点A( x,y) 的极坐标 (r, θ ), 旋转d角度之后得到B(r, θ+d),   因为 x = rcosθ,  y=rsinθ所以 B = (r*cos(θ+d), r*sin(θ+d)) =  ( xcos(d)-ysin(d),   y cos(d

2017-04-07 23:17:44 337

原创 线性代数mooc课(3)

矩阵的乘法首先乘法对两个矩阵的 size是有要求的,左矩阵的列数 == 右矩阵的行数X = [ a1 ... am ]  X是m列的矩阵,列向量ai长是s的,A = X 的转置,是m*s的矩阵   B是s*n的矩阵    B = [b1 ...bn], 列向量b长sC = A*B = [ Ab1 .... Abn]  = [ a1b1   ......   a1*b

2017-04-06 17:38:36 475

原创 线性代数mooc课(二)

行列式的计算。余子式 和 代数余子式 矩阵A, 余子式Mij就是去掉了 i行和j列之后变小了的矩阵M的行列式。代数余子式就是考虑上符号而已, 在 Mij 的基础上,(i+j)是奇数就是负号。行列式的计算, 一般二阶三阶行列式都是直接算的。四五阶的就先通过行向量加减乘/转置 等方法让某一行尽可能多的0, 再展开计算。这里

2017-04-06 12:22:59 525

原创 拓扑排序小记

两种拓扑排序方法:  dfs和bfs的。 先看bfs, 核心在于维护节点的剩余入度(这个词是自造的,因为入度不为0的节点的全部前继节点都被遍历过之后,该节点入度就变为0了)每次搜索都把 剩余入度为0的节点 添加进拓扑序列末尾。 因为这个时候,他的前继节点已经都在拓扑序列中了。 剩余入度怎么维护?首先搜索的起始点必定是入度为0的点,其他节点的剩余入度初始化为入度值。每当节...

2017-04-03 23:59:21 234

原创 7-11 关键活动(二)

7-11 关键活动鉴于我开始的做法不太好,dfs遍历了起点和终点间的全部路径,虽然是可以找到关键路径的,但是还要去重之后才能得到结果。于是尝试经典的关键路径算法: 1、通过拓扑排序计算出每个节点的最早开始时间,以及一个拓扑序列S2、反向遍历拓扑序列S计算出最晚开始时间3、节点的最早开始时间 == 最晚开始时间, 说明这节点就是瓶颈了,也就是关键节点 计算最晚开始时间...

2017-04-03 12:34:08 604

原创 线性代数mooc课(一)

行列式定义和计算从二元一次方程组的求解引入行列式的概念, 但是没有讨论行列式的几何意义。提到了仿射坐标系的概念,任取n个不共线的向量,就可以表示Rn上每一个点。或者说,基底的线性组合和Rn上的点一一对应直角坐标系只是其中一个特例,即基底互相垂直,带来计算上的方便二阶行列式的计算 对角线法则。三阶行列式的计算 先计算主对角线方向的, 再计算副对角线方向的。注意到行列式

2017-03-26 13:42:28 1269

原创 我学习Dijkstra 算法的过程

网上有看到 Dijkstra算法和 动态规划啦,贪心啦什么的有关。一开始一头雾水的,怎么就和动态规划有关? 哪来的最优子问题结构? 后来经过手动跟一遍 Dijkstra过程,突然醒悟到:  如果 P = A1 A2 ... An 是最A1 到An的最短路, 那么 P 包含了其中任意两点之间的最短路。否则如果P的两点 Ai Aj 之间存在更短的路, 那么总可以替换掉,从而令P更短。

2017-03-07 13:04:06 2002

原创 SrcHighlight 使用

最近写代码想要转成html,并且带有语法高亮。一搜发现有很多 高亮代码转html的工具,选了一款 SrcHighlight。一开始云里雾里,后来大致明白他的 .style .map  .lang 文件的作用。把 bin 里的source-highlight.exe 移动到 share下的source-highlight文件夹内。再到命令行运行source-highlight.e

2013-10-30 06:51:44 705

原创 Sicily 1151魔板解题报告

Sicily 1151魔板解题报告  ① 原题中文大意;  ② 算法思想及解题用到的主要数据结构③ 详细解题思路④ 逐步求精算法描述(含过程及变量说明)⑤ 程序注释清单(重要过程的说明)⑥ 测试数据(5-10组有梯度的测试数据,要考虑边界条件)⑦ 复杂度方面的分析、估算及程序优化的分析 和改进。⑧ 1515 魔板C 的代码一、 原题中大意  魔板

2013-10-29 18:29:42 1266

原创 Android SDK 与 eclipse 的配置

两种方法:1. 官网有 打包好两者的eclipse直接安装。 2. 在已有eclipse上添加 ADT( Android Development Tools )    之前安装好eclipse 说明 java环境变量 JAVA_HOME PATH CLASSPATH 已经设好。    首先,官网下载适合版本。 注意 ADT Bundle 和 ADT Tools 的区别,虽然从网站的说明

2013-08-27 20:53:23 820

原创 USACO Section 1.4 packrec

一开始无从下手的一题。1. 四个矩形摆放,有多少种最基本的方式? 题目给了6种基本型.我按照 矩形上方的矩形数目 来分类。

2013-08-03 23:49:53 676

原创 USACO 刷题调试0

调试,装逼的说就是透过现象看本质。运行结果不对,根据和 预期的差异 猜测判断问题可能在哪。如果可能太多,就要逐步缩小范围。打印语句,设置断点,输出到文件等等方式。这就是为什么要 避免滥用全局变量的原因(之一)。全局变量受到的影响太多,被重名变量隐藏,被某些函数修改(可能是本文件外的函数),这样会增大调试范围,也可能造成难以再现的错误结果,调试的难度大增。下面这题是USACO

2013-07-27 15:57:12 759

转载 The End-of-Line Story

最近在用ubuntu,不时需要在windows和ubuntu之间切换,偶尔发现同样的文档打开效果不一样猜测是换行符的问题。wikipidia 讲述的巨详细,才发现小小的换行符有这么多门道。    The ASCII standard for text does not define a unique end-of-line (EOL) character. Instead, ASCII defin

2013-07-24 14:54:29 599

原创 Install google test in my ubuntu 12.04

At first, I installed gtest by command:  sudo apt-get install libgtest-dev  .Everything seemed well.But when doing a test for my example.cpp by gtest, I got tons of error:             undefined

2013-07-24 14:50:12 896

原创 TEC-2机微指令分析器 启动失败

计组实验要用到这个仿真软件。由于比较老旧,有些人在win7下运行会失败。错误提示  TABCTL32.OCX 注册失败之类明明这个 OCX 文件就在同一个目录里,但是就是启动不了。安装XP是很直接的想法,但是很麻烦。于是想自己注册这个 OCX 控件。以管理员身份运行 cmd,cd 到TABCTL32.OCX 所在目录,输入命令:r

2013-07-24 14:23:13 1160 2

原创 c 结构体初始化

在《系统程序员成长计划》看到的,好像有点道理。// 声明 struct s{    int a;    double b,c;}; // 习惯的初始化  struct s h = {      1, 2};   这种初始化是按结构体成员声明的顺序进行初始化的,即利用了struct内存

2013-07-24 14:21:25 634

原创 《CS:APP》开书大典

最先看到这本书的名字是在老赵书托,貌似是一本很不错的书。看了一下目录,涵盖面确实广。好几门专业课都涉及到了,最主要是计组 + OS。出身名门CMU,并且与这学期的课程密切相关,一举数得,何乐不为?愿景:1. 做完上面的习题2. 留下读书的心得3. 熟悉一堆Linux tools:emacs lint gcc gdb objdump as ld make bash

2013-07-24 14:20:08 701

原创 html 随手记

(大牛莫喷)        某天在写博客的时候,希望能在像其他的博客那样插入超链接、高亮代码、自定义格式,从而避免这蛋疼编辑器的折磨。找裕源童鞋一试,猛然发现可以在博客中嵌入html代码来决定格式,插入超链接,顿觉欣喜不已。于是开始 断 断 续续 的html 学习之旅。第一个问题是怎样在博客里头显示 html 的标签而不会被解释掉法一:直接打即可法二:在代码中输入  &lt

2013-07-24 14:19:29 485

原创 Notes about traps and interrupts.

In Ch1 Operating System Concepts 7th, I see both trap and interrupt can lead toswitch from user mode to kernel mode. But doesn't give a descriptions about them.So what is the differences between t

2013-07-24 14:15:19 609

原创 c传递二维数组参数

一开始看 《c专家编程》 讨论二维数组时,并没有太明显的感觉。后来自己写一些与矩阵相关的小程序,发现要很完美的传递 二维数组实在麻烦。我用过两种方法:1. 除了最高维可以在形参中忽略,其他都要已知。2. 形参直接就是一维数组,利用c数组布局方式,把多维数组映射为一维数组,自己手动计算,数组的各维长度作为参数传入。    a[n][m][p] =

2013-07-24 13:19:15 692

原创 Win 7重装小记

体验了一回自己分区的快感。。。还有n次重装的虐心。 起因:买电脑的时候c盘分的太小;买电脑的时候分区大小不够“整数”, 每个都带着小数点,影响审美……其次c盘给我删的七零八落,好像时不时会有点问题{    例如某个windows 服务主进程cpu占用率莫名高达40+    内存占用莫名多一倍……};学计算机不彻底重装一下系统说

2013-07-24 12:59:13 857

著名c语言教程 k&r

闻名世界的c语言教程,英文版,pdf格式,另附答案

2011-07-27

空空如也

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

TA关注的人

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