自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (11)
  • 收藏
  • 关注

原创 POJ2559Largest Rectangle in a Histogram

单调栈的第一个题,看过很多遍了,最近才真的明白是什么意思POJ2559题意:给定n个高度不定的,宽度为1的小矩形,求可以构成的最大面积方法:所谓单调栈,是这样一种数据结构:从栈底到栈顶是单调的拿第一组样例来举例:7 2 1 4 5 1 3 32入栈,栈的情况为:【2】1想要入栈的时候,发现栈顶的2比自己大,把2弹出来,1进入:【1】4进入:【4,1】

2016-05-30 21:29:06 335

原创 POJ3061Subsequence

题目链接:POJ3061其实按道理来说这个题算是简单题了,为了好好总结这类思想,写个题解给自己留着题意:给定n个数,一个数M求连续的x个数的和不小于M的,最小的x拿head和tail来扫描一遍就好head往前走,走到当前区间的sum值大于等于M,然后记录下答案tail再往前走,将区间缩小,直到当前区间的sum小于M,每走一格,都记录下答案这样

2016-05-30 00:22:02 386

原创 CF676Div2

CF676Div2题解

2016-05-27 00:05:04 517

原创 POJ 2823 Sliding Window

被逼着写的一个题,以前觉得难度很大的东西,一旦有动力去好好学习,其实真的并没有那么难ACM代码其实没有多少行,而且原理也就那么几句,怀着一颗向上的心,每天正能量,每天一道a+b,时间长了真的会有很大进步的因为,时间都看得见(废话了一波)题目链接:POJ2823题意:给定n,k,n个数,求每个连续的以K为区间长度的区间中的最小值和最大值方法1:线段树!区间内的最大最小

2016-05-26 00:46:23 312

原创 HDOJ3400 Line belt

题意:平面上有ABCD四个点,给定坐标,线段AB上的运动速度是P,线段CD上的运动速度是Q,其他平面内的运动速度是R,距离是欧几里得距离,求A从运动到D的最小值链接:HDOJ3400思路:计算几何的题,每次枚举,都会涉及到eps想法很简单,要求A到D的最小值如果最优解需要从AB线段上过的话,那么需要找到AB上的一个点X,使得AX+XD时间最短同理,CD上需要找到一个Y,

2016-05-24 19:17:45 350

原创 HDOJ3943 K-th Nya Number

