自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天使也掉毛

我要的并不是

  • 博客(35)
  • 资源 (63)
  • 收藏
  • 关注

原创 UVA11722(见面概率)

题意:      有一个车站,两个人想要在这个车站见面,第一个人会在t1到t2之间的任意一个时刻到(时间上任意一点概率一样),并且停留w时间,第二个人是s2到s2的时间段到,停留也是w,问两个人的见面概率是多少?思路:      这个应该算是个比较经典的问题了吧,感觉在那看到过,我们建立一个直角坐标系,t1#include#include

2014-12-30 17:22:21 663

原创 UVA11636复制粘贴

#includeint main(){   int Cas = 1 ,n;   while(~scanf("%d" ,&n) && n >= 0)   {      printf("Case %d: " ,Cas ++);      int now = 1 ,Ans = 0;      while(now       {         Ans ++

2014-12-30 17:21:25 509

原创 UVA11549计算器谜题

题意:       有一个计算机只能保留数字的前n位,你有一个数字k(k思路:      显然这个题目是有循环节的,为什么有循环节?首先我们看下kFloyd判圈#includeint mk[15];void inint(){     mk[0] = 1;     for(int i = 1 ;i      

2014-12-30 17:20:37 517

原创 UVA11520填充正方形

题意:     给你一个n*n的矩阵,让你往里面添加大写字母,矩阵有的字母已经给填好了,然后要求是每个格子都不能与他相邻的格子的大写字母相同,如果有多个答案,输出从上到下,从左到右所连接的成的那个n*n长度的字符串的ASCII码最小。思路:      大家都知道4色定理吧,四种颜色能把任何地图都画出来,并且相邻的颜色不同,那么这个题目是26种,所以肯定不存在没有解的情况,所以我

2014-12-30 17:18:16 774

原创 UVA11464偶数矩阵

题意:      给你一个n*n的01矩阵,你的你的任务是吧尽量少的0变成1,使得每个元素的上下左右之和均为偶数(如果有的话),比如0 0 0         0 1 01 0 0  --->   1 0 1   0 0 0         0 1 0是变换了3个。思路:      这个题目拿到手的最暴力的反应就是直接搜索枚举所有,那么时间复杂度是O(2^(

2014-12-30 17:17:30 1070

原创 UVA11462年龄排序

题意:      给你200w个人的年龄,年龄的范围是1-100,然后让你从小到大排序输出所有人的年龄,题目还特意强调输入文件限制25MB,题目内存限制2MB.思路:     比较经典又简单的一个题目了,很早以前就见过了,我们可以开一个数组num[101]的,每来一个年龄a我们就num[a]++,最后输出num[1]个1,num[2]个2...就行了。        

2014-12-30 17:15:21 596

原创 UVA11427玩纸牌(全概率+递推)

题意:      一个人玩纸牌游戏,他每天最多玩n局,枚举获胜的概率是a/b,每天玩牌只要获胜概率达到p,那么他今天就不玩了,明天接着玩,如果有一天他的概率没有达到p,(没有达到p的话他今天一定是玩了n次),那么他以后就在也不玩了,问题是在平均的情况下,他能玩多少个晚上的牌?思路:      我们可以先算他只玩一天就失败了的概率,P[i][j]表示玩了i次,赢了j次,当j/

2014-12-30 17:13:56 519

原创 UVA11389巴士司机问题

题意:      有n个巴士司机,然后有2n个活,其中有n个是上午,n个是下午,每个自己都要选择一个上午的和一个下午的,每个活都有驾驶距离,如果一个司机每天的驾驶距离大于d,那么超出的部分就要每个单位距离给加班费r,如果你是巴士司机老板,最少要付给这n个人的加班费是多少?思路:      这个是水题了,白天活最终的晚上给一个最轻巧的活给他,其他的一次类推,这个很容易想到,不解释

2014-12-30 17:11:34 873

原创 UVA11384正整数序列(把123..变成0的最小步数)

题意:     给定一个正整数n,你的任务是最少的操作次数把序列1 2 3 4 5...n中所有的数字都变成0,每次操作可以从序列中选择一个活多个整数,同时减去一个相同的正整数,比如1 2 3可以吧2和3同时减少2,得到1 0 1思路:     我们只考虑操作一次的时候,操作一次是不是最大的效果就是剪掉一半,比如1 2 3 4 5 6 7 变成1 2 3 0 1 2 3

2014-12-30 17:09:38 3121

原创 UVA11992不错的线段树段更新

题意:      给你一个矩阵,最大20*50000的,然后有三个操作1 x1 y1 x2 y2 v  把子矩阵的值全部都加上v2 x1 y1 x2 y2 v  把子矩阵的值全部都变成v2 x1 y1 x2 y2  查询子矩阵的和,最大值,最小值思路:        首先我们观察,矩阵的行最多20行,那么我们就可以把每一行都建一颗线段树,这样就变成了一个一维的线段树

2014-12-30 17:06:44 525

原创 LA3644简单并查集判环

题意:      有n个化合物,每个化合物是两种元素组成,现在要装车,但是一旦车上的化合物中的某几个化合物组成这样一组关系,有n个化合物正好用了n中元素,那么就会爆炸,输入的顺序是装车的顺序,对于每个化合物只要他装上去会爆炸,那么就不能装他(不要考虑成最优什么的,题意的意思是直接模拟),问有多少个化合物不能装车?思路:      a个化合物正好由a中元素组成只有一种可能,那就是

2014-12-13 20:17:24 706

原创 LA3027简单带权并查集

题意:      有n个点,一开始大家都是独立的点,然后给出一些关系,a,b表示a是b的父亲节点,距离是abs(a-b)%1000,然后有一些询问,每次询问一个节点a到父亲节点的距离是多少?思路:     可以直接简单带权并查集就能搞定,核心代码是这样,设s_x[i]表示i到自己父亲节点的距离,然后//处理并查集的时候int finds(int x){  if(

2014-12-13 20:16:48 435

原创 LA3135简单多路归并(优先队列)

题意:      有N个任务,每个任务都有自己的时间间隔(就是每t秒请求执行一次)和任务id,这n个任务公用一个cpu,每次我们都执行时间靠前的,如果相同时间内有多个任务,就执行任务id小的,要求模拟出执行的前n个任务都是谁。思路:     这个是不是就是操作系统里的FCFS算法啊!这个要模拟可以用优先队列去做,开一个结构体,有三个变量,一个是id,一个是时间间隔t,另一个是总

2014-12-13 20:16:38 734

原创 UVA11997求前k个和,多路归并问题

题意:     给你一个二维矩阵,n*n的,每次从每一行中拿出来一个,然后加起来组成一个和,一共可以得到n^n个和,要求求出这n^n个和中最小的那n个和。思路:     多路归并问题,先说下多路归并问题,我的理解是有个变量,每个变量都按照自己的变化规律在变化着,每次一旦选用每个变量,那么这个变量就会根据自己的变化规律变化,这种问题我们可以用优先队列来解决,首先我们可以把所有变量

2014-12-13 20:14:44 495

原创 UVA11991第k次出现的v的下标

题意:     给你一个有n个数的数字序列,然后有m组询问,每组询问是问第k次出现的v在序列里的小标是多少?思路:     简单题目,直接开个二维的容器就行了,标记出现次数可以开个数组或者是一维的容器,没啥想法直接写就行了。#include#includeusing namespace std;map >Ans;mapmark;i

2014-12-13 20:13:57 824

原创 UVA11174村民排队问题

题意:     有n个人要排队,给你一些父子关系,要求儿子不能站在自己的父亲前面,问有多少种排队方式?思路:      白书上的题目,首先我们可以把关系建成树,这样我们就有可能得到一个森林(或者是一课树),然后我们再虚拟出来一个点0连接所有森林的根节点,这样是为了保证是一棵树,然后题目就变成了给你一棵树,不改变关系,问这个树有多少种方式,这个还是排列组合问题,对于每一个根节点,

2014-12-07 14:29:22 971

原创 UVA11137(立方数之和)

题意:      给你一个n(思路:       一个地推公式,d[i][j] 表示用不大于i的数字去组合j这个数字有多少种方法,因为nd[i][j] = d[i-1][j] + d[i][j-i*i*i];可以这样理解,d[i-1][j]好说,就是不用当前这个数,d[i][j-i*i*i]表示的是用i,同时for(i = j ;j #include#inc

2014-12-07 14:28:17 969

原创 UVA11134传说中的车(放棋子)

题意:      给你一个n*n的棋盘,让你在棋盘上放n个棋子,要求是所有棋子不能相互攻击(同行或者同列就会攻击),并且每个棋子都有一个限制,那就是必须在给定的矩形r[i]里,输出每个棋子的位置,special Jude。思路:      看完后第一反应就是匈牙利(哎!惭愧啊。)结果想着怎么建图,想了一会呵呵了,果断想别的方法,其实这个题目设计到一个小思想非常好,那就是把整体分

2014-12-07 14:26:37 946

原创 UVA11100旅行(大包装小包,问最少多少个包)

题意:       有n个包裹,每个包裹的大小都给出了,然后小的包裹可以装到大的包裹里,问最少装成多少个包裹,装成最小的包裹后还有一个限制就是让包裹数最多的那个包裹最少,就是说尽量都平均分,比如有6个,最少装成3个,平均就是全是2两个。思路:      一开始没看到要求是平均分,按照出现次数sort一遍之后又用了一个map来插入序列,最后用一个O(n*log(n))的方法成功W

2014-12-07 14:22:03 716

原创 UVA11078开放式学分制(前面-后面的最大值)

题意:      给你一个长度为n的整数序列a0 a1 a2..找出两个整数ai,aj(i思路:      简单题目,想象一下,对于每一个数我们只要用他前面的最大的那个数去减他就能得到把他当成aj后得到的最大值,而那个最大的数就是ai,ai是可以线性更新的,所以这个题目我们也没有必要开数组存,直接在输入的时候更新ai,枚举更新答案就行了,具体看代码。#include

2014-12-07 14:20:12 507

原创 UVA11021麻球繁衍

题意:     有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少?思路:      涉及到全概率公式,因为麻球的各种活动都互不影响,所以现在只考虑一直麻球,我们假设f[i]是第i天全部都死亡的概率,那么f[i] = p0 + p1*f[i-1] + p2*f[i-1]^2 + ...pn-1*

2014-12-07 14:18:29 954

原创 UVA10870递推关系(矩阵乘法)

题意:      给以个递推f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n - 3) + ... + ad f(n - d), for n > d.,给你n,d,a1,a2..ad ,f[1],f[2]..f[d],让你求f[n]%m.思路:      比较基础的矩阵题目,每次都构造一个d*d的矩阵,然后用快速幂求出来它的n-1次幂,然后在求

2014-12-07 14:17:14 639

原创 UVA10341解方程(二分)

题意:      给你一个方程 F[x] = pe^-x + qsin(x) + rcos(x) + stan(x) + tx^2 + u = 0(0思路:      在定义域内,前面5个都是减函数,所以当F[0] >= 0 && F[1] #include#include#define eps 0.0000000001double p

2014-12-07 14:15:53 492

原创 UVA10294项链和手镯(等价类计数问题)

题意:      给你一串珠子(连接成了一个环),共有n个珠子组成,你有t种颜色,现在你来给这个珠子染色,问染成项链有多少种方法?染成手镯有多少种方法?在项链里,经过顺时针旋转后相同的算一个,在手镯里,经过顺时针旋转或者沿着对称轴兑换后一样的算一个。思路:      比较典型的等价类计数问题,我们定义两个变量,a是旋转的总个数,b是翻转的总个数,那么根据Burnside和Pol

2014-12-07 14:13:28 754

原创 UVA11375火柴(递推+大数)

题意:      给你n根火柴,问你能组成多少种数字,比如3根可以组成1或者7,组成的数字中不能有前导0,思路:      我们开一个数组,d[i]记录用i跟火柴可以组成多少种数字,则更新状态是这样的d[i+c[j]] += d[i], c[j]就是组成数字j要用的火柴数,这样跟新相当于是在模拟写数字,但是有一点就是不能以0开头,左后当火柴数大于等于6的时候就可

2014-12-07 14:11:48 780

原创 UVA11889(给出lcm(A,B)=C中的AC求最小的B)

题意:     给出最小公倍数LCM(A,B) = C中的A,C求最小的B.思路:      lcm=(a*b)/gcd,把等号两侧同时除以a得到lcm/a=b/gcd左侧是已知的,右侧的gcd是a的因子中的一个,直接枚举a的所有因子找到答案就行了。#include#include#includeusing namespace std;l

2014-12-07 14:06:49 1267

原创 UVA11388GCD LCM

题意:      输入两个整数G,L,找出两个正整数a,b使得gcd(a ,b)=G,lcm(a ,b)=L,如果有多组解,输出最小的a的那组,如果没解,输出-1。思路:      比较简单,如果L%G!=0那么就没解,否则既然要输出最小的a,那么就直接输出G,L就行了,a=G的时候最小,同时b=L的话可以保证最小公倍数是L。#includeint ma

2014-12-07 14:05:49 395

原创 UVA10943简单递推

题意:     给你两个数字n,k,意思是用k个不大于n的数字组合(相加和)为n一共有多少种方法?思路:      比较简单的递推题目,d[i][j]表示用了i个数字的和为j一共有多少种情况,则d[i][j]=d[i][j] + d[i-1][j] (0#include#includeint main (){    int n ,k

2014-12-07 14:05:08 401

原创 UVA10780幂和阶乘

题意:      输入两个整数n,m(1思路:     比较容易想,一开始手残wa了好几次,我们直接求出m和n!的素数因子和个数就行了,假如s1[a]表示的是n!的素数因子a的个数,s2是m的,则Ans=min(Ans ,s1[a]/s2[a]);这个应该不用解释,很好理解吧!#include#includeint Pri[11000] ,p

2014-12-07 14:03:55 444

原创 POJ3422简单费用流

题意:     给一个n*n的矩阵,从左上角走到右下角,的最大收益,可以走k次,每个格子的价值只能取一次,但是可以走多次。思路:      比较简单的一个费用流题目,直接拆点,拆开的点之间连接两条边,一条是流量1费用是这个点的价值,另一条是流量k-1费用是0,然后就是当前这个点连接右下方的点,然后在虚拟出超级远点和汇点限流用的,比较简单,不解释了。#incl

2014-12-07 14:02:55 415

原创 POJ2239简单二分匹配

题意:      一周有7天,每天可以上12节课,现在给你每科课的上课时间,问你一周最多可以上几科课,一科课只要上一节就行了。思路:      简单题目,直接二分就行了,好久没写二分匹配了,练习下手而已。#include#include#define N_node 400#define N_edge 27000typedef stru

2014-12-07 14:01:47 547

原创 POJ1679判断最小生成树的唯一性

题意:     判断最小树是否唯一。思路:     我用了两种方法,主要就是好久没敲了,找个水题练练手,第一种就是先一遍最小生成树,然后枚举最小生成树上的每一条边,然后取消这条边,在跑一遍最小生成树,就这样一直跑最小生成树,如果找到了一颗和之前的那个一样的,那么就是不唯一,第二种方法也是先最小树,然后枚举,在枚举的时候不是继续重新跑,而是断开当前边,把树分成两个集合,然后在枚举这连个集

2014-12-07 14:00:52 559

原创 POJ1258简单最小生成树

#include#include#define N (100 + 10)using namespace std;typedef struct{   int x ,y ,c;}NODE;NODE node[N*N];int  map[N][N];int  mer[N];int finds(int x){   

2014-12-07 13:59:14 453

原创 hdu5108枚举因子求最小的m

题意:     给一个n(思路:      先用sqrt(n)的时间把所有的因子都求出来,然后在排序,枚举,就行了,这个题目这么做的话,要是仔细算一下时间复杂度估计会跪,但是题目说大数据不多,这种说法的前提下一般临街的时间复杂度都要试一试,还有就是在判断素数和枚举的时候写的别太挫,不然很可能会超时。#include#include#include

2014-12-07 13:58:22 665

原创 hdu3415单调队列

题意:      给你一个数字组成的环,要求在里面找到一个最大的子序列,使得和最大,要求:(1)子序列长度不能超过k(2)如果子序列和相同要起点最小的(3)如果起点相同要长度最小的思路:      首先环我们可以把序列放大一倍,然后Ans = maxx(sum[j] - sum[i]);  其中j>i,j-i>=k,sum[i]是前缀和,对于每一个j我们只要找到前面

2014-12-07 13:57:32 464

玩具塔防游戏FZ

功能: 给学妹写的一个单机游戏FZ。 原理: 用CE找到游戏基址,然后把这个找的过程数据记下来,模拟一遍就行了,就是平时的单机游戏外挂开发思路。

2016-12-18

输入法模拟程序(字典树词频统计)

功能: 通过字典树等算法模拟了一个输入法频率提示工具。 原理: 没记错的话是用的字典树频率的统计方式做的。

2016-12-18

赫夫曼字节压缩工具

功能: 文档压缩工具。 原理: 赫夫曼压缩。

2016-12-18

玩具塔防游戏.辅助 程序

功能: 给学妹写的一个单机游戏辅助。 原理: 用CE找到游戏基址,然后把这个找的过程数据记下来,模拟一遍就行了,就是平时的单机游戏外挂开发思路。

2016-12-18

文件藏于图片中的三个思路及其源码

文件藏于图片中的三个思路及其源码: 1.追加在图片文件后面 2、3.直接结合到PNG和ico文件的相关节里面,使其成为图片的一部分。

2016-12-18

内存清理工具(加速球)

功能: 实现常见清理工具的一键加速功能。 原理: 将内存数据直接压倒虚拟内存里,释放一部分不活跃数据,但是不建议高频率调用。高频调用会降低操作系统运行效率。

2016-12-09

wifi共享工具

功能: 如功能描述。 原理: 通过cmd相关模拟实现wifi共享。

2016-12-09

局域网文件传输工具

功能: 在内网内实现两台机器文件传输。支持两台电脑之间直接网线连接,里面自带了网络配置器。 原理: 基本网络编程,以及一些局域网配置等。

2016-12-09

屏幕像素点获取并设置鼠标位置为制定像素(源码)

屏幕像素点获取并设置鼠标位置为制定像素(源码C#+C++) 工具功能: 快速查找制定像素值的坐标并将鼠标移动过去,功能的话根据实际场景不同,常用于游戏辅助等。 开发语言/工具: 交互界面部分(C#);功能部分(C++ dll 为了提速);vs2012 注意问题: 默认是用的.net f 3.5 应该是默认支持win7,如果发现不支持当前机器,请尝试编译源码并且修改.net f的版本, 默认是找到第一个满足需求的像素点(如果有多个点满足),同时如果是不能满足具体要求(通常是锁定范围,请阅读代码并在相关位置改善)。 如果觉得速度不能满足要求,可以尝试优化本地缓存部分(目前已经做过优化,可以满足日常需求)。

2016-12-07

文件查找工具

功能: 快速的在电脑上找到自己要找的文件,忘记了是否支持同配了、大一或者大二的时候写的吧,年代久远了。 原理: 多线程+DFS+BFS。

2016-11-27

五子棋对战

12.五子棋 功能: 在线版五子棋程序 原理: 基本的C/S编程,里面的棋子都是控件,就是直接无脑罗代码罗出来的,可能比较low。

2016-11-27

播放器-超级玛丽

功能: 一个简单可爱的播放器小程序。 原理: C#里的WinForm编程里直接可以添加windows的播放组件实现播放功能。

2016-11-27

远程控制服务端/客户端

远程控制服务端/客户端 C#全套源码

2016-11-25

获取win7登录密码的工具

获取win7登录密码的工具

2016-11-25

内存加载exe的两种方式(支持win7)

内存加载exe的两种方式(支持win7)

2016-11-24

网络爬虫工具

功能: 网络爬取相关信息。 原理: 基本的网络爬虫,没有采用多客户端等优化措施。

2016-11-20

程序速度齿轮

功能: 改变程序的运行速度。比如单机游戏等的游戏速度等。 原理: 先注入dll到相关进程里,然后直接Hook住它几个和时间相关的API,然后自己计算返回相关结果,实现程序速度调整。

2016-11-20

DLL注入工具

功能: 远程代码注入实现dll注入,支持x85 x64。 原理: 利用远程代码注入,把dll注入到相关进程里。

2016-11-20

服务提权工具

功能: system权限启动一个程序。 原理: 直接注册一个exe服务程序,然后启动一个界面程序,通过管道通讯给服务程序exe传递参数,让服务程序以system权限启动相关进程。

2016-11-20

输入法注入

输入法注入原理及其工具代码

2016-11-19

dll内存加载

dll内存加载

2016-11-18

通过修改EIP寄存器实现强行跳转并且注入DLL到目标进程里

通过修改EIP寄存器实现强行跳转并且注入DLL到目标进程里

2016-10-21

DLL服务(svchost服务)

svchost服务,DLL服务

2016-10-07

RVA-FOA转换工具

一个简单的RVA-FOA转换工具。

2016-09-29

lsp注入(原理及其实现代码)

lsp注入(原理及其实现代码)

2016-09-17

system提权工具

system提权工具,可以用system权限启动一个进程。里面同时包含了所有的实现代码以及原理文档介绍。

2016-09-16

DLL劫持-Hijack-原理及其实现细节

DLL劫持-Hijack-原理及其实现细节

2016-08-21

windows-DLL注入

windows-DLL注入整理

2016-08-14

windows-CODE注入(远程线程注入)

windows-CODE注入(远程线程注入) 整理代码

2016-08-14

汇编环境搭建(vs2010(2012)+masm32)

汇编环境搭建(vs2010(2012)+masm32)

2016-08-11

设计模式-代理模式(讲解及其实现代码)

设计模式-代理模式(讲解及其实现代码)

2016-08-07

设计模式-访问者模式(讲解及其实现代码)

设计模式-访问者模式(讲解及其实现代码)

2016-07-29

设计模式-解释器模式(讲解及其实现代码)

设计模式-解释器模式(讲解及其实现代码)

2016-07-29

设计模式-享元模式(讲解及其实现代码)

设计模式-享元模式(讲解及其实现代码)

2016-07-28

设计模式-中介者模式(讲解及其实现代码)

设计模式-中介者模式(讲解及其实现代码)

2016-07-27

设计模式-职责链模式(讲解及其实现代码)

设计模式-职责链模式(讲解及其实现代码)

2016-07-25

重新封装了下node-mongo服务.zip

# 重新封装了一下NODE-MONGO 使其成为一个独立的服务.可以直接通过get/post来操作 # consts.js 配置用的数据,用于全局参数配置 # log.js 自己写的一个简单的存储本地log的功能,数据库异常或者逻辑上产生异常数据的时候输出查错 # servicemongo.js 主服务程序,可以直接node servicemongo.js 启动,挂起端口服务 # routemongo.js 请求路由相关 # mongo.js 封装了一些基本的node对mongo操作 # 使用方法,直接node servicemongo.js 就行,也可以在另一个项目里调用servicemongo的start # 注意 如果node包不能用,看下错误日志,缺什么就直接npm i XXX 装上就好

2019-11-05

DIYPE解析器(做事无痕)

DIYPE解析器(做事无痕)

2017-02-05

TLS实现代码段加密

TLS实现代码段加密,运行的时候直接在内存里把代码段解密出来再跑。

2017-01-01

利用数字签名bug藏数据

利用数字签名bug藏数据工具,把数据藏在一个有数字签名的PE里,然后该PE文件数字签名依然显示正常。

2016-12-17

空空如也

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

TA关注的人

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