自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

For free

邮箱whitezhangv5@gmail.com

  • 博客(153)
  • 资源 (4)
  • 收藏
  • 关注

原创 HDU 2489 Prim+DFS

因为是完全图,所以可以采用如下的方式进行DFS搜索,枚举出每一种情况,然后用Prim进行计算。#include#include#define N 20int n,m,vis[N], ans[N], pre[N], hash[N];double G[N][N], weight[N], minCost[N], minRatio;double prim(){ memset(ha

2013-08-03 21:23:33 674

原创 HDU 1598

将边先排序,然后从最小的边开始枚举,当发现需要查找的两个点在一个并查集里面的时候就计算差值,并与min比较。#include #include #include #include using namespace std;#define LLEN 210#define INF 0x3ffffffftypedef struct edge { int u, v; int w;

2013-08-03 18:20:56 1217

原创 2013渣打GitHub测试代码

Length题目介绍您要做的是一个长度单位转化和计算工具,能够把不同的长度单位转换为标准长度(米),并且可以在不同单位之间进行加减运算。输入文件输入文件input.txt的内容可分为两部分:不同单位和标准长度米的转换规则, 比如1 mile = 1609.344 meters, 代表1英里等于1609.344米;转换前或者计算前的单位,比如 1.2 miles

2013-08-03 16:11:33 2293 6

原创 ZOJ 1586 Prim

在用 Prim的时候只要将 adapter 事先算如边中即可#include #include #include #include using namespace std;#define LLEN 10010#define MLEN 1010#define INF 999999999int adapter[LLEN];int map[MLEN][MLEN];void

2013-08-03 10:40:25 956

原创 HDU 1196

位运算的题#include #include #include using namespace std;int main() { int n; while(scanf("%d", &n), n != 0) { int i = 1; while(!(n&i)) { i <<= 1; } printf("%d\n", i); } return 0;

2013-08-02 16:44:18 712

原创 HDU 1062

水了一道题,看到网上一些人的解题报告并不完美。这里用栈去模拟这个过程应该是比较好的解法,如果用判断空格,然后用 i-1的话,遇到以空格开头的数据就不对了。#include #include #include #include using namespace std;int main() { int t; scanf("%d", &t); getchar(); for(in

2013-08-02 16:24:30 1001

原创 ZOJ 1542 Kruskal

一开始输出弄错了,卡了好久直接上代码了#include #include #include #include using namespace std;#define ELEN 15005#define VLEN 1005typedef struct Edge { int u, v; int w;}Edge;Edge e[ELEN];int p[VLEN];i

2013-08-02 15:04:48 716

原创 ZOJ 1203 Kruskal

Kruskal的题,首先计算边,然后排序遍历。中途由于格式错误PE了,改了一下。#include #include #include #include #include using namespace std;#define LLEN 105#define SSIZE 10010typedef struct Point { double x, y;}Point;

2013-08-02 13:38:29 782

原创 HDU 1102 Kruskal

一开始边开少了,结果RE了一次。改了一下边的大小就过了Kruskal算法就是找边,先把边都存起来,然后排序,挨个查找并且利用并查集判断#include #include #include #include using namespace std;#define LLEN 102#define EDGELEN 10010int map[LLEN][LLEN];type

2013-08-02 08:51:30 768

原创 HDU 1161

本来想做Kruskal的,结果做了个这个。#include #include #include using namespace std;int main() { char str[1005]; while(gets(str)) { for(int i = 0; str[i] != '\0'; i++) { if(str[i] = 'A') { str[i] =

2013-08-02 07:54:17 1194

原创 HDU 3371 Kruskal

这里边比较多,所以利用Kruskal算法#include #include #include #include using namespace std;#define LLEN 25005int n, m, k;int map[505][505];int conn[505][505];typedef struct Edge{ int u, v; int w;}E

2013-08-01 23:22:33 856

原创 Snort文本处理源代码

attack.conf 配置文件:sqlinfo.conf 配置文件:MYSQL_LOCALHOST = 127.0.0.1MYSQL_NAME = rootMYSQL_PWD = ******MYSQL_DBNAME = snortMYSQL_TABLE = securityevent st.sh 启动脚本:#!/bin/shkill -9 `ps -ef

2013-07-23 21:37:19 1017

原创 ZOJ 1091 BFS

广搜,由于要记录步数,所以又用到了滚动队列。一开始没判断起点和终点在一起的情况,WA了一次#include #include #include #include #include using namespace std;char ss[3], dd[3];int map[9][9];int dx, dy;int point[8][2] = {{1, 2}, {

2013-07-16 12:41:29 830

原创 ZOJ 1136

广搜,每个节点有两个值,一个是当前的数字,另一个是余数,用余数可以减少以后的计算量,并且可进行剪枝,从而减少了常数时间的复杂度#include #include #include #include #include using namespace std;struct Node { string num; int mod; Node() {} Node(stri