题目链接:HDOJ3943题意:在(P,Q】区间内,第K大的满足条件的数是多少条件是:数位中有X个4,Y个7分析:有X个4,Y个7是很简单的数位dpdp【pos】【x】【y】:当前pos位,现在已经有了x个4,y个7注意可以有个小剪枝,即x不能超过X,y不能超过Y二分的方法与HDOJ 3271 SNIBB相同题解在这儿呢:HDOJ3271SNIB

2016-05-23 23:36:50 390

原创 HDOJ3565 Bi-peak Number

题目链接:HDOJ3565题意:首先定义了一个peak number,是没有前导0的,存在某一个数位,比左右两边的数字都大的数然后Bi-peak number,是两个peak number的数位相连分析样例就能够得到这个题的坑点,很友善的题样例1是只有5个数位,要分成Bi-peak number,至少要6位,abcdef,其中b>a,b>c,e>d,e>f样例2是想要分

2016-05-22 11:11:20 472

原创 HDOJ3967 Zero's Number

题目链接:HDOJ3967题目:把【A,B】区间中的每个数X,分成左右两部分,如果和是K的倍数,那么算一个满足条件的数。求区间内的总数分成左右两部分意思是说从任意一个数位断开,比如1234,可以分成1+234,也可以是12+34,还可以是123+4如果有多种分解情况,算多种然后就跟平衡数的思路一样了平衡数是枚举支点,这个题就是枚举分隔的位置如果X这个数有len位

2016-05-21 20:29:36 392

原创 HDOJ3271_SNIBB

链接:HDOJ3271题意:10进制的【A,B】区间内,在转化为BASE进制之后,各个数位的和为M的有多少个数,其中第K个数是多少思路:转为为BASE进制和转为10进制有什么太大区别吗?因为BASE不超过10,所以就是在模板的calc函数里改个值就好了求数位的和为M就是模板其中第二问:第K个数是多少有点麻烦首先呢,第1个数是calc(X-1)这样来计算

2016-05-20 19:29:18 326

原创 codeforces 401D Roman and Numbers

题目链接:CF401D题意:求将n的所有数位重新排列的所有数中,能够被m整除的数的个数当数位DP专题做的,所以会想到记忆化来保存状态搞n的所有数位重新排列怎么搞?记录有多少个数字就好,每个数字都得记录,就都得用一个新变量来保存由于不能有前导0,所以构造出来会是这样:dp【pos】【a0】【a1】【a2】【a3】【a4】【a5】【a6】【a7】【a8】【a9】代表

2016-05-20 13:30:06 387

原创 Codeforces 258B Little Elephant and Elections

题目链接:CF258B还是继续我的数位DP专题学习题意:在【1,M】中选择7个数,定义数字中含有4或者7的叫做运气数,如4447有4个,可以累计现在要求:选择第一个数的运气值要严格大于其他6个数的运气总和分析:第一思路:用DP预处理dp【pos】【x】:当前位为pos,运气值为x的数有多少个但是发现这样做,有一点不好:怎么去比较严格大于这个事呢

2016-05-19 19:45:41 434

原创 POJ3252 Round Numbers

题目链接:POJ3252题意很简单:【L,R】区间中,各个数的二进制表示形式中0的个数不小于1的个数的数目本来是可以1A的简单题,超时了无数发,来解释解释细节看到题目中L,R的大小是2*10^9,在int范围内,超时跟long long可能也有关系然后就是状态的分析dp【pos】【x】【y】:当前枚举到了第pos位,0的个数有x个,1的个数有y个,符

2016-05-18 13:02:34 292

原创 HDOJ4507 恨7不成妻

题目链接:HDOJ4507这个题,跟标准模板就有很多的不一样了,主要体现在数学的计算上面题意:区间【L,R】内,与7数字无关的数的平方和无关的定义是:该数不含7,不能被7整除,各个数位之和不是7的倍数分析:如果是统计符合某种性质的数的个数,那么很简单不含7,在数位枚举的时候遇到7跳过就好被7整除和数位之和是7的倍数,都是在数位枚举完了之后,记忆化

2016-05-17 15:44:26 544

原创 HDOJ4734 F(X)

题目链接:HDOJ4734题意:给定整数a,b:先按照题目意思求得F(a),然后求区间【0,b】内有多少个数不超过F(a)刷了这么久的数位DP,对于这种模型题感觉还是在的dp【len】【x】:数位为len,不超过j的数的总数量求F(a)写个函数进行计算就好了最终的要求是不超过F(a),所以每次用F(a)去减去数位DP枚举的数,如果最终不小于0,说明这个值是可以的

2016-05-17 13:57:12 352

原创 Beautiful numbers

Beautiful numbersCodeforces55_DHOJ1983注意两边的提交格式和long long;int64不一样,细节题意:【X,Y】区间内有多少个数,该数能够整除数位中的每一位按照数位DP模板先走起dp【pos】【num】【mod】表示:当前已经算到了第pos位,当前数为num,各个数位的乘积为mod然后发现,空间没法开起来。pos开2

2016-05-15 09:43:02 394

原创 URAL1057_Amount Of Degrees

题目链接:URAL1057题意:区间【X,Y】内,有多少个数可以表示成K个不同的B的幂次方之和如:K=2,B=2,3=2^0+2^1,5=2^2+2^0等这个题是论文上的题:算法合集之《浅谈数位类统计问题》其实归到数位DP不是很合适,因为数学推导推完了之后就是一个组合数的问题详细分析见论文吧,不再赘述,说说我对代码的理解#include#inclu

2016-05-13 20:49:09 362

原创 BZOJ1026_windy数

链接:BZOJ1026题意:【A,B】区间内,有多少个所有相邻数位数值之差不小于2的数还是来想记忆化的数位DP首先len肯定是一维变量,flag是一维,既然相邻数位数值有关系,那么上一位数值必须要记录,设为before如果就dp【len】【before】行吗?可以,但是dfs记忆化的时候,就三维变量是不行的因为要判断最高位和前导0当最高位枚举的时候,

2016-05-13 20:26:43 728 4

原创 HDOJ3709_Balanced Number

题目链接:HDOJ3709题意:给定区间【A,B】,求区间内的平衡数。定义是:选取某一个数字作为支点,各个数字到该数字的距离为力矩,使得杠杆平衡。如3218这个数,以1为支点时,3距离为2,2距离为1,左边之和为8,后边之和也为8,为平衡数数位DP思想也很简单:既然不知道支点是那个点,枚举一发。既然不知道是否平衡,那么每个都来算所以定义:dp【pos】【x】【st】:pos

2016-05-13 20:19:03 412

原创 HDOJ4389_X mod f(X)

数位DP再来一题。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4389题意:求【A,B】中有多少个该数能够整除其数位之和的数分享一发我雨巨的题解,写得比我好多了:雨巨题解相同的思路,不同的dp构造F(X)意思为X的各数位之和,X最大是1e9,所以F(X)的范围是1到81。所以在DP设计的时候,X数位之和要设计成一

2016-05-12 17:45:13 481

原创 HDOJ3652_B number

数位DP第三天

2016-05-11 15:05:59 337

原创 [Toddler's Bottle]-[flag]

这个7分的题其实很脑洞方法很简单:拖入IDA中查找字符串看到什么熟悉的东西了吗?对,upx肯定是upx加壳处理过的那么呢,需要百度一发找工具呗,linux下的upx加壳脱壳工具就这个:sudo apt-get install upx在terminal下输入upx查找使用方法脱壳命令是-dupx -d flag就可以把文件脱壳

2016-05-10 20:57:23 816

原创 HDOJ4352_XHXJ's LIS

XHXJ's LIS刚发现我写题解从来都没有把题目名字写出来过,从今天开始起补上又是一个新的数位DP姿势,学完各位大神的博客来自己总结一发题目链接:HDOJ4352题意:给定【L,R】,求各个数的数位上数字的LIS为K的数有多少个,看到L,R的数值大小就知道是数位DP,看到K最大是10,也可以猜到K是dp中状态的一维,但是怎么放进去呢?先想想模板,dp【pos】

2016-05-10 15:40:22 531

原创 HDOJ2089

懂了简单模板之后用起来就是舒服,跟着题目的数值和条件改一改就能过题目链接:HDOJ2089题目是不要62或者4出现,HDOJ3555是需要49出现,这有什么本质区别吗?拿着代码改一改就好了同样的,细节见代码哦#include#include#include#include#include#include#include#include#include

2016-05-09 19:45:28 1161

原创 HDOJ3555

数位DP基础模板题题目链接:HDOJ3555先来膜拜一发我雨的题解:http://blog.csdn.net/deng_siyu/article/details/37729021题意很简单:判断区间【1,n】中有多少数字含有“49”这个子串状态定义:dp【i】【0】:前len位不含49,且高位不是4(不会影响下一个数字的枚举了,因为49的第一个字符是4,第len位可

2016-05-09 19:24:42 917

原创 数位DP

每天一道a+b系列新开一个专题,数位DP数位DP,无法暴力求解,需要在数位上进行递推,一般都采用记忆化搜索的方式常见题型为求区间【l,r】的某类符合条件的值,转为【0,r】-【0,l-1】来计算一般需要用数位来预处理数学上对数比大小的原则:对于一个小于n的数,肯定是从高位到地位出现了某一位(不要以为是废话,这是数位DP的代码原理)如n=4567要

2016-05-09 19:03:58 990

原创 HDOJ2204

每天都来补题确实很充实,类型都不一样大概思路都会,就是写不对的题,才会目前来说最重要最有意义的题了吧http://acm.hdu.edu.cn/showproblem.php?pid=2204给定n,求1-n中有多少个可以表示成M的K次方的数。K>1题意很简单,但是怎么想?题面上说到了素数,第一想法就是K从素数开始枚举!当K不是素数时,必然是重复算过的!比如K=

2016-05-07 13:13:08 765

原创 UVA1377

读完题意就知道是一个暴力乱搞题,但是苦于水平有限,只能赛后补UVA1377题意:n个长度值,需要提供一把刻度尺,尺子上的刻度越少越好,尺子越短越好,要求是:必须有0刻度,n个长度值可以直接测量注意hint的提示:最多就是7个!我自己想的是二进制枚举:把0这个长度值放入n个长度值中任意一个状态用一个整数表示,然后去判断,选择覆盖了所有长度值得方案因为i

2016-05-06 20:27:03 791

转载 终于明白POJ上有实数就容易wa的原因

http://blog.csdn.net/hcbbt/article/details/16210107C++的scanf和printf的细节差别导致的printf对于float和double没有区别使用printf用%f输出实数更好,所以很多POJ的题上,%lf输出就是wa,%f的输出就是AC这就不觉得奇怪了!

2016-05-05 19:26:56 843

原创 HDOJ5115

最近作死的新开一个群每天一个a+b,群主是不是得坚持下来呢,感谢群巨的鼓励和支持,一起加油区间DP:HDOJ5115区间DP特点总结:数据量小,n一般在100,200左右,因为一般需要三个循环,太大了循环不起来,会超时一般dp【1】【n】为结果dp【i】【j】的状态转移需要中间量k作为转移的中点,dp【i】【k】,dp【k】【j】为最优子结构题意:n匹狼

2016-05-05 19:08:01 282

原创 [Toddler's Bottle]-[bof]

linux下的所谓的简单的缓冲区溢出的题这是题目链接中给的bof.c源代码#include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me! if(key == 0xcafebabe)

2016-05-04 12:32:04 755

原创 HDOJ5114

一道简单的几何题:HDOJ5114对于有模板和懂数学的大神来说,几何题都是水题吧给两个点的坐标,初始化的速度方向向量为(1,1),两个点在n*m的矩阵中移动,遇到边界没有能量损失反弹前进,问这两个点是不是会在某个点相遇?求出相遇点的坐标。几何题都得懂原理才能写首先得明白有几种情况相遇:1.两个点,速度方向向量互为相反,即相向而行,且x方向的差量与y方向的差量相同

2016-05-02 20:13:49 351

原创 HDOJ5113

搜索题,不好好写会超时的搜索题其实如果归类到搜索,弱觉得不是特别恰当。搜索只是为了得到某一个可行解,本质上的思路是数学上的想法和构造的解法http://acm.hdu.edu.cn/showproblem.php?pid=5113看到Special Judge想到多解的深搜是很正常的,有没有想过去构造合法解呢?题意:n*m的矩阵,k种颜色,每种颜色a【i】个,问是否

2016-05-02 19:06:41 367

原创 HDOJ5671

刷题的时候,最怕的一种题:题意上明明是模拟,但是根据其数据量大小去看,模拟完肯定TLE这个题,给了一种解决方法:对所谓的模拟进行记录而不是动作,最终根据记录情况输出,而不是变换完毕之后输出看完代码发现很简单,但是想写出这种思路转换的代码很难a【i】表示位置上的行变换b【i】表示位置上的列变换c【i】表示数值上的行变换d【i】表示数值上的列变换变换公式很容易按照题

2016-05-01 16:34:58 286

原创 HDOJ5672

字符串的新姿势新技能解锁:HDOJ5672给定一个串长不超过1e6的字符串,统计其中子串中不同字母个数不小于k的子串总数遇到这种题,肯定只能用O(n)的算法扫描一遍:姿势要好才能AC如果从0到m刚好包括k个字符,那么0到m+1也有,0到len-1也有,总数为len-1-m+1=len-m个值如果第0个字符在1-m的区间中存在,那么1-m子串也是符合题意的,同理1到m

2016-05-01 13:22:00 329

upx脱壳环境和工具包

从upx开始学习脱壳,upx的加壳后和源程序,OD中的Ollydump以及可以用来DUMP程序的PETools,还有重建IAT的Import REC工具。给自己提供个打包的upx,也给大家提供个学习的环境配置 也可以直接从OllyDbg从零开始学习下载

2018-01-23

Socket编程实现文件传输

windows下C/C++用socket编程实现客户端与服务端的通信、连接和文件传输的功能

2015-12-18

windows下的socket编程

windows下的C语言的Socket编程,实现了最简单的客户端与服务端的通信以及回传功能,附有一份实验报告,里面有函数的功能使用学习和笔者走的弯路,希望对大家有用

2015-12-12

IPv4实验和以太网实验报告

计算机网络实验报告,IPv4实验和以太网实验报告,有相关的探究方向和截图

2015-06-25

acm线段树基本

acm中的基本常用数据结构:线段树的基本题型介绍,大家一起学习进步

2015-06-11

acm的DP专题

acm的DP专题,以供新手使用,希望跟大家一起进步和学习

2015-06-11

基本加密解密

学习各个编程语言的时候可以使用的txt,完成各个加密解密,也为CTF竞赛做准备

2015-06-11

杭电最基本的新手练习题

有代码的自己写的程序,在杭电OJ上已经通过,新手练习必备

2014-09-13

空空如也

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

TA关注的人

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