我正在学习段树,我遇到了这个问题.有阵列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)
我应该如何处理第二类查询,任何人都可以通过分段树给出一些算法来修改,或者有一个更好的解决方案
我在比赛期间参加了一个问题,但我无法解决.问题:
给定具有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)