自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白学病患者的专栏

失败并不可怕,可怕的是你还相信这句话。

  • 博客(41)
  • 资源 (5)
  • 收藏
  • 关注

原创 hdu 5481 Desiderium

题意真难读懂。Orz一个含有n个区间的集合,从该集合中等概率地选取子集,求所有子集中的所有区间的构成的并集长度的和。第二个样例解释:集合中含有2个区间:一个是[0,2],编号为1,一个是[1,3],编号为2。集合的子集有4个:1、空集,集合中区间的并的长度为02、{区间1},集合中区间的并的长度为23、{区间2},集合中区间的并的长度为24、{区间1、区

2015-09-28 18:55:59 650

原创 hdu 5492 Find a path (DP)

题目大意:给N*M(1(N+M−1)∑N+M−1i=1(Ai−Aavg)2最小值。将式子展开后,化简整理可得:(N+M-1)*s1-s2。其中s1是序列A的平方和,s2是序列A的和的平方。设dp[i][j][k]表示到达(i,j),序列和为k时,序列的平方和的最小值。那么很容易得到状态转移方程,对于向右走,有:dp[i][j+1][k+V[i][j+1]]=mi

2015-09-27 20:52:25 1908 2

原创 hdu 5452 Minimum Cut (LCA)

题目大意:给一个n个点,m条边的无环、无重边的无向图,并且给出图中的一棵生成树,求最小割边集大小,使得边集中恰好包含生成树中的一条边。考虑生成树中的每一个结点,将其子树与其父节点分离需要去掉其父边以及其子树中的结点与其他子树相连的边,其父边就是生成树中的边,与其他子树相连的边为非生成树中的边。这样只需统计每一个子树关联的非生成树中的边数,取最小值,然后+1就是答案。对于每一个结点i

2015-09-24 18:32:00 430

原创 hdu 5464 Clarke and problem(DP)

题目大意:给n个数,问选择其中若干个数使得和能够被p整除的方案数。设dp[i][j]表示前i个数选取若干个,和被p除余j的方案数。那么dp[i][j]=dp[i-1][j]+dp[i-1][j-a[i]%p]  (j=0~p-1)坑点:a[i]可以为负数,取模的时候注意一下。#include#include#include#include#inc

2015-09-22 20:17:49 351

原创 hiho 1233 Boxes(状态压缩+BFS)

题目大意:给n(n最多只有7个数,首先可以把输入的数离散化处理一下。对于每一个数,考虑用三位二进制数来表示其位置。那么对于n个数,有2^(3*n)种状态。假设第i个位置上的数为a[i],可用1*8^a[1]+2*8^a[2]+3*8^a[3]+……+n*8^a[n]来表示每一个状态s。如何根据当前状态确定某个数a[i]的位置?设当前状态为s,则(s/(8^a[i]))%

2015-09-22 20:09:31 435

原创 HDU 5459 Jesus Is Here(递推)

题目大意:字符串s1=c,s2=ffs[n]=s[n-2]+s[n-1](n>=3)给出n,求s[n]中任意两个cff之间距离之和。分析:设所求为f[n]。则必然有f[n]=f[n-2]+f[n-1]+a[n]。关键就是求新增加的部分a[n]是多少。可以发现任意两个cff之间的距离之和即任意两个c之间的距离之和(s[n]中任意两个c之间的距离都必然是>=2的

2015-09-22 19:23:22 540

原创 hiho 1228 Mission Impossible 6(模拟)

题目大意:就是给一段按键操作,进行模拟,输出最终字符串。各种操作说明见原题点击打开链接个人觉得用vector来模拟还是比较方便的。主要注意一下指针pos的位置就好了,pos是指向当前要插入字符的位置,也即相当于光标的右边。对于D操作删除的时候删除光标的右边字符,即pos位置,对于B操作,删除的是左边的字符,即pos-1的位置。然后是粘贴的时候,分为插入模式和覆盖模式考虑。对

2015-09-21 11:20:14 803

转载 int long long 范围

unsigned   int   0~4294967295   int   2147483648~2147483647 unsigned long 0~4294967295long   2147483648~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036854775808unsigne

2015-09-21 10:31:42 358

原创 hdu 5451 Best Solver (特征方程求通项+广义Fibonacci数列找循环节)

题目大意:y=(5+26√)1+2x。给出x和M,求这个式子的整数部分对M取模的值记A=5+2√6,B=5-2√6。则AB=1,A+B=10则A、B可以看作特征方程x^2-10x+1=0的两根。该特征方程对应的数列通项公式为a[n]=10*a[n-1]-a[n-2]。令a[0]=A^0+B^0,a[1]=A+B。#include#include#

2015-09-20 20:32:16 1088

原创 poj 3680 Intervals (离散化+费用流)

n条线段,带有权值。选择其中若干条,使得权值最大且每个端点覆盖次数都不超过K次。建图:1、将输入的顶点离散化。设总共不同的顶点个数为n。2、将顶点i到i+1连一条容量为K,费用为0的边。3、新建源点0和汇点n+1,顶点0到1、顶点n到n+1分别连容量为K,费用为0的边。4、对于每个区间的两个端点,连一条容量为1,费用为-w的边。5、求最小费用最大流,得到的费

2015-09-18 22:38:48 418

原创 uvalive 3026 Period (前缀最短循环节)

给一个长度为n的字符串S,求其每一个前缀的最短循环节(若存在)对于串S,利用KMP算法求一下Next数组根据next数组的含义,设当前前缀长度为i,若这i个字符组成周期串,则i-next[i]恰好为其周期串的最长长度。#include#include#include#include#includetypedef long long LL;using name

2015-09-18 19:12:33 433

原创 uva 11732 "strcmp()" Anyone?(字典树)

给n个字符串,问两两比较字典序大小,总共所需比较次数。将所有字符串依次插入字典树里面。记val[i]表示经过结点i的字符串数目,End[i]表示以结点i结尾的字符串数目。则每次插入时,可以知道当前结点已经经过的字符串数目,结果累加2*val[i],到最后一个结点时,累加之前以当前结点结尾的字符串数目。注意,一开始插入的时候需要比较s[0]和t[0],即一开始两个字符串就存在

2015-09-18 12:42:49 305

原创 hdu 5439 Aggregated Counting(找规律)

题目大意:一个序列1、2、2、3、3、4、4、4、5、5、5……第i项的数a[i]表示连续的i的个数,依次下去。现给出n(n规律:last[last[n]]=a[1]+a[2]+……+a[last[n]]。比如last[3]=5,则last[5]为序列的前5项的和,为11知道了这个还不能算,因为n太大了。再对上式进行归纳整理,可以得到:last[last[n]]

2015-09-16 13:29:25 506

原创 hdu 5437 Alisha’s Party (优先队列)

题目大意:n个客人,k次开门:每次已到达人数为t[i]时开门,让q[i]个人进入(礼物价值高的优先进入,相同则先到达的优先),k次之后,若还有剩下的客人,则再开一次门,按规则全部进入。q次询问:第q[i]个进入的客人姓名。1、将k次开门按照人数从低到高排一下序。2、按照先后到达次序,依次将客人放入队列中,队列中的元素满足:价值高的靠前、价值相同的先到达的靠前。3、每当队列中

2015-09-15 15:27:43 353

转载 shodan搜索引擎介绍

from:http://www.exploit-db.com/wp-content/themes/exploit/docs/33859.pdf0x00 概要这篇文章可以作为渗透测试人员和安全工作者运用Shodan搜索引擎的指南,同时有助于理解其工作原理和达到安全审计目的。文章也列举出找到大量有风险的互联网服务及其设备的步骤和方法。同时介绍了Shodan能用初级筛选语法以及Shoda

2015-09-15 11:02:48 1463

原创 hdu 5442 Favorite Donut (最大表示法+KMP)

题目大意:给一个字符串,求它的循环最大表示开始位置,以及方向。1、可用最大表示法求出顺时针的最大表示的最小开始位置,记为p1。利用该位置求出顺时针的最大表示字符串,记为s12、然后将字符串倒置,再用一次最大表示法。注意此时求出来的位置p其实是下标最大的开始位置p2,即p2=n-(p+1)+1。但可利用该位置求出逆时针的最大表示字符串,记为s23、将倒置的字符串扩充至2倍长度,利用KM

2015-09-15 09:02:17 618 1

原创 hdu 5443 water problem (RMQ)

裸的RMQ问题。#include#include#includeusing namespace std;#define maxn 1000001int f[20][maxn];void init(int n){ int i,j,k; for(j=1;(1<<j)<=n;++j) { k=1<<(j-1); for(i

2015-09-14 18:26:01 457

原创 hdu 5444 Elven Postman (DFS)

读懂题意就是个水题了。给一棵树,左儿子权值大于其父亲,右儿子权值小于其父亲。给出若干询问,输出从根节点到指定节点的路径。#include#include#includeusing namespace std;struct Node{ int l,r;}p[1001];void add(int u,int a){ if(p[u].l==0&&

2015-09-14 17:42:40 592 2

原创 hdu 5446 Unknown Treasure (Lucas定理+CRT+快速乘)

题目大意:给k个素数pi,记M为其乘积。计算C(n,m)%M。1、令a[i]=C(n,m)%pi,可用Lucas定理进行计算。2、问题转化为求最小的x,使得x%pi=ai。根据CRT求解即可。3、注意在应用CRT的时候,中间结果会溢出,需要用到快速乘法。#include #include #include using namespace std;type

2015-09-14 11:53:42 408

原创 hdu 5441 Travel(离线+并查集)

给一个无向带权图,再给出q个询问x,统计图中满足下面条件的点对个数:(a,b)和(b,a)为不同点对1、存在a到b路径。2、路径上边权均不超过x比较容易想到下面的解法:1、将q个询问从小到大排序。2、依次访问每个询问x,每次将边权值不超过x的边的两个顶点进行合并。3、统计每一个合并后的块中顶点个数num,结果累加num*(num-1)但是这样做会

2015-09-13 20:20:43 630 2

原创 hdu 5438 Ponds(toposort+DFS)

给一个无向图,将图中与其关联的边数小于2的点去掉,直到找不到这样的点为止,然后求奇圈的权值和。类似拓扑排序将度数小于2的点给去掉,然后剩下的点必然组成若干个圈,通过DFS标记边的同时统计顶点个数。若为奇圈,累加权值即可。注意数据范围啊。#include#include#include#include#include#include#includeusi

2015-09-13 20:02:51 386

原创 uvalive 3942 Remember the Word (字典树+DP)

给S个不同的单词和一个长字符串,问将其分解为若干个单词有多少种方法(单词可重复使用)解法:设dp[i]表示以i开头的字符串分解的方法数。状态转移方程:dp[i]=sum(dp[i+len(x)]),x为S[i……L]的前缀。将每一个单词插入到字典树中,然后考虑长字符串S的每一个后缀s[i……L], 看其前缀x是否在字典树中出现,每出现一次,dp[i]累加dp[i+len(x

2015-09-12 21:35:07 508

原创 软件安全学习笔记(7):PE文件总体格式

1、MS-DOS MZ文件头(64个字节)定位PE文件头开始位置,也用于PE文件合法性检测。最后四个字节(3C处):PE文件头开始位置2、DOS Stub一段小的DOS程序3、PE header:由字串(Signature)、影像文件头(FileHeader)、可选映像头(OptionalHeader)三部分组成(1)字串:四个字节,值为50h,45h,

2015-09-11 21:08:18 782

原创 软件安全学习笔记(6):NTFS文件系统

一、总体结构1个引导扇区+15个扇区的NTLDR区域+MFT元数据文件+MFT分配的空间+文件存储区说明:引导扇区将NTLDR的代码读入内存并移交控制权。MFT是一个与文件相对应的文件属性数据库,以文件数组来实现,每个文件记录大小固定为1KB,它记录了除文件数据外的所有属性,甚至小文件的数据本身也包含在MFT中。二、引导分区前3个字节:跳转指令再8个字节:生产厂

2015-09-11 13:28:45 526

原创 软件安全学习笔记(5):FAT32文件系统与数据恢复

一、FAT32文件系统结构1、引导扇区:描述分区大小、簇的大小、FAT表个数与大小、分区引导程序等。2、FAT(文件分配表)FAT1+FAT2:记录数据存储区每一个簇的使用情况,形成每个文件的簇链表3、数据存储区:存储两类数据:目录项、文件数据二、几个概念1、簇:文件系统将磁盘以一定数量的扇区为单位进行划分,这样的单位称为簇。是文件空间分配的最小单位。2、FAT

2015-09-10 10:25:20 2165 1

原创 软件安全学习笔记(4):磁盘的物理逻辑结构

一、硬盘物理结构:1、外部结构:接口(数据和电源)、控制电路、固定面板接口:并口(PATA)、串口(SATA),并口速度较慢、串口速度快固定面板:保证硬盘盘片和机构稳定运行。2、内部结构:盘片、主轴、磁头、磁头控制器、数据转换盘等二、逻辑结构1、寻址方式chs参数寻址:柱面(Cylinders):由多个盘片的半径均为R的同心圆形成。取值:0-10

2015-09-08 13:02:08 597

原创 软件安全学习笔记(3):Windows内存结构和管理

一、CPU特权级与内存访问虚拟内存中用户模式区和内核模式区对应,处理器也分为用户模式(Ring 3)和内核模式(Ring 0)用户程序一般运行在用户模式,其访问内存空间也局限于用户区操作系统内核代码(如系统服务和设备趋同程序),则运行在内核模式,可以访问所有内存空间,使用所有处理器指令二、用户内存用户区是每个进程真正独立的可用内存空间,运行中的大部分数据都保存在这里。

2015-09-07 21:42:55 407

原创 软件安全学习笔记(2):80x86处理器的工作模式

实模式:80x86处理器在复位或加电时是以实模式启动的。寻址方式:20位、1M空间不能对内存进行分页管理不支持优先级,所有指令工作在特权级(优先级0)可切换到保护模式保护模式:是80x86处理器的常态工作模式寻址方式:32位,物理寻址空间达4G支持内存分页机制,为虚拟内存提供良好支持支持优先级机制,根据任务特性进行运行环境隔离可切换到实模式(通过

2015-09-07 18:49:34 838

原创 软件安全学习笔记(1):系统引导与控制权

一、计算机系统引导过程:1、主板BIOS系统进行硬件自检    BIOS:基本输入输出系统,存储在主板BIOS Flash(或者ROM)芯片,为计算机提供最底层的最直接的硬件设置。    BIOS的自检和初始化:检测系统中的关键设备(内存、显卡等)是否存在和能否正常工作,进行初始化并将控制权交给后续引导程序。2、硬盘主引导程序(MBR)    硬盘主引导扇区:位于硬盘第一个扇区

2015-09-07 18:36:30 2111

原创 CCF 201409-4 最优配餐(BFS)

问题描述  栋栋最近开了一家餐饮连锁店,提供外卖服务。随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题。  栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注)。  方格图中的线表示可以行走的道路,相邻两个格点的距离为1。栋栋要送餐必须走可以行走的道路

2015-09-06 19:27:01 1244 1

原创 CCF 201412-4 最优灌溉(MST)

问题描述  雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉。  为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用部分麦田作为“中转站”,利用水渠连接不同的麦田,这样只要一片麦田能被灌溉,则与其连接的麦田也能被灌溉。  现在雷雷知道哪些麦田之间可以建设水渠和建设每个水渠所需要的费用(注意不是所有麦田之间都可以建立

2015-09-06 16:32:57 926

原创 hdu 5430 reflect (欧拉函数)

从一个圆上一点发射光线,问反射N次后恰好第一次回到起点的发射方案数。主要说一下为什么K/(N+1)需要是一个既约分数。设g=gcd(K,N+1),k=K/g,n=(N+1)/g,即有g*(2*θ*n)=g*(2*k*Pi),即相当于反射n-1次回到起点g次。这样,如果g!=1,是不符合题意的。关于欧拉函数#include using namespace s

2015-09-06 07:21:11 386

原创 hdu 5428 the factor(分解质因子)

给一个序列,设所有项乘积为a,求a的因子中因子个数大于2的最小因子。将每个数分解质因子,记录每个质因子的个数。然后从最小的质因子开始取(累乘),直到取够两个(因为1和其本身也是该数的因子),此时得到的结果就是满足条件的最小因子。#include#include#include#include#include#include#define INF 0x

2015-09-06 06:34:27 423

原创 hdu 5429 Geometric Progression (等比数列判定+大数模板)

给一个序列判定是否是等比数列。坑点:首项可以是0,此时其余项必须全为0才是等比数列扒了个比较好用的大数模板,几乎可以和int一样使用。#include #include using namespace std;#define DIGIT 4 //四位隔开,即万进制#define DEPTH 10000 //万进制#

2015-09-06 06:26:55 433

原创 CCF 201409-3 字符串匹配 (KMP)

问题描述  给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。输入格式  输入的第一行包含一个字符串S,由大小写英文字母组成。  第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感

2015-09-05 18:23:17 640

原创 CCF 201503-4 网络延时 (树的直径)

问题描述  给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为1的交换机为根交换机,层级为1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1。所有的终端电脑都直接连接到交换机上。  当信息在电脑、交换机之间传递时,每一步只能通过自己传递到自己所连接的另一台电脑或交换机。请问,电脑与电脑之间

2015-09-04 20:24:16 2693 2

原创 CCF 201403-4 无线网络 (二维最短路)

问题描述  目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立网络连接。  除此以外,另有 m 个可以摆放无线路由器的位置。你可以在这些位置中选择至多 k 个增设新的路由器。  你的目标是使得第 1 个路由器和第 2 个路由器之间的网络连接经过尽量少的中转路由器。请问在最优方案下中转路由器的最少个数是多少?

2015-09-04 20:20:05 3751 11

原创 CCF 201403-3 命令行选项 (恶心的模拟)

问题描述  请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔。这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的程序不用对它进行处理。在工具名字之后可能会包含若干选项,然后可能会包含一 些不是选项的参数。  选项有两类:带参数的选项和不带参数的选项。一个合法的无参数选项的形式是一个减号后面跟单个小写字母,如"

2015-09-04 20:13:23 2966 3

原创 CCF 201312-4 有趣的数 (数位DP)

问题描述  我们把一个数称为有趣的,当且仅当:  1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。  2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。  3. 最高位数字不为0。  因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。  请计算恰好有n位的有趣的数的个数。由于答案可能

2015-09-04 19:57:39 1428

原创 CCF 201312-5 I’m stuck!(BFS)

问题描述  给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S', 'T'七个字符中的一个,分别表示如下意思:  '#': 任何时候玩家都不能移动到此方格;  '+': 当玩家到达这一方格后,下一步可以向上下左右四个方向相邻的任意一个非'#'方格移动一格;  '-': 当玩家到达这一方格后,下一步可以向左右两个方向相邻的一个非'#'

2015-09-04 19:06:40 3044 1

计算机网络课设-邮件客户端实现(含源码、报告)

开发平台:VC6.0 MFC 开发语言:C++ 内容:包含源程序和源代码以及相关报告。

2017-02-21

网络编程大作业(邮件客户端实现,含源码)

网络编程大作业(邮件客户端实现,含源码)

2017-02-21

计组课设(基于FPGA的CPU设计)

含数据通路图、状态转换图、相关文档、verilog源码以及测试代码

2015-09-08

用MFC开发的扫雷游戏程序(含源码)

仿制windows自带的扫雷程序。

2015-09-08

MFC开发的多功能高精度计算器(含源码

【版本说明】 1、增加运算符填写功能 2、增加进制转换功能(500位数有效) 3、增加数据统计功能 4、增加运算精度调节(仅针对除法和圆周率的计算) 5、增加单位转换功能 6、增加输入结果按钮,可将上一次运算结果作为数值输入 7、增加线性方程组求解功能 8、优化求圆周率的算法,可精确到9000位以上 9、修正了之前版本的一些bug 10、美化界面 【版权说明】 未经编写人员许可,任何单位及个人不得以任何方式或理由对该产品进行复制、修改、抄录、传播或与其它产品捆绑使用、销售。

2015-09-07

空空如也

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

TA关注的人

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