小编Dre*_*rks的帖子

段树中的更新

我正在学习段树,我遇到了这个问题.有阵列A和2类型的操作

1. Find the Sum in Range L to R 
2. Update the Element in Range L to R by Value X.
Run Code Online (Sandbox Code Playgroud)

更新应该是这样的

A[L] = 1*X;
A[L+1] = 2*X;
A[L+2] = 3*X;
A[R] = (R-L+1)*X;
Run Code Online (Sandbox Code Playgroud)

我应该如何处理第二类查询,任何人都可以通过分段树给出一些算法来修改,或者有一个更好的解决方案

algorithm segment-tree

6
推荐指数
1
解决办法
1212
查看次数

找到不同颜色的数量

我在比赛期间参加了一个问题,但我无法解决.问题:

给定具有N顶点和M边的无向图.每个边缘都用一组颜色着色{1,...C}.有q一对整数x和形式的查询y.对于给定的查询,找到不同颜色的数量present on each simple path from vertex to vertex.

输入:

5 4 4  // N,M,C
1 2 2  // U and V Nodes have Colour C
1 3 1
2 4 2
4 5 3
5      // Q
4 1    // X,Y
5 4
5 2
2 3
5 4
Run Code Online (Sandbox Code Playgroud)

输出:

1
1
2
2
1
Run Code Online (Sandbox Code Playgroud)

对于第三个查询,从顶点5到5vertex只有一条路径,即{5,4,2},它包含两种不同的颜色,即{3,2}.

如何解决这个问题完整的问题陈述?限制:

1<C<40
N and M are in order …
Run Code Online (Sandbox Code Playgroud)

algorithm graph

-1
推荐指数
1
解决办法
314
查看次数

标签 统计

algorithm ×2

graph ×1

segment-tree ×1