这题也算比较容易的了。
如果哪个区间已经没有黑色的话,就不用update了,就是因为这个原因WA了2发,唉……
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define PI acos(-1.0)
...
分类:
其他好文 时间:
2014-05-09 22:55:55
阅读次数:
341
刚开始做的时候用线段树做的,然后就跳进坑里了……因为要开方,所以区间的值都得全部变,然后想用lazy标记的,但是发现用不了,单点更新这个用不了,然后就不用了,就T了。然后实在不行了,看了别人的题解,原来是用树状数组+并查集的方法,唉……没想到啊!
因为开方之后多次那个数就会变成1了,所以是1的时候开方下去就没用了。树状数组更新的时候就把其更新的差更新即可,太机智了这题……
昨天做了,然后出错找...
分类:
其他好文 时间:
2014-05-09 22:35:22
阅读次数:
290
题意:
定义函数F(x) :
区间[1,x]上的y是满足:GCD(x,y)>1 && x%y>0的 y的个数。
问:对于任意区间[l,r] 上的F(l···r) 有几个函数值是奇数的。
打表找规律。
打的是[1,x]区间的结果
把所有结果不相同的值打出来(因为结果是递增的,所以只观察不相同的结果)
发现:ans = x/2-2 || x/2-1
再把所有结果不同 &...
分类:
其他好文 时间:
2014-05-09 22:26:35
阅读次数:
424
一、数学库
1. 随机数
math.randomseed(os.time()); -- 设置随机种子
for i=1, 100 do
print(math.random(-1000,1000)); -- 随机区间 [-1000,1000], math.random(1000) 表示 [1,1000]
end;
2. 最大,最小值
math.max...
分类:
其他好文 时间:
2014-05-09 20:58:11
阅读次数:
669
题意:
题意好复杂。。。
给定n个人,从左到右排好队。
他们依次从左到右离开队伍。
每个人有个权值d
当某个人是第k-th离开队伍的,那么不开心值为 d*(k-1)
有一个操作,对于一个子序列,可以把前面一段翻转。
问最小的不开心值和。
#include
#include
#include
#include
#include
#include
using namespace...
分类:
其他好文 时间:
2014-05-09 20:45:04
阅读次数:
288
翻转链表绝对是终点项目,应该掌握的,这道题要求的是翻转一个区间内的节点,做法其实很相似,只不过要注意判定开始是头的特殊情况,这样head要更新的,还有就是要把翻转之后的尾部下一个节点保存好,要么链表就断掉了。一趟就可以,遇到节点直接翻转,最后把整个翻转的链表再翻转一次,就实现了。
class Solution {
public:
ListNode *reverseBetween(List...
分类:
其他好文 时间:
2014-05-09 15:05:06
阅读次数:
225
题目连接:check here~
题意是说给一个字符串,包含'(',')','[',']'四种字符,判断至少需要添加几个字符使所给字符串括号匹配。
区间型动态规划,设dp[i][j]表示在字符串s中i位置到j位置所需要添加的最少的字符(i
有两种情况:
1、dp[i][j] = dp[i+1][j] + 1;
表示:在i到j之间没有与s[i]相匹配的括号,则必须添加一个字符来与之匹配...
分类:
其他好文 时间:
2014-05-09 14:07:36
阅读次数:
230
Distinct Count时间限制:3000 ms | 内存限制:65535
KB难度:3描述给一个长度为 n 的数列 {an} ,找出有多少个长度为 m 的区间,使区间中不含有重复的数字。输入多组测试数据。(200组)第 1 行有 2
个数,n,m。(1<=n,m<=10^5)接下来 1 行有 ...
分类:
其他好文 时间:
2014-05-09 09:01:05
阅读次数:
411
这个题目我最开始看题目看了半天,看不懂。。但是通过看样例及答案终于看懂了。。。
首先先解决等级的关系。。如果等级越界,则不能交换。。所以原本等级的界限是
[rank[1]-m,rank[1]+m],但是这个边界里面会出现等级只差大于m,所以等级的区间应该是
[rank[1]-m,rank[1]],[rank[1]-m+1,rank[1]+1]............等等,所以一直枚举到 [r...
分类:
其他好文 时间:
2014-05-09 06:05:39
阅读次数:
270
HDU 4578
线段树区间更新
操作有:
区间所有数add(c)
区间所有数mul(c)
区间所有数set(c)
查询有:
区间所有数的p次方和(p>= 1 && p
关键是区间更新的三种操作的优先级的确定清楚
关键是:down和update中对区间的更新操作是一回事,可以写成函数方便编程
//#pragma warning (disable: 47...
分类:
其他好文 时间:
2014-05-09 01:08:38
阅读次数:
432