作业大礼包
文章平均质量分 78
弱菜zc
打完这场就回老家结婚!
展开
-
【算法作业】 循环赛问题 分治算法
题目:设有N个运动员要进行网球循环赛,设计一个满足以下要求的比赛日程表(1)每个选手必须与其他n-1个选手各赛一次(2)每个选手一天只能赛一次(3)当n 是偶数,循环赛进行n-1天,当n是奇数,循环赛进行n天。 思路分析:如果n是奇数,其实就等于n+1种情况下将第n+1号选手轮空。所以只要考虑n是偶数的情况。用分治的思想来做,转换成n/2的子问题。考虑两种情况:原创 2016-05-11 15:07:30 · 9289 阅读 · 4 评论 -
【网络编程】利用流式套接字实现文件传输实验
实验内容:1. 客户端向服务端发起socket连接,并建立数据传输通道;2. 客户端向服务端发送要传输的文件名称,以‘#’字符结尾,服务端逐字符接收,直到接收到#;(变长数据)3. 客户端向服务端发送文件长度,4字节;(定长数据)4. 客户端向服务端发送文件内容;(变长数据)5. 服务端接收完文件后,向客户端发送‚”OK”,以示成功接收。6.原创 2017-02-24 10:00:14 · 3469 阅读 · 0 评论 -
【网络编程】Trojan源码 文件传输+远程cmd+键盘记录
Trojan可以实现三个功能,分别为文件传输,远程执行cmd,键盘记录。其中键盘记录功能没有利用hook函数,有较强的隐蔽性。现在给出源码:server:// server.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h" #include #include #include #include #include #inc原创 2017-02-24 10:17:00 · 1863 阅读 · 1 评论 -
【网络编程】使用流式套接字实现简单的客户端/服务端通信过程
实验要求:1. 熟悉流式套接字socket函数的使用方法,包括建立连接、数据发送/接收和关闭连接等;2. 客户端可向服务端发送任意字符串,服务端在接收到该字符串后,回送给客户端;3. 服务端在接收到新连接后,能够打印出客户端的ip和端口;4. 服务端采用多线程模式,能够同时接收多个客户端的连接请求,为每个客户端连接开启一个线程;服务端:#includ原创 2017-02-24 09:54:45 · 6720 阅读 · 1 评论 -
【网络编程】UDP数据传输及文件传输实验
实验要求:内容1:利用数据报套接字实现数据传输1. 客户端创建UDP套接字,向指定的服务端发送数据;2. 服务端接收到新数据,显示是谁发送过来的,并把该数据回传给发送方;3. 服务端使用多线程来实现并发。4. 观察在服务端启动和不启动时,客户端的运行情况。内容2:使用UDP套接字实现文件传输1. 客户端向服务端发送文件名2. 客户原创 2017-02-24 09:44:59 · 1373 阅读 · 0 评论 -
【网络编程】arp欺骗
实验要求:利用WinPcap编程,实现基于ARP欺骗的中间人攻击。 1. 利用WinPcap,分别向被欺骗主机和网关发送APR请求包,达到同时欺骗目标主机和网关的目的; 2. 所有目标主机和网关之间的数据都会被我们劫持,过滤两者之间的所有http交互数据包,并保存为文件。(http包的过滤可用80端口来标识) 实验思路:实验主机的信息获取原创 2017-02-24 09:25:46 · 1002 阅读 · 0 评论 -
IP数据包的校验和算法
一.CheckSum算法思路:1. 把校验和字段清零;2. 按两个字节的十六进制数进行反码求和接收方的和发送方的过程基本一致,发送方求出校验和后存入校验和字段,而接收方求出校验和判断是否为0,如果为0则正确,抛弃该包。 二.代码实现:相应的代码细节详见代码; 给出两组测试数据://by zc 5/29/2016#include #inc原创 2016-05-30 23:47:30 · 1236 阅读 · 1 评论 -
hdu 2533 N皇后问题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2553题目:Problem Description在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。 Input共有若干行,每原创 2016-06-13 11:17:37 · 636 阅读 · 0 评论 -
最长上升子序列优化算法 【算法作业】
题目: 设计一个O(n²)时间的算法,找出由n个数组成的序列的最长单调递增子序列。思路分析: O(n²)算法的复杂度很大一部分浪费在查找前i-1项的最长上升子序列上。如果我们能直接保存前i项的最大上升子序列,那么当我们处理第i项时只需要调用即可。 如果同样长的子序列,当然它的尾部元素越小越好。所以设s[i]为长度为i的子序列尾部元素的最小值。我原创 2016-05-23 21:00:49 · 995 阅读 · 0 评论 -
圆排列【算法作业】
问题描述: 给定n个大小不等的圆c1,c2,…,cn,现要将这n个圆排进一个矩形框中,且要求各圆与矩形的底边相切。圆排列问题要求从n个圆的所有排列中找出由最小长度的圆排列。 解题思路: 用回溯法先构造出排列,再根据每种排列计算其对应的长度。如何计算长度?根据排列计算每个圆的圆心坐标,然后再找出整个圆排列最左边的坐标和最右边的坐标,相减即可原创 2016-06-24 21:01:04 · 4151 阅读 · 0 评论 -
【网络编程】利用I/O复用模型实现一个时间同步服务器
实验要求:1. 服务端采用I/O复用模型(select函数)接收客户端的时间同步请求; 2. 服务端采用单线程,但要能同时接收多客户端的连接请求,显示客户端IP和端口,并向其回送时间信息。 3. 客户端尝试同时使用UDP和TCP来实现。 注:借助I/O复用模型,用单线程达到多线程的效果server:// EchoTCPServe原创 2017-02-24 10:05:46 · 1110 阅读 · 0 评论