图论相关简单算法汇总
这里介绍了图论中常见算法的原理和实现。
一、邻接表存图
用邻接矩阵表示稀疏图会浪费大量内存空间。而在邻接表中是通过把类似于“从顶点0出发有到顶点1、2、3、4的边”这样的信息保存在链表中来表示图的。这样只需要$O(|V| + |E|)$的内存空间。
这里介绍了图论中常见算法的原理和实现。
用邻接矩阵表示稀疏图会浪费大量内存空间。而在邻接表中是通过把类似于“从顶点0出发有到顶点1、2、3、4的边”这样的信息保存在链表中来表示图的。这样只需要$O(|V| + |E|)$的内存空间。
为了保证博客不会长草我还是很努力在坚持一月一更的……八月花了几天完工了一个OJ的一期工程,那么现在就来讨论讨论这个吧,也算是给自己做个备忘,可能之后有什么改动或者优化的也可以看看这里。
“Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。”——摘自百度百科。
由定义看,显然一个OJ至少是由两个部分组成的:一是Web,二是Judger(下称评测机)。看起来评测机部分应该比较大头,那么本文主要内容就是评测机。
写在前面:本文中所提到的源代码及由其编译得到的二进制可执行文件(Windows)可以在这里下载到。本代码已在GNU/Linux GCC、MinGW GCC及Microsoft Visual C++环境下编译通过且正常运行测试样例。压缩包中的二进制文件是使用Microsoft Visual Studio 2013生成的。
简介:这是一个使用C++实现的What The Fuck Programming Language解析器。本来打算写的是GrassMudHorse Programming Language的解析器,最终由于编码问题放弃了。如果读者您能够完美解决这个问题并保持额外开销在一个很低的水平,请与我取得联系,不胜感激。
VATSIM的新连线客户端vPilot出来挺久了,我一直都没去看,Hans倒是当天就开始研究了。vPilot有一个问题,就是它是VATSIM-Only的设定,除了VATSIM的那一票服务器外其他的都不能连。在它的配置文件中,有一项是这样的:pZ9u441bE4a2NCGgqMxKNvwAIy0qEA+AwXB8c3sV90c=。它看起来是用Base64编码的字符串,但是使用Base64去解码没有效果。紧随其后的,是名为CachedServer的标签,但是它的值也和NetworkStatusURL是一样无法解码的。
我今天怀着必胜的信念尝试解决这个问题。因为没有什么顾虑,此处我将披露所有技术细节。在开始前,我可以先说明最初的思路是错误的,但是这不要紧,这些分析方法不一定不适用于所有情况。当然,也算一次有意义的尝试。
题目名称:无穷的序列
内存限制:128 MB
时间限制:1 s
【题目描述】 有一个无穷序列如下:110100100010000100000…
请你找出这个无穷序列中指定位置上的数字
【输入格式】 第一行一个正整数N,表示询问次数;
接下来的N行每行一个正整数$A_i$,$A_i$表示在序列中的位置。
【输出格式】 N行,每行为0或1,表示序列第$A_i$位上的数字。
对于100%的数据有$N\leq 1500000$,$A_i\leq 10^{9}$