2013-07-16 10:36:19 1313

转载 Linux一些重要的头文件

1.系统调用 ---文件的操作函数#inlclude int  open(char *name,int how)   文件打开#include int  close(int fd)      文件关闭size_t   read(int fd,void *buf, size_t count)   读size_t   write(int fd,c

2013-07-05 20:33:23 12152

原创 ACM小结(6/16/2013)

HDU 149题ZOJ 9题POJ 33题UVA 15题CF 20题Euler 3题 共计:229题(不包括重复的)

2013-06-16 21:57:58 728

原创 ZOJ 2913 BFS

需要求最短路,所以依旧是广搜#include #include #include #include using namespace std;#define LEN 10000#define INF 100000int mz[LEN];int n, m;int edge[LEN][10];int res[LEN];int reach[LEN];int cur;i

2013-06-16 21:01:06 751

原创 ZOJ 1649 BFS

搜索最短路径,那么用深搜肯定就不行了,深搜只能用来搜索可行解,但是答案并不一定是最优的,所以这里就用广搜了#include #include #include #include using namespace std;#define LEN 201#define INF 10000000int dir[4][2] = {{1, 0}, {-1, 0}, {0, 1}

2013-06-16 12:12:44 644

原创 HDU 1025

最长公共子序列的变形, 但是如果直接使用原来的方式做的话, 时间复杂度为O(n^2) 超时, 所以这里要用二分进行优化, 每次都将之前没有用的数据清除掉, 其中使用了贪心的思想#include #include #include #include #define _MAX 99999999#define LEN 500005#define MAX(A,B) (A>

2013-05-16 19:00:41 1068

原创 UVa 11081

只确定除了状态量, 没想出状态方程, 这道题的难度还是挺大的.下面是别人的解题报告:http://par.cse.nsysu.edu.tw/~advprog/advprog2008/11081.doc代码:#include#include#define MAXN 65int n;char s1[MAXN], s2[MAXN], s3[MAXN];int f1[MAX

2013-05-09 21:41:51 938

原创 UVa 348

矩阵连乘问题, 需要注意的是 () 的输出问题现放出用递归写的一个RE代码, 递归这里会暴栈:#include #include #include using namespace std;#define MIN(A,B) (A<B?A:B)int path[15][15];int d[15][15];int a[15][2];int dp(int s, int e)

2013-05-09 13:14:57 960

转载 WCHAR和char的转换

#include #include //function: charTowchar //purpose:char to WCHAR 、wchar_t、LPWSTR etc void charTowchar(const char *chr, wchar_t *wchar, int size) { MultiByteToWideChar( CP_ACP,

2013-05-07 00:50:34 952

原创 UVa 147

动归的复习,完全背包问题精度问题卡了好长时间,double 转 int 时要加0.5#include #include #include using namespace std;#define LEN 30005int mon[11] = {5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000};long long a

2013-05-04 15:24:24 749

原创 UVa 103

