水水更健康。。。话说蒟蒻的noip爆炸了怎么办?←_←这道题裸的区间dp:f[i, j]表示当前取全了i到j之间的金币,最大值为多少于是f[i, j] = sum[i, j] - min(f[i + 1, j], f[i, j - 1])但是卡空间。。于是改一下方程:令len = j - i+ 1,...
分类:
其他好文 时间:
2014-11-15 20:02:38
阅读次数:
296
我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢?
虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,计上心来”,这个不是太简单了嘛,用二分的方法,在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的中间...
分类:
其他好文 时间:
2014-11-15 18:57:21
阅读次数:
308
求区间第k大数是多少
用我惯用的线段树写法似乎不适合写主席树,看别人的代码好半天才看懂
用root表示每一个前缀树的根,思想大致是由第i-1个树构成的树建第i个树,由于加入一个数只需要log级别修改,所以建树效率很高。
主席树的精髓在于可持续化,就是说之前区间的信息不去修改它,递推加入新元素的时候,要新开log个空间来存储。因为主席树本身比较占用空间,只需改变这些空间的指向就可以重复利用不变...
分类:
其他好文 时间:
2014-11-15 18:54:35
阅读次数:
136
平庸是程序员的最大忌讳。大家可以看看最近出来的《软件开发者薪资调查报告》。读过之后每个人的认知可能不同,有的人感觉我怎么赚这么少得跳槽了,有的人感觉自己还可以,我个人的感觉就是上面那句话:平庸是程序员的大忌。你可以参照图中的数据,看看自己在哪个区间里。如果在0~50%间,那么说明你的收入处于行业的中...
分类:
其他好文 时间:
2014-11-15 16:46:27
阅读次数:
237
题目地址:1133. SPAM思路: 题目意思是说在‘@’的前后出现题目给定的合法字符或者不连续出现‘.’字符的话,这个就是合理的输出。 那么以@为中心,向前,向后扫描,当扫描到不符合字符时,记录此时位置,以前后为区间,输出字符。 具体代码如下: 1 #include 2 #include ...
分类:
其他好文 时间:
2014-11-15 01:26:49
阅读次数:
159
保证接下来提到的算法都将是在线的。虽然分了几个算法但其实是一个。一:预处理所有区间[p*block+1,q*block]代表的值。其中:p、q为自然数0、1、……、[n/block]block在前一篇文章中提到过,最适合取n/sqrt(m)。这样共记录下m个值,简单分析得平均复杂度n*sqrt(m)...
分类:
编程语言 时间:
2014-11-14 22:44:18
阅读次数:
235
很久以前傻乎乎地看来源奇怪的资料的时候被各种曼哈顿弄晕了。然后现在学会的是分块方法。另新创一个分块方法。让我们考虑这样一个区间询问问题……它有如下的性质:0,n个数,Q个询问。1,它没有修改操作,这意味着我们可以按我们喜欢的次序跟询问玩耍。实际上后面会讲到我们完全可以按任意次序玩耍。2,如果我们知道...
分类:
编程语言 时间:
2014-11-14 21:08:34
阅读次数:
253
Uva 10688 The Poor Giant (区间DP) —— black的专栏 —— waShaXiu...
分类:
其他好文 时间:
2014-11-14 17:57:03
阅读次数:
137
POJ 3978 Primes(求范围素数个数)
http://poj.org/problem?id=3978
题意:
给你一个区间范围A和B,要你求出[A,B]内的素数个数。其中B<=100000。
分析:
首先我们求出2到10W的素数表,把每个素数按从小到大的顺序保存在prime数组中。然后我们用二分查找找到A的下界和B的上界,然后用上界-下界即为素数个数。
程序实现用了两种筛选法来求素数表。两种筛选法都是基于每个自然合数都可以分解为:最小素因子p*剩余部分q。...
分类:
其他好文 时间:
2014-11-14 17:52:49
阅读次数:
253