- 博客(5)
- 资源 (6)
- 收藏
- 关注
原创 并查集(初级)小结
并查集定义:https://zh.wikipedia.org/wiki/%E5%B9%B6%E6%9F%A5%E9%9B%86 /*并查集模板*/ int parent[MAXN]; int rank[MAXN]; void init(int n){ for (int i=0;i<=n;i++){ parent[i]=i; rank[i]=0;
2015-07-21 20:12:49 793
原创 hdu4578(三个更新操作,三个求值操作)
题意:有长为n的数列,初始化为全部为0,我们对它有三个操作: (1)把数列中的一段区间全部乘一个值; (2)把数列中的一段区间全部加一个值; (3)把数列中的一段区间全部替换成一个值; 然后再对它有一个查询操作: 求数列中的一段区间的每个数的p次方之和(1 解题思路: 因为p只有三个值,所以我们可以将这三个值分别进行求解,我将它们定义为sum,sum2,sum
2015-07-15 09:46:42 1133
原创 线段树多lazy-tag(两个)
线段树多lazy-tag(两个)题意:有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。 解题思路: 结构体定义:typdef long long ll; struct Node{ int l,r; l
2015-07-13 21:18:07 1495 1
原创 poj2528 Mayor's posters(线段树,离散化)
离散化的思想: 对于这样的数据 (3,10000), (9,1000000), (5,100000), (1,1000), (7,1000000) 我们可以将其处理为 (2,7), (5,9), (3,8), (1,6), (4,9) 我们再对离散化之后的数据进行处理就行了。 题目意思: n(n 求出最后还能看见多少张海报。 参考代码:
2015-07-10 16:37:34 903
原创 hdu4565 So Easy!(矩阵快速幂)
题意: 告诉你a,b,n,m,求 0 解题思路: 我们首先对(a+sqrt(b))^n进行处理,由a+sqrt(b))^n的展开式我们可以知道 (a+sqrt(b))^n = Xn + Yn * sqrt(b); 那么 ( a + sqrt( b ) )^( n + 1 ) = ( a + sqrt( b ) ) * ( Xn + Yn * sqrt(b) ) = (
2015-07-09 18:05:55 1772 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人