GOCC18:2020 年谷歌在线编程挑战赛 – 新毕业生(印度)
2020年应届毕业生谷歌在线挑战赛(GOCC 18)2020年于2020年9月26日举行。
这是一个 60 分钟的在线测试和 2 个要解决的编码问题。考试在 HackerEarth 平台上进行。
这个过程是,首先你的简历应该被列入考试的候选名单。
考试时间 - 1小时
第一个问题:查询范围
给定一个包含 N 个整数的数组 A。您需要回答以下类型的 Q 查询:
LR
确定将索引 L 到 R 的所有数组值相除的不同素数的计数。
注意:考虑基于 1 的索引
输入格式:
- 第一行包含一个整数 T,表示测试用例的数量。
- 每个测试用例的第一行包含一个整数 N。
- 每个测试用例的第二行包含 N 个用空格分隔的整数,表示 A。
- 第三行包含整数 Q。
- 接下来,Q 行包含两个以空格分隔的整数,表示查询。
输出格式;
打印除以索引 L 到 R 的所有数组值的不同素数的计数。
经验:我已经使用分段树解决了这个问题 https://www.geeksforgeeks.org/segment-tree-set-1-range-minimum-query/ 参见这篇关于范围最小查询的文章,它类似于这个问题。
第二个问题——加权树的价值
给定一个带有 N 个节点的加权无向树。每条边都有一个与之相关的权重。
您需要找到 ∑(i=1 到 N-1) ∑(j=i+1 到 N) F(i,j)函数的值,其中 F(i,j) 表示边缘权重的总和节点 i 和 j 之间的简单路径。
输入格式:
- 第一行包含一个整数 T,表示测试用例的数量。
- 每个测试用例的第一行包含一个整数 N,表示树中的节点数。
- 接下来的 N-1 行包含三个以空格分隔的整数 uvw,表示 u 和 v 之间的一条边,权重为 w。
输出格式:
对于每个测试用例,在新行中打印函数模 10^9 + 7 的值。