题意:轨道网,有若干转换器,每个转换器都和其他若干转换器相连,转换器初始指向第一个与其相连的转换器。问要到达终点需要最少转换多少次?
思路:可以用dijkstra单源最短路来做,把轨道网看做有向图(因为1第一个指向2,2的第一个不一定指向1),当前转换器处始指向的那个转换器之间的路径权值为0,其他路径权值为1,求一次起点到终点的最短路,结果就是最少转换次数,注意可能没有路径,这时要输出-1
代...
分类:
其他好文 时间:
2014-06-07 02:07:18
阅读次数:
226
2014百度之星初赛(第二场)——JZP Set
Problem Description
一个{1, ..., n}的子集S被称为JZP集,当且仅当对于任意S中的两个数x,y,若(x+y)/2为整数,那么(x+y)/2也属于S。
例如,n=3,S={1,3}不是JZP集,因为(1+3)/2=2不属于S。但是{1,2,3}的其他子集都属于S,所以n=3时有7个JZP集
给定n,求...
分类:
其他好文 时间:
2014-06-05 09:59:14
阅读次数:
161
近日在写一个简易的操作系统,经常受到bug的偷袭,由于开发OS的特殊性,一些常规的debug手段用不上,于是打算记录下自己的debug过程,用于交流。
Problem:
在做图层叠加时,引入结构体SHTCTL进行各个图层的管理,但遭遇了黑屏,原因可能来自于图层管理模块、内存管理模块或其他未知原因。
Solution:
恢复到上次不黑屏的版本(即去掉图层管理模块),果然可以进行显示。在此基础...
分类:
其他好文 时间:
2014-06-05 07:16:45
阅读次数:
199
C语言是一种比较底层的语言,有时在其他语言中很容易操作的事情,在C语言中就比较麻烦,例如获取一个文件的大小。Java中File类有个length函数,Python中os.path包中有个getsize函数,C语言中却没有直接对应的函数获取文件大小。
目前,网上有一种流传很广的方法,读取文件到内存,然后跳转到文件末尾,查看跳转的长度。代码如下:
int file_size(char...
分类:
编程语言 时间:
2014-06-05 03:47:45
阅读次数:
223
CoffeeScript不是一门值得学习的语言
一门不能改变你编程的思维方式的语言是不值得学习的--艾伦·佩利(Alan Perlis)
CoffeeScript是一种能够将你用特殊规则书写出的文本转换成一些其他文本的语言,而转换后的文本碰巧就是JavaScript源代码。它经常被描述为将一种编程语言“编译”成JavaScript,就像将其它语言编译成汇编或者JVM字节码。像许多新事物一样,C...
分类:
其他好文 时间:
2014-06-05 03:08:16
阅读次数:
248
1.区段查询
索引系统需要通过主查询来获取全部的文档信息,一种简单的实现是将整个表的数据读入内存,但是这可能导致整个表被锁定并使得其他操作被阻止(例如:在MyISAM格式上的INSERT操作),同时,将浪费大量内存用于存储查询结果,诸如此类的问题吧。 为了避免出现这种情况,CoreSeek/Sphinx支持一种被称为 区段查询的技术. 首先,CoreSeek/Sphinx从数据库中取出文档ID的...
分类:
其他好文 时间:
2014-06-05 03:06:27
阅读次数:
237
计算机系统是由硬件和系统软件组成,它们共同协作以运行应用程序。计算机内部的信息被表示为一组组的0和1二进制位,它们依据不同的上下文有不同的解释方式。程序被其他程序编译成不同的形式,开始时是源代码文本,然后被编译器和连接器翻译成二进制可执行文件。
处理器读取并解释存放在主存里的二进制指令。因为计算机花费了大量的时间在存储器、I/O设备和CPU寄存器之间拷贝数据,所以系统中的存储设备就被按层次排列,CPU寄存器在顶部,接着是多层的硬件高速缓存存储器,DRAM主存储器,DRAM主存储器和磁盘存储器。在层次模型中...
分类:
其他好文 时间:
2014-06-05 00:26:30
阅读次数:
235
Ubuntu下wxWidgets学生公寓管理系统,用到C++,sqlite3...
分类:
数据库 时间:
2014-06-04 23:48:36
阅读次数:
483
本文紧跟上一章:SQL Server镜像简介 本文出处: 俗话说:工欲善其事必先利其器。计划好如何部署和使用镜像,可以减少很多不必要的风险。本文将按照三步骤的形式展示,但是要注意这不是唯一的标准,具体情况具体分析。第一步:了解环境 在搭建SQL Server镜像时,必须先了解你所要部署的环境,才能决定镜像的配置项。这不仅是镜像配置的前提,也是部署SQL Server甚至搭建数据平台和其他高可用...
分类:
数据库 时间:
2014-06-04 23:23:39
阅读次数:
306
对象的方法中一旦加入synchronized修饰,则任何时刻只能有一个线程访问synchronized修饰的方法。假设有个数据对象拥有写方法与读方法,多线程环境中要想保证数据的安全,需对该对象的读写方法都要加入 synchronized同步块。这样任何线程在写入时,其它线程无法读取与改变数据;如果有线程在读取时,其他线程也无法读取或写入。这种方式在写入操作远大于读操作时,问题不大,而当读取远远大于...
分类:
编程语言 时间:
2014-06-04 21:51:52
阅读次数:
377