coreBugZJ

此 blog 已弃。

03 2012 档案

EOJ 2069 Asteroids
     摘要: 求二分图最大匹配,使用匈牙利算法。。。  阅读全文

posted @ 2012-03-30 22:18 coreBugZJ 阅读(499) | 评论 (0)  编辑

EOJ 1864 Playing With Cubes
     摘要: 二分图最大匹配使用匈牙利算法。。。  阅读全文

posted @ 2012-03-30 22:16 coreBugZJ 阅读(716) | 评论 (0)  编辑

电子游戏有人工智能吗? (转)
     摘要: 朱莉亚和我正在Wii上玩《超级马里奥赛车》(Super Mario Kart)。在这款赛车游戏里,我们可以选择一辆赛车,在各种赛道同幽灵、电脑或者世界各地的其他真人玩家进行对抗。我突然想到:每次玩游戏时,我们都在进行“图灵测试”。。。  阅读全文

posted @ 2012-03-29 20:40 coreBugZJ 阅读(1657) | 评论 (1)  编辑

嵌入式上机之三,汇编与C语言相互调用
     摘要: .
1.1 编写一个汇编程序mixop.s
– 实现函数 y=mixop(x1,x2,x3)
– y=x1+x2*x3
– 调用c2.c中的multiply函数
1.2 C程序1:c1.c
– 实现函数 void init();
– 作为启动时的起始地址
– 在该函数内要调用mixop函数完成6+40*50,结果存放在变量y中。
1.3 C程序2:c2.c
– 实现函数y=multiply(x1,x2)
– y=x1*x2 。。。  阅读全文

posted @ 2012-03-18 22:55 coreBugZJ 阅读(381) | 评论 (0)  编辑

解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 (转)
     摘要: 解析器是parser,而解释器是interpreter。两者不是同一样东西,不应该混用。
