5 战场小包

尚未进行身份认证

我要认证

一大一新生,希望与众大牛学习

等级
TA的排名 4w+

战场小包回来了

迷茫过后,尽是荒凉。。。回来安安心心写博客了

2019-03-18 15:00:57

javascript柯里化

1.什么是柯里化?柯里化概念其实很简单,只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。实例:function add(a, b, c, d) { return a + b + c + d;}//通常调用方式var sum = add(1, 2, 3, 4);//柯里化的调用方式var curryAdd = Curry(add);var sum = cu...

2019-01-20 11:01:09

Sass进阶一

初学sass完全感受不到sass作为一种编程语言的完全性,接着往后面学,sass才开始精彩。①、sass支持类似c语言的条件、循环语句@if @else @while @each @forif .. else ... 没什么油水@for 支持两种语法 @for $i from 1 through 12{/*$i in [1,12]*/}@for $i from 1 to1

2017-05-14 23:13:00

CSS伪类+border实现Banner标签、冒泡式提醒等

一、前言在实现Banner和冒泡式提醒前,我们可以先了解一下border的实现规律,语言不好表述,直接上代码和效果图。 width: 0; height: 0; border-top:20px solid; border-left:20px solid red; border-right:20px solid green; border-bottom:20px solid

2017-05-11 23:39:41

Sass初涉

经历数不清日月的颓废之后,决定重新坚持自己的前端之路,说实话,到现在 ,对前端是很迷茫的,前端这个行业,真是应了那句话,“学了不一定有用”,更新换代太快,基础已打牢。从昨天开始我开始深入学习前端,JS方面学习函数式编程和模块化(require,commentJS),css学习预处理语言sass,框架方面接触facebook的react。那么今天便小小研究了一下sass对于浸润了很多

2017-05-10 00:06:06

npm、bower安装

