这题 我一开始 以为是 数位DP 真心被DP给吓到了 一看到给个区间 然后求符合某个特点的数 就TM想到了数位DP..然后 反正 我找不出状态 =-=因为 这题的数据范围不大的原因 我就可以用树状数组做 才100W啊一般其实用dp的话 可能都是要10^9吧这题 蛮好的 又要用掉这筛选素数的方法 叫什...
分类:
编程语言 时间:
2014-10-22 00:27:05
阅读次数:
191
先预处理出能到当前点的区间,然后通过前缀和求得当前值即可。#include #include #include #include #include #include #include #include #include #include using namespace std; #define MP...
分类:
其他好文 时间:
2014-10-21 23:06:45
阅读次数:
274
http://acm.hdu.edu.cn/showproblem.php?pid=4902
出n个数,然后对这n个数进行两种操作:
如果是 1 l r x,则把 [l, r] 区间里面的每一个数都变为x;
如果是 2 l r x,则 比较 [l, r]区间里的数a_i和x的大小,如果a_i > x,把a_i变为a_i和x的最大公约数。
最后输出这n个数最终的值。
线段树可搞...
分类:
其他好文 时间:
2014-10-21 21:43:19
阅读次数:
290
分块,记录每个块内包括左端点的最大连续白段的长度,整个块内的最大连续白段的长度,和包括右端点的最大连续白段的长度。Because 是区间染色,所以要打标记。至于怎样在O(sqrt(n))的时间内找到最左的白色段呢?非常恶心…… 要考虑跨块的白段和块内的白段,并且顺序不能反。(代码中高亮的部分)这题完...
分类:
其他好文 时间:
2014-10-21 19:03:25
阅读次数:
254
题目大意:给定一个数轴上n个点,每个点有一种颜色,一共k种颜色,求一个最短的区间,包含所有k种颜色
卡了一段时间0.0 一开始想二分答案啥的 后来发现数据范围太大写不了0.0 后来去找题解才发现尼玛真巧妙
维护一个堆 将每种颜色的第一个珠子加入堆 然后不断把最左侧的珠子取出,加入该种颜色的下一个 同时更新ans
果然这么大数据范围还是要用堆这种常数小的数据结构啊0.0
我手写了堆却开了ST...
分类:
其他好文 时间:
2014-10-21 17:48:09
阅读次数:
241
本来想打线段树的说。。。就是把坐标离散化了,然后区间最大求和即可。。。后来觉得有点烦的说(silver题就要线段树。。。),于是看了下usaco的题解,发现了个高端的东西:善用STL里的容器和迭代器就可以了。以下就是高端程序: 1 /*********************************...
分类:
其他好文 时间:
2014-10-21 17:15:11
阅读次数:
243
题目大意:给定一个不重复的序列a,在a中任选一个区间,求区间内的次大值与区间内的任意一个其它数的最大的异或值
首先我们枚举次大值 对于一个次大值 它可能选择的另一个数的取值范围为(l,r) 其中l为这个数左侧第二个比它大的数 r为这个数右侧第二个比它大的数
在这个区间内的Trie树中贪心寻找最大值即可
这个区间怎么求呢?我们维护一棵平衡树 将数从大到小将下标加进平衡树 每加进一个下标 比它大...
分类:
其他好文 时间:
2014-10-21 13:55:20
阅读次数:
185
题目大意:给出一个森林,每个节点都有一个权值。有若干加边操作,问两点之间路径上的第k小权值是多少。
思路:这题和COT1比较像,但是多了连接操作。这样就只能暴力合并连个树。启发式合并会保证时间复杂度不至于太大。然后就是用可持久化线段树维护一个树的信息,按照dfs序来建树,每个节点的可持久化链的参考版本就是它父亲的版本。之后利用权值线段树可区间加减的特性,用f[x] + f[y] - f[...
分类:
其他好文 时间:
2014-10-21 10:26:39
阅读次数:
265
Java中存在着两种Random函数:一、java.lang.Math.Random;调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。例如下面的...
分类:
其他好文 时间:
2014-10-20 23:15:19
阅读次数:
240
http://acm.hdu.edu.cn/showproblem.php?pid=4509题目大意: 中文意义,应该能懂。解题思路: 因为题目给的时间是一天24小时,而且还有分钟。为了解题方便,我们将小时换成分钟,那么一天24小时,总共有1440分钟。顾我就可以把一天里的任意HH:MM时间换成.....
分类:
其他好文 时间:
2014-10-20 23:10:33
阅读次数:
234