战场小包回来了

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

2019-03-18 15:00:57

阅读数 16

评论数 0

javascript柯里化

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

2019-01-20 11:01:09

阅读数 29

评论数 0

Sass进阶一

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

2017-05-14 23:13:00

阅读数 178

评论数 0

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

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

2017-05-11 23:39:41

阅读数 357

评论数 0

Sass初涉

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

2017-05-10 00:06:06

阅读数 188

评论数 0

npm、bower安装

一、NPM NPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。 二、NPM安装配置 1、windows下环境安装NPM比较简单,直接去node的官网(http://nodejs....

2017-05-08 22:53:08

阅读数 1031

评论数 0

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

分析:线段树好题,类似poj2528, 题意是求解线段三角形的数目 题目大意: 在一个平面内,有一些竖直的线段,若两条竖直线段之间可以连一条水平线,这条水平线不与其他竖直线段相交,称这两条竖直线段为“相互可见”的。若存在三条竖直线段,两两“相互可见”,则构成“线段三角形”。给出一些...

2016-08-04 11:11:19

阅读数 257

评论数 0

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

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

2016-08-04 10:58:13

阅读数 332

评论数 0

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

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

2016-08-04 10:43:31

阅读数 178

评论数 0

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

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

2016-08-03 16:39:36

阅读数 210

评论数 0

线段树练习(4)poj2828 Buy Tickets

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

2016-08-03 16:30:26

阅读数 183

评论数 0

线段树练习(3)hdu2795 Billboard

题目大意:  有一块h*w的矩形广告板,要往上面贴广告;  然后给n个1*wi的广告,要求把广告贴上去;  而且要求广告要尽量往上贴并且尽量靠左;  求第n个广告的所在的位置,不能贴则为-1;    分析: 初学线段树不得不做的一个好题 利用线段树可以求区间的最大值;  将位置即...

2016-08-03 16:07:25

阅读数 149

评论数 0

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

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

2016-08-03 15:42:33

阅读数 157

评论数 0

线段树练习(1)

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

2016-08-03 15:22:52

阅读数 199

评论数 0

线段树学习(一)

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

2016-08-03 15:08:10

阅读数 205

评论数 0

尼克的任务(线性DP)

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

2016-07-26 19:23:22

阅读数 261

评论数 0

奶牛的锻炼

问题 A: 奶牛的锻炼 时间限制: 1 Sec  内存限制: 128 MB 提交: 48  解决: 13 [提交][状态][讨论版]   题目描述    奶牛Bessie有N分钟时间跑步,每分钟她可以跑步或者休息。若她在第i分钟跑步,可以跑出D_i米,同时疲倦程度增加1(初始为0)。若她...

2016-07-26 19:17:05

阅读数 218

评论数 0

POJ 1961(KMP, 最短循环节)

分析: 稍微改动POJ2406 循环节 #include #include #include #include using namespace std; const int maxn = 1000000 + 5; int next[maxn]; void getnext(i...

2016-07-26 19:09:50

阅读数 145

评论数 0

POJ 2752 既是前缀又是后缀

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

2016-07-26 19:06:53

阅读数 134

评论数 0

POJ 2406 循环节

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

2016-07-26 18:54:49

阅读数 235

评论数 0

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