DAG模型的复习,始终AC不了,不知为何~~~~(>_#include #include #include #include #include #define SIZE 35#define MAX(A,B) (A>B?A:B)using namespace std;vector vct[SIZE];int vis[SIZE], d[SIZE];int ro

2013-05-03 17:47:13 810

转载 BackTrack 5 Wicd不能连接无线网络的解决办法

今天刚装上BT5 (Gnome 32),在使用wicd连接无线网络的时候总是连接失败(偶尔成功过)。         问题具体情况: 我的无线网络是WPA2的,首先在终端输入/ect/init.d/wicd start,然后在Application中打开wicd network manager,找到我要连接的SSID,点击Properties,在Use Encryption中选择WPA1/

2013-03-29 15:05:55 6054

原创 词法分析器(C语言版)

词法分析器:有限状态机的理论并不难,但是如果把状态机理论转换成代码,这个就需要思考了数据结构设计:char charList[_CHARLIST_SIZE][15] = {0};char charList_nu[_CHARLIST_SIZE] = {0};char charList_index = 0;char numList[_NUMLIST_SIZE][15] =

2013-03-25 14:13:54 2537

转载 Nmap扫描原理与用法

点击打开链接

2013-03-16 17:40:43 1472

原创 Snort配置rules问题

1.ERROR: parser.c(5047) Could not stat dynamic module path "/usr/local/lib/snort_dynamicengine/libsf_engine.so": No such file or directory.Fatal Error, Quitting.. 原因:没有找到/usr/local/lib/sno

2013-03-16 16:54:59 6302

原创 CentOS部署Snort

操作系统:CentOS6.3 x86_64只需按照以下网址依次下载软件包,然后安装即可需要安装的组件:1.Libpcap:http://www.tcpdump.org/wget http://www.tcpdump.org/release/libpcap-1.2.1.tar.gztar xvf libpcap-1.2.1.tar.gz

2013-03-10 21:45:00 9931

原创 Linux各种压缩包解压总结

压缩包类型很多,今天用的时候又忘记了一部分,所以在这里做个总结了tgz包:gzip -dv *.tgztar包:tar xvf *.tartar.gz包:tar -zxvf *tar.gzzip包:unzip *.ziprpm包:rpm2cpio *.rpm | cpio -div如果只要看内容的话:rpm -qp

2013-03-10 21:36:54 839

原创 Linux ShellCode远程攻击原理

这里就以exit 系统调用为例首先编写C代码,在GDB中使用 disass _exit 反汇编exit 函数,之后迁移为汇编代码。section .textglobal _start_start:xor eax, eaxxor ebx, ebxmov al, 0x01int 0x80之后只用如下nasm 进行汇编, ld 进行连接,生成可执行文件nasm -f elf

2013-02-27 23:29:55 2090

原创 FTP服务器构建

这里只介绍用 vsfptd,如需看ProFTPD,请出门右转[root@localhost ~]# yum -y install vsftpd之后就可以用 service 启动了[root@localhost ~]# service vsftpd start配置文件 /etc/vsftpd/vsftpd.conf用户管理:adduser -d

2013-02-26 21:43:32 593

原创 OpenSSH构建SSH服务器

SSH 文件配置有如下几个文件:[root@sample ~]# vi /etc/ssh/sshd_config  ← 用vi打开SSH的配置文件#Protocol 2,1 ← 找到此行将行头“#”删除,再将行末的“,1”删除,只允许SSH2方式的连接 ↓Protocol 2 ← 修改后变为此状态,仅使用SSH2#ServerKeyBits 768 ← 找到这一行,将行

2013-02-26 20:16:43 621

原创 Facebook杯2013年编程挑战赛——第一轮题目及答案

点击打开Facebook杯2013

2013-02-21 17:43:43 692

原创 NIDS-端口扫描检测初步(抓包部分)

原来的代码耦合性太高了,我重构了一下,模块化了。扫描部分还待扩充头文件:config.h#ifndef lib_pcap_pcap_h#include "pcap.h"#endif#ifndef HAVE_PARAM_H#include "param.h"#endif#ifndef HAVE_CONFIG_H#define HAVE_CONFIG_H

2013-01-29 22:19:11 1714

原创 Winpcap数据包的抓取及还原

winpcap技术手册,除了安装文件里doc文件下有个帮助,这里在给一个:http://www.ferrisxu.com/WinPcap/html/index.html这里我们用pcap_next_ex 函数抓取到数据包后,我们就要开始提取其中的关键信息了,这里我保存在了pkt_data里,之后又传到了处理函数中代码如下,我也已经写的很清楚了。其中MAC地址是在数据链路层获取的,其他的诸如

2013-01-26 23:12:46 9911 2

原创 HDU 4006

先上一个AC代码,用的是优先队列#include#include#include#include#includeusing namespace std;int main(){ int n,k,i,num,j; char str[1000]; while(cin>>n>>k){ priority_queue,greater >q; getchar()

2013-01-25 18:31:46 885

原创 HDU 1290

其实就是个数学题,解方程的系数即可二维平面的一般方程都是an^2+bn+c,而三维平面的方程一般都是an^3+bn^2+cn+d这里给了三个数据,自己在创立一个数据即可,输入为4,结果为15求的系数,解出方程#include #include using namespace std;int main() { int a, ans; while(scanf("%

2013-01-25 15:52:49 1007

原创 HDU 2120

用并查集求二维空间区域个数。并查集本身是集合的应用,但是由于每次只告诉你两个点之间有墙,只要当这两个点的父节点是同一个,并且再次有墙时,就把结果加1,因为这个时候肯定就会产生一个区域。#include #include using namespace std;#define LEN 1001int p[LEN];void init() { int i; for(i =

2013-01-24 21:38:58 781

原创 Linux启动设置以及系统修复

Linux启动流程计算机启动时,首先进行固件操作firmware(CMOS/BIOS,CMOS是固化在硬件上的程序,BIOS是操作CMOS的管理控制程序),加电自检,即是检测硬件是否连接正常固件结束之后,将会读取硬盘上的数据,这里首先读取是MBR(Master boot record),其中MBR包括Bootloader(自举程序),Partition table(磁盘分区表),Magic

2013-01-04 23:26:44 1061

算法导论答案

算法导论答案解析

2012-11-01

无线安全知识

关于无线安全 破解 黑客 分享 攻防

2012-11-04

linux内核源码0.12

linux 0.12 源代码 内核 内核源代码

2013-01-02

杭电动态规划

动态规划 杭电 课程 课件 详细解析 HDU

2012-11-01

空空如也

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

TA关注的人

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