- 博客(334)
- 资源 (5)
- 收藏
- 关注
原创 Virtualbox移动虚拟机目录后启动报错解决办法
为了方便工作,移动了某台虚拟机的位置,发现重新注册之后无法启动了,报错如下图所示:解决办法:1、首先更改全局设定中默认虚拟电脑位置2、打开命令提示符,切换到Virtualbox安装目录下,然后执行:VBoxManage internalcommands sethduuid “F:\VM\win7_64\win7_64.vdi“ xxxxx其中xxxxx为报错时提示的n...
2018-10-10 21:12:18 1959
原创 virtualbox下kali安装增强功能时相关问题解决
1、下载:https://www.kali.org/downloads/2、更新源:/etc/apt/sources.list #阿里云kali源deb http://mirrors.aliyun.com/kali sana main non-free contribdeb-src http://mirrors.aliyun.com/kali sana main non-free...
2017-02-19 20:28:13 2507 1
原创 MD5
#include #include #include #include #include using namespace std;typedef unsigned char UC;typedef unsigned int UI;typedef unsigned long long ULL;#define maxn 500005//定义MD5中的4个非线性函数F、G、H、I#d
2015-12-31 23:37:57 674
原创 RSA
#include#include#include#include#includeusing namespace std;typedef long long LL;const int TIMES=5; //米勒罗宾素数测试次数const int EXP=500000; //p和q的差距LL p,q,n,e,d,t;LL big_rand(LL
2015-12-31 22:36:36 571
原创 DES
#includeusing namespace std;#define ENCODE true#define DECODE falseconst int//初始置换函数IPIP[64] ={ 58 , 50 , 42 , 34 , 26 , 18 , 10 , 2 , 60 , 52 , 44 , 36 , 28 , 20 , 12 , 4 , 62 ,
2015-12-31 22:35:40 622
原创 Nazo游戏(11-20关)
游戏地址:http://www.cafebabe.cc/nazo第11关:提示为第8关图片名,即office访问office.html进入下一关第12关:扫雷图片。提示:傻子也能过关的方法想到扫雷作弊码:xyzzy访问xyzzy.html进入下一关第13关:查看源码: Nazo-Level-13
2015-12-15 19:53:01 28396
原创 Nazo小游戏(1-10关)
游戏地址:http://www.cafebabe.cc/nazo/第一关:点击进入下一关第二关:更改url地址,level2.html->leve3.html,即进入了第三关第三关:右键鼠标,查看网页源代码,得到URL地址:helloworld.html第四关:还是查看网页源代码,注意到添加了外部JS:script src="
2015-12-15 18:28:55 47731
原创 hdu 1496 Equations (整数Hash)
给定a、b、c、d,问a*x1^2+b*x2^2+c*x3^2+d*x4^2=0的在[-100,100]上非0解的个数直接枚举会超时。将等式变换一下:a*x1^2+b*x2^2=-(c*x3^2+d*x4^2)预先枚举x1,x2,计算等式左边可能出现的值,然后枚举x3,x4,计算等式右边的值,看之前是否出现过该值,结果累加该值出现次数即可。由于值可能为负数,需要处理
2015-11-28 17:49:38 538
转载 AH协议为什么和NAT协议冲突。
严格的说,只能是隧道模式下的ESP才能穿越NAT。首先需要了解的是IPSEC的作用,即数据的机密性、完整性、认证性。机密性就是保证数据包的原始内容不被看到;完整性即保证数据包的内容不会被修改;认证性保证数据来自被信任的客户端。IPSEC中的封装格式有2中(AH和ESP),AH在IP数据包中插入了一个包头,其中包含对整个数据包内容的校验值;ESP用户加密整个数据包内容,同时也可以对数据包进行
2015-11-17 22:22:23 5073
转载 UML学习(四):状态图
--说明:本文部分图片来源于互联网状态图主要用于描述对象具有的各种状态、状态之间的转换过程以及触发状态转换的各种事件和条件。1、状态图的组成1.1 状态 主要用于描述一个对象在生命周期内的一个时间段。状态图中的状态包括状态名、内部活动、内部转换、入口和出口动作等部分。1.2 转换 转换是指状态之间在某种事件或条件的驱动下的切换的过程。转换分为外部转换、内部转换、完成转换
2015-11-07 11:56:41 909
转载 UML学习(三):序列图(顺序图/对象顺序图)
UML的模型中可分为两种,动态模型和静态模型。用例图、类图和对象图都是UML中的静态结构模型。而在UML系统动态模型的其中一种就是交互视图,它描述了执行系统功能的各个角色之间相互传递消息的顺序关系。序列图就是交互视图的一种形式。1、序列图的定义 序列图是对对象之间传送消息的时间顺序的可视化表示。序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个
2015-11-07 09:54:55 6095
转载 UML学习(二):类图
1、什么是类图 类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。2、类图的元素 在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)、依赖(Dependency)关系、泛化(Generalization)关系、关联(Association)关系、聚合关
2015-11-07 09:37:31 222
转载 UML学习(一):用例图
1、什么是用例图 用例图源于Jacobson的OOSE方法,用例图是需求分析的产物,描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。它的主要目的就是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系以及系统各个功能之间的关系。它通过用例(Use Case)来捕获系统的需求,再结合参与者(Actor)进行系统功能需求的分析和设计
2015-11-07 09:31:24 1159
转载 c++多线程编程中Mutex和Critical_Section的区别
Mutex和Critical Section都是主要用于限制多线程(Multithread)对全局或共享的变量、对象或内存空间的访问。下面是其主要的异同点(不同的地方用绿色表示)。 MutexCritical Section性能和速度慢。Mutex 是内核对象,相关函数的执行 (WaitForSingl
2015-10-28 09:40:55 1358
转载 URL编码表/HTTP消息含义
URL编码表backspace8%A41%a61%§%A7Õ%D5 tab9%B42%b62%«%ABÖ%D6 linefeed%0AC43%c63%¬%ACØ%D8 creturn%0DD44%d64%
2015-10-13 21:51:06 1029
原创 骨牌覆盖问题三(k*N棋盘覆盖)
骨牌覆盖问题一 骨牌覆盖问题二 骨牌覆盖问题三#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>#include<set>#include<queue>#include<stack>#include<map>using namespace std;#defi
2015-10-11 11:25:58 1639
原创 poj 2411 Mondriaans Dream (状压DP)
比较容易理解的解法是直接枚举两行的状态。时间复杂度略高O(n*4^m)。 思路参考了该大牛的:请戳#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;#define maxn 11typedef __int64 LL;LL dp[12][1<<11];in
2015-10-10 15:12:32 475
原创 poj 2282 Islands and Bridges(状压DP)
n个点,m条无向边,问是否存在哈密顿路,若存在,最大的边权和是多少?与之对应的路的条数有多少条? 边权和的计算方法:所有顶点的权值+相邻顶点权值的乘积 若相邻三个点两两之间都有边,则还需加上它们的权值的乘积考虑用一个二进制位表示某个顶点是否被访问。用n个二进制位表示一个状态。 注意到,每一个状态和前一个走过的顶点以及上上个走过的顶点有关。 因此,设dp[s][i][j]表示在状态s下,经过顶
2015-10-09 19:57:45 288
原创 ZOJ 3471 Most Powerful (状压DP)
n(<=10)种气体,两两相互碰撞会使得其中一种气体消失,同时释放出能量。问最多能释放出多少能量。 用一个2进制位表示气体是否存在,n种气体对应n位2进制位,表示一个状态。 设dp[i]表示在状态i下释放出的最大能量。 状态转移方程: dp[i]=max(dp[i],dp[i′]+a[k][j])dp[i]=max(dp[i],dp[i']+a[k][j])其中a[k][j]为气体k碰撞气体
2015-10-09 08:42:58 383
原创 poj 3001 Travelling (状压DP)
每个顶点最多可访问两次的TSP问题。 对于每个顶点,用一个三进制位表示其访问次数,则n个顶点的状态为n位3进制数。 设dp[i][j]表示在状态i下到达顶点j的最小花费。 有状态转移方程: dp[i+3j−1][j]=min(dp[i+3j−1][j],dp[i][k]+dis[k][j])dp[i+3^{j-1}][j]=min(dp[i+3^{j-1}][j],dp[i][k]+dis[
2015-10-08 22:13:17 417
原创 poj 3311 Hie with the Pie (DP)
解法#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;#define maxn 12typedef __int64 LL;#define inf 0x3f3f3f3fint D[maxn][maxn];int dp[1<<maxn][maxn];void
2015-10-08 17:08:16 318
原创 poj 1185 炮兵阵地(状压DP)
和上一题有点类似。不过对于当前的第i行状态,除了牵涉到第i-1行的状态外,还和第i-2行的状态有关。 考虑枚举前两行的状态,来进行状态转移: 设dp[i][s][s1]表示第i行状态为s、第i-1行状态为s1时,能安置最多炮兵的数量。 分别枚举第i-1和i-2行的状态s1、s2,有: dp[i][s][s1]=max(dp[i][s][s1],dp[i−1][s1][s2])dp[i][s]
2015-10-07 22:41:52 363
原创 poj 3254 Corn Fields (状压DP)
题目大意: N*M的农场, 有的格子可以放牛,有的不行。在这块地方放牛,相邻的格子不能有牛。求方案数。N、M都比较小(<13),那么可以用1个2进制位表示一行中的每一个格子的状态,0表示不放牛,1表示放牛,一行中的所有二进制位构成一个状态s。设dp[i][s]表示第i行状态为s时的方案数。那么状态转移方程:dp[i][s]=∑(dp[i−1][s′])dp[i][s]= \sum (dp[i-1][
2015-10-07 11:16:20 100
原创 hdu 5296 Annoying problem (LCA)
题目大意:给一棵带权树,和一个集合S,初始为空。现有两种操作:1、选择某个顶点加入S2、将S中某个顶点去掉。问:每次操作后,使得集合S中的点联通的最小边权和是多少。以上是官方题解。问题是为什么可以根据DFS序找两个点?这样做的原理是什么?这是问题的关键,然而题解并没有给出相应的说明。观察一棵树中顶点的DFS序,发现有如下特点:
2015-10-06 16:54:04 572
原创 hdu 5289 Assignment(RMQ)
给一个数列,求满足区间中任意两个数的差值均小于K的,这样的区间个数。RMQ预处理区间最大、最小值。然后从小到大枚举区间右端点i,对于每一个右端点,考虑其左端点最远(最小值)能到哪里,设为L[i]。则以该右端点为右端点的且满足条件的区间个数为i-L[i]+1。下面是L[i]的求法:对于端点i来说,显然有L[i]>=L[i-1],若L[i]因此,枚举右端点i的时候,用一
2015-10-05 18:53:48 356
原创 子序列个数(DP)
子序列的定义:对于一个序列a=a[1],a[2],......a[n]。则非空序列a'=a[p1],a[p2]......a[pm]为a的一个子序列,其中1例如4,14,2,3和14,1,2,3都为4,13,14,1,2,3的子序列。对于给出序列a,有些子序列可能是相同的,这里只算做1个,请输出a的不同子序列的数量。由于答案比较大,输出Mod 10^9 + 7的结果即可。输入
2015-10-04 23:07:16 638
原创 51nod 1084 更难的矩阵取数问题(DP)
原题链接:点击打开链接一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下,再从右下走到左上。第1遍时只能向下和向右走,第2遍时只能向上和向左走。两次如果经过同一个格子,则该格子的奖励只计算一次,求能够获得的最大价值。 例如:3 * 3的方格。1 3 32 1 32 2 1能够获得的最大价值为:17。1 ->
2015-10-04 22:06:37 1506
原创 hdu 2844 coins (多重背包+二进制优化)
给出n种面值的硬币,以及它们的数量,问能组成不超过m的面值有多少个。样例2解释:2 51 4 2 1面值为1的硬币2个,面值为4的硬币1个。能组成的面值有1、2、4、5、6。其中不超过面值5的面值有4个。典型的多重背包问题。这里的面值既相当于背包问题中的物品体积,又相当于物品的价值。因此dp[i]表示的是能组成的不超过i的最大面值,即dp[i]k且dp
2015-10-04 14:57:43 473
原创 编辑距离(DP)
给定两个字符串S和T,对于T我们允许三种操作:(1) 在任意位置添加任意字符(2) 删除存在的任意字符(3) 修改任意字符 问最少操作多少次可以把字符串T变成S?让串S和T的最长公共序列对齐,然后空出来的部分用'-'填充。比如:S="ABCD",T="DBDE",对齐之后有ABCD-DB-DE(1) S,T对应位置都是普通字符,相同,则需进行操作。
2015-10-01 16:50:01 476
原创 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 677
原创 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 1958 2
原创 hdu 5452 Minimum Cut (LCA)
题目大意:给一个n个点,m条边的无环、无重边的无向图,并且给出图中的一棵生成树,求最小割边集大小,使得边集中恰好包含生成树中的一条边。考虑生成树中的每一个结点,将其子树与其父节点分离需要去掉其父边以及其子树中的结点与其他子树相连的边,其父边就是生成树中的边,与其他子树相连的边为非生成树中的边。这样只需统计每一个子树关联的非生成树中的边数,取最小值,然后+1就是答案。对于每一个结点i
2015-09-24 18:32:00 457
原创 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 383
原创 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 459
原创 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 571
原创 hiho 1228 Mission Impossible 6(模拟)
题目大意:就是给一段按键操作,进行模拟,输出最终字符串。各种操作说明见原题点击打开链接个人觉得用vector来模拟还是比较方便的。主要注意一下指针pos的位置就好了,pos是指向当前要插入字符的位置,也即相当于光标的右边。对于D操作删除的时候删除光标的右边字符,即pos位置,对于B操作,删除的是左边的字符,即pos-1的位置。然后是粘贴的时候,分为插入模式和覆盖模式考虑。对
2015-09-21 11:20:14 830
转载 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 384
原创 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 1115
原创 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 446
MFC开发的多功能高精度计算器(含源码
2015-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人