摘要: 题目:HDOJ 1114 该题属于完全背包问题,答案应满足:1、背包被放满,2、符合条件的最小值。因此将动规数组的初始值设为99999999(超过题设最大值)。 状态转移方程为:v[i][j]=min{v[i-1][j],v[i][j-w[i]]+p[i]}。 最后,如果动规数组最后一格数据不等于初始值,即为答案。 本题代码:#include <stdio.h>int main(int argc, char *argv[]){ int t,e,f,n,p[510],w[510],v[10010],l,i,j,ans; scanf("%d",&t); wh阅读全文
posted @ 2012-05-10 19:31 任琦磊 阅读(34) 评论(0) 编辑
摘要: HTTP协议高居应用层,自然少不了一定的“应酬”了,客户端与服务器的相认,关键在于双方的“三次握手”。 下图是登陆江西师范大学网站后通过Wireshark抓包获得的帧: 可以看到,客户端向服务器先是不停地向服务器发送了6次请求报文,然后服务器逐个进行了确认,据此可以首先确定,HTTP协议是基于TCP协议的可靠传输。具体的“三次握手”为: (1)客户端发送请求: 客户端向服务器发送了一个Connection establish request (SYN):server port http。 (2)服务器向客服端发送确认响应: 服务器向客户...阅读全文
posted @ 2012-03-12 00:17 任琦磊 阅读(94) 评论(0) 编辑
摘要: DNS(Domain Name System,域名系统), DNS通过域名和IP地址相互映射的一个分布式数据库,使易记的域名替代了枯燥的IP地址。在因特网中向主机提供域名解析服务的机器即为DNS服务器。DNS是基于IP协议中的UDP协议,端口号为53。目前,DNS分布式查询方式一般采用递归或递归迭代相结合的方法获得域名和对应的IP。 首先通过nslookup命令进行DNS查询工作: 这里可以看到,我的本地DNS服务器为ns.jxncppt.net.cn(江西南昌电信),IP地址为202.101.224.69。我所搜索的百度(www.baidu.com)真实域名为www.a.shifen....阅读全文
posted @ 2012-03-10 05:01 任琦磊 阅读(423) 评论(0) 编辑
摘要: 准备好两台局域网内的电脑,一台配置为FTP服务器,另一台进行登录,并使用Wireshark抓包。 此时两台电脑的基本状态为:两台电脑(Win7系统)直接通过网线相连,其中FTP服务器的IP设为192.168.1.1,客户端的IP为192.168.1.2。FTP工具为Filezilla(由xampp附带)。 抓取的包相当杂乱,于是使用过滤器(Filter)对其进行过滤。 当过滤出这些FTP包后猛地一惊,大片的黑底红字,即Bad TCP。相应显示的错误信息为“Header checksum:0x0000 [incorrect, should be 0xb2d1 (maybe caus...阅读全文
posted @ 2012-03-09 19:51 任琦磊 阅读(869) 评论(4) 编辑
摘要: Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件,Wireshark的出现改变了这一切。在GNU GPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其程式码,并拥有针对其源代码修改及客制化的权利。Wireshark是目前全世界最广泛的网络封包分析软件之一。 Wireshark的主要应用包括:(1)网络管理员使用Wireshark来检测网络问题;(2)网络安全工程师使用Wireshark来检查资讯安全相关问题;(3)开发者使用..阅读全文
posted @ 2012-02-26 17:33 任琦磊 阅读(1030) 评论(2) 编辑
摘要: Problem Description Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge). In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.Input The input will consist of a series of integers n, one integer per line.Output For each case, output SUM(n) in one line, followed by a b...阅读全文
posted @ 2012-02-23 03:53 任琦磊 阅读(57) 评论(0) 编辑
摘要: Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.Input The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line consists of two positive intege阅读全文
posted @ 2012-02-23 03:20 任琦磊 阅读(55) 评论(0) 编辑
摘要: Problem Description CalculateA + B.Input Each line will contain two integersAandB. Process to end of file.Output For each case, outputA + Bin one line.Sample Input 1 1Sample Output 2Code: 1 #include <stdio.h> 2 main() 3 { 4 int A,B; 5 6 while(scanf("%d%d",&A,&B)!=EOF) 7 { 8 .阅读全文
posted @ 2012-02-23 00:43 任琦磊 阅读(47) 评论(0) 编辑
摘要: 鉴于Win7对VC 6.0兼容的不尽人意,最近电脑上安装了Visual Studio 2010,Visual Stdio 2010的功能确实强大,却导致我无法用其编写C语言。为此我在网上找了不少的教程。 微软的MSDN上有一篇关于VS 2010编译C的文章:《演练:编译 C 程序》(http://msdn.microsoft.com/zh-cn/library/bb384838.aspx),但限于本人能力有限,不能完全看懂。最终经过不懈的搜贴后终于有一个方法可以解决问题,最终满足了我的需求。下面我对这一方法做一下总结: 1、安装完Visual Studio 2010后打开; 2、“文...阅读全文
posted @ 2012-02-22 21:48 任琦磊 阅读(519) 评论(0) 编辑