前者是编译器/解释器的重要组成部分,也可以用在IDE之类的地方;其主要作用是进行语法分析,提取出句子的结构。广义来说输入一般是程序的源码,输出一般是语法树(syntax tree,也叫parse tree等)或抽象语法树(abstract syntax tree,AST)。进一步剥开来,广义的解析器里一般会有扫描器(scanner,也叫tokenizer或者lexical analyzer,词法分析器),以及狭义的解析器(parser,也叫syntax analyzer,语法分析器)。扫描器的输入一般是文本,经过词法分析,输出是将文本切割为单词的流。狭义的解析器输入是单词的流,经过语法分析,输出是语法树或者精简过的AST。
(在一些编译器/解释器中,解析也可能与后续的语义分析、代码生成或解释执行等步骤融合在一起,不一定真的会构造出完整的语法树。但概念上说解析器就是用来抽取句子结构用的,而语法树就是表示句子结构的方式。。。  阅读全文

posted @ 2012-03-17 15:52 coreBugZJ 阅读(2817) | 评论 (0)  编辑

垃圾回收与弱引用 (转)
     摘要: 在一个允许在堆上动态分配内存空间并且采取隐式内存释放的程序设计语言里,如何确保内存的正确释放不再是程序员的关注点,而由运行时环境来提供支持。无法被程序引用的在堆上已分配的内存空间成为垃圾(无用内存单元)。。。  阅读全文

posted @ 2012-03-17 15:26 coreBugZJ 阅读(619) | 评论 (0)  编辑

对动静态语言的语义思考,再兼谈点其它的 (转)
     摘要: 重点探讨一下动静态编程语言的语义,兼带些DSL及通用语言,以及新手上手难易问题。。。  阅读全文

posted @ 2012-03-17 14:00 coreBugZJ 阅读(377) | 评论 (0)  编辑

scheme中文编程 (转)
     摘要: 有人提到如果 if 这样的关键字都可以定义成中文,那就是真正的中文编程。那时我就想到,这个其实要在 scheme 中实现是多么简单,将 sicp 书中的解释器稍微修改下就可以了,只要修改解析的部分即可。解释器的完整代码放后面。。。  阅读全文

posted @ 2012-03-17 13:30 coreBugZJ 阅读(1778) | 评论 (1)  编辑

EOJ 1096 棋盘分割 (动态规划)
     摘要: .
将一个 8*8 的棋盘进行如下分割:
将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下部分继续如此分割,
这样割了 n-1 次后,连同最后剩下的矩形棋盘共有 n 块矩形棋盘。
每次切割都只能沿着棋盘格子的边进行。

原棋盘上每一格有一个分值,一块矩形棋盘的总分为其所含各格分值之和。
现需要把棋盘按上述规则分割成 n 块矩形棋盘,并使各矩形棋盘总分的均方差最小。  阅读全文

posted @ 2012-03-17 11:28 coreBugZJ 阅读(734) | 评论 (0)  编辑

EOJ 1823 数塔II (动态规划入门)
     摘要: 动态规划入门题。  阅读全文

posted @ 2012-03-16 12:02 coreBugZJ 阅读(798) | 评论 (0)  编辑

10个最“优秀”的代码注释 (转)
     摘要: .
// 亲爱的维护者:
// 如果你尝试了对这段程序进行‘优化’,
// 并认识到这种企图是大错特错,请增加
// 下面这个计数器的个数,用来对后来人进行警告:
// 浪费在这里的总时间 = 39h
。。。  阅读全文

posted @ 2012-03-15 19:39 coreBugZJ 阅读(463) | 评论 (0)  编辑

2012-03-07 ECNU 编程实践考试 我的题解
     摘要: 晚上有同学找我要题解,我就干脆做了一下题目,希望能有些帮助。。。  阅读全文

posted @ 2012-03-08 01:12 coreBugZJ 阅读(567) | 评论 (2)  编辑

25个Vim教程、视频和资源 (转)
     摘要: 。。。  阅读全文

posted @ 2012-03-07 16:54 coreBugZJ 阅读(584) | 评论 (0)  编辑

时代终结者–光子计算机、永别了进度条! (转)
     摘要: 地球上硅的含量很多,仅次于氧,而且硅的提纯技术已经达到很高的水平。近年来,人们发现硅不但是很好的电学材料,还是很好的光学材料。用标准CMOS工艺制造的硅光子集成线路,与电子集成电路兼容,成本低、易制造、便于控制,优点是其它光子材料无法比拟的。将光引入到芯片与芯片,以及芯片内各部分之间的数据连接中,形成高速率、低损耗的光互连,这场发生在计算机领域的光子革命由此拉开了序幕。。。  阅读全文

posted @ 2012-03-05 20:58 coreBugZJ 阅读(745) | 评论 (0)  编辑

EOJ 2067 Building Roads
     摘要: 二维平面中有 N 个点,其中 M 对点已经有边连接,
现在需要增加若干条边,以使所有点相互连通。
定义边的长度为两点间的欧几里得距离。

求增加的边的总长度的最小值。。。  阅读全文

posted @ 2012-03-04 22:37 coreBugZJ 阅读(469) | 评论 (2)  编辑

EOJ 1855 Expedition
     摘要: 一辆卡车从起点驶向终点,每行进一单位距离,消耗一单位燃料。
起点距终点有 L 单位距离,车上有 P 单位燃料。
中途有 N 个补给站,第 i 个补给站距终点有 Di 单位距离,可提供的补给为 Pi 单位燃料。
假设车上可以装载无限多的燃料。

求最少需要几次补给可以到达终点。。。  阅读全文

posted @ 2012-03-04 22:35 coreBugZJ 阅读(373) | 评论 (0)  编辑

自定义可变参数函数BatchDelFile, 调用 cmd 批量删除指定格式文件, Windows界面下不回显Console窗口 (转)
     摘要: 闪烁而过一个console窗口,实在不爽之,所以,找方法去掉它。SHELLEXECUTEINFO 。。。  阅读全文

posted @ 2012-03-04 12:07 coreBugZJ 阅读(485) | 评论 (0)  编辑

在 Windows 下使用 VS2010 编译生成 qrencode,工作于命令行,读入文字,生成 QR 码的 png 图片。
     摘要: 虽然开源二维码QR码编码库 qrencode 以 C 语言编写,
但工程管理及源码中使用 Linux 平台特性(此说法似乎不严谨),如 getopt_long 等;
以开源图形库 libpng 生成 png 图片,且 libpng 又使用开源 zlib 支持数据压缩,却未配上这两个库,似乎假设开发环境中已经安装,但我不想装。。。。  阅读全文

posted @ 2012-03-03 22:10 coreBugZJ 阅读(5426) | 评论 (1)  编辑

在 Windows 平台下使用 Linux 的 getopt, getopt_long, getopt_long_only 函数 解析命令行
     摘要: 修改自 glibc 2.8 中的 getopt 等相关文件,直接加入工程,编译即可使用。。。  阅读全文

posted @ 2012-03-03 00:14 coreBugZJ 阅读(4761) | 评论 (-1)  编辑

嵌入式上机之一,我的第一个ARM汇编程序
     摘要: 写程序循环对 R4-R11 进行累加 8 次赋值,
R4-R11 起始值为1-8,每次加操作后把 R4-R11 的内容放入 SP 栈中,
SP 初始设置为0x800。
最后把R4-R11 用 LDMFD 指令清空赋值为 0 。。。  阅读全文

posted @ 2012-03-02 23:49 coreBugZJ 阅读(895) | 评论 (0)  编辑