一、NPMNPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。二、NPM安装配置1、windows下环境安装NPM比较简单,直接去node的官网(http://nodejs.org/)下载便可。新版本nodejs集成了NPM功能。2、按照步骤安装完nodejs后,打开cm

2017-05-08 22:53:08

POJ 1436 Horizontally Visible Segments 简单hash+区间更新

分析:线段树好题,类似poj2528, 题意是求解线段三角形的数目题目大意:在一个平面内,有一些竖直的线段,若两条竖直线段之间可以连一条水平线,这条水平线不与其他竖直线段相交,称这两条竖直线段为“相互可见”的。若存在三条竖直线段,两两“相互可见”,则构成“线段三角形”。给出一些竖直的线段,问一共有多少“线段三角形”。 首先处理端点问题:想象一下若同一x位置有两条线段,y

2016-08-04 11:11:19

POJ 2528 Mayor's posters 离散化+线段树+简单Hash

题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报思路:这题数据范围很大,直接搞超时+超内存,需要离散化:离散化简单的来说就是只取我们需要的值来用,比如说区间[1000,2000],[1990,2012]我们用不到[-∞,999][1001,1989][1991,1999][2001,2011][2013,+∞]这些值,所以我只需要1000,1990,2000,2012就够了

2016-08-04 10:58:13

线段树学习(二)区间修改

线段树的区间修改主要有三种:成段增减, 成段替换,区间异或区间更新是指更新某个区间内的叶子节点的值,因为涉及到的叶子节点不止一个,而叶子节点会影响其相应的非叶父节点,那么回溯需要更新的非叶子节点也会有很多,如果一次性更新完,操作的时间复杂度肯定不是O(lgn),例如当我们要更新区间[0,3]内的叶子节点时,需要更新出了叶子节点3,9外的所有其他节点。为此引入了线段树中的延迟标记概念,这也是

2016-08-04 10:43:31

poj2886 Who Gets the Most Candies?反素数+线段树

分析:约瑟夫环的升级版,求最大糖果数(因子数可用反素数打表获得)维护一颗线段树,区间存储剩余孩子数这里涉及一个新的概念: 反素数#include #include #include #include using namespace std;const int maxn = 500000 + 10;int antiprime[]={1,2,4,6,12,24,36

2016-08-03 16:39:36

线段树练习(4)poj2828 Buy Tickets

分析:线段树好题; 观察发现,最后一个人插入的位置是固定的联想到逆序读入,维护一颗线段树,区间存储剩余的位核心查询代码:(原因理解下面Hint)  if(p  else update(p-sum[i#include #include #include #include using namespace std;const int maxn = 2

2016-08-03 16:30:26

线段树练习(3)hdu2795 Billboard

题目大意: 有一块h*w的矩形广告板,要往上面贴广告; 然后给n个1*wi的广告,要求把广告贴上去; 而且要求广告要尽量往上贴并且尽量靠左; 求第n个广告的所在的位置,不能贴则为-1;  分析:初学线段树不得不做的一个好题利用线段树可以求区间的最大值; 将位置即h用来建树(h 树中存储的为该位置还拥有的空间; 若左子树的最大值大于他,就查询左子树,否则查

2016-08-03 16:07:25

线段树习题(2)hdu 1394 求最小逆序数

分析:这个题打破我对线段树的理解,线段树可以有很多种操作,不只针对于区间的一些东西,比如本题,逆序数的求解逆序数的定义:对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时,就说有1个逆序。一个排列中所有逆序总数叫做这个排列的逆序数。简洁来说,if i  > j and a[

2016-08-03 15:42:33

线段树练习(1)

现在我们来做几个最基础的线段树区间查询,单点更新,以及区间求和的模板题1、hdu1166 敌兵布阵分析: update:单点增减   query:区间求和#include #include #define lson l, m, rt<<1 #define rson m+1, r, rt<<1 | 1using namespace std;const int

2016-08-03 15:22:52

线段树学习(一)

线段树,作为一种超级强大的数据结构,一种特殊的区间树。经我近几日的研究,发现线段树于我以前理解的有所不同,以前就我理解线段树只是一种简单的模板,区间查询,单点更新,几天便可精通,其实不是这样的,线段树拥有很强大的功能(区间查询,求和,异或,单点更新,区间修改,区间合并,扫描线)线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对

2016-08-03 15:08:10

尼克的任务(线性DP)

题目描述尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。 尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务开始

2016-07-26 19:23:22

奶牛的锻炼

问题 A: 奶牛的锻炼时间限制: 1 Sec  内存限制: 128 MB提交: 48  解决: 13[提交][状态][讨论版]  题目描述   奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息。若她在第i分钟跑步,可以跑出D_i米,同时疲倦程度增加1(初始为0)。若她在第i分钟休息,则疲倦程度减少1。无论何时,疲倦程度都不能超过M。另外,一旦她开始休息,只有当疲惫程度

2016-07-26 19:17:05

POJ 1961(KMP, 最短循环节)

分析: 稍微改动POJ2406 循环节#include #include #include #include using namespace std;const int maxn = 1000000 + 5;int next[maxn];void getnext(int len, char *src){ int i = 0, j = -1; next

2016-07-26 19:09:50

POJ 2752 既是前缀又是后缀

分析:给定一个字符串s,从小到大输出s中既是前缀又是后缀的子串的长度。此题非常简单,借用KMP算法的next数组,设s的长度为n,则s串本身必定满足条件。其他满足条件的子串都有个特征,就是该子串的最后一个字符肯定与s的最后一个字符相同。这正是next数组发挥作用的时候。从n - 1位既最后一位开始回滚,若s[next[n-1]] == s[n-1],则子串s[0,1,2,...,next[

2016-07-26 19:06:53

POJ 2406 循环节

分析: 可用KMP解决(next[] 数组的优良特性之一) 最小周期长 = len - next[len] #include #include #include #include using namespace std;const int maxn = 1000000 + 5;int next[maxn];void getnext(int len, char *sr

2016-07-26 18:54:49

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!