Skip to main content

Tree House Solution For Free | THOUSES | May long Challenge 2021 | Codechef Solution | Latest Video

 


There is a large tree house in an unknown world. It is ruled by the great emperor KZS. It consists of N nodes numbered from 1 to N in which the people of that world reside. The nodes are organized in a tree structure rooted at node 1. You need to assign values to the nodes according to the wishes of emperor KZS which are as follows :-

  • The value of node 1 is X.
  • All immediate children of any node have pairwise distinct values.
  • For every node with at least one immediate child, the gcd of the values of all immediate children is equal to the value of the node.
  • The total sum of the values of all nodes should be minimum.

The greatest common divisor gcd(a,b) of two positive integers a and b is equal to the largest integer d such that both integers a and b are divisible by d.

Print the sum of all values, modulo 109+7.

Input

  • The first line contains an integer T, the number of test cases. T testcases follow.
  • The first line of each test contains two integers N and X.
  • Each of the following N1 lines contains two integers u and v, denoting an edge between nodes u and v.

Output

  • For each test case, print the sum of values, modulo 109+7.

Constraints

  • 1T15
  • 2N3105
  • 1X109
  • 1u,vN and uv
  • The given edges form a tree
  • The sum of N over all test cases doesn't exceed 3105.

Subtasks

Subtask #1 (100 points): Original Constraints

Sample Input

2
4 1
1 2
1 3
1 4
8 1
1 2
1 3
2 4
2 5
5 6
5 7
7 8

Sample Output

7
11

Explanation

In test case 1, we will give values 123 to the nodes 23 and 4 respectively. So, the total sum will be 1+1+2+3=7.

Condition For the Solution : Follow All our social Media Account, We are New. After getting enough Subscriber we will start Uploading the Solution without any Condition, Please Understand...

Website :- https://codedelhi.blogspot.com Telegram :- https://t.me/EngineerDelhi Facebook :- https://www.facebook.com/EngineerDelhi Instagram :- https://www.instagram.com/engineerdelhi

DM all the Screen Shots on Telegram, we will send the solution there, due to Community Guidelines of Codechef. We can not share here....

Popular posts from this blog

Top 10 Beginner-Friendly LeetCode Questions and Their Solutions

If you're new to solving coding problems on LeetCode, it can feel overwhelming. Where do you start? Which problems are suitable for beginners? Don’t worry! In this blog post, I’ll guide you through 10 beginner-friendly LeetCode questions that are perfect for getting started on your coding journey. These problems will help you build confidence, improve your problem-solving skills, and lay a solid foundation in data structures and algorithms. Why Start with Beginner-Friendly Problems? Before diving into advanced topics like dynamic programming or graph theory, it’s essential to: Build a strong foundation in basic programming concepts. Understand how to approach a coding problem methodically. Gain familiarity with LeetCode’s platform and its problem structure. The following problems are simple yet impactful, designed to introduce you to common techniques like loops, arrays, strings, and basic math operations. 10 Beginner-Friendly LeetCode Problems 1. Two Sum (Easy) Problem Link : Two...

How to Solve LeetCode’s Hard Problems Without Getting Stuck

LeetCode’s hard problems can seem daunting, especially when you’re just getting comfortable with coding. Tackling these problems isn’t about innate talent—it’s about persistence, learning, and applying the right strategies. In this blog, I’ll share actionable tips and techniques to help you solve LeetCode hard problems without getting stuck and make consistent progress in your problem-solving journey. Why Are Hard Problems Hard? LeetCode hard problems challenge your understanding of advanced data structures, algorithms, and optimization techniques. Here’s why they’re tough: They require deep problem-solving skills and out-of-the-box thinking. Many involve multiple layers of complexity . Edge cases and large inputs often test your algorithm’s efficiency. They push you to master topics like dynamic programming, graph traversal, and segment trees. However, with the right approach, you can break down even the most complex problems into manageable parts. Start with the Right Mindset Appro...

Efficient Solution to LeetCode 2563: Count the Number of Fair Pairs in C++

 his problem tests our understanding of efficient array traversal techniques and highlights the power of binary search when working with sorted arrays. By the end of this post, you’ll have a clear, optimized solution in C++ that avoids Time Limit Exceeded (TLE) errors and uses two-pointer and binary search techniques . Let’s get started by breaking down the problem and exploring a step-by-step approach to a performant solution. Problem Statement Given: An integer array nums of size n . Two integers, lower and upper . Our goal is to count all pairs (i, j) where: 0 <= i < j < n , and lower <= nums[i] + nums[j] <= upper . Example Walkthrough Let's clarify with an example: Example 1 Input: nums = [0, 1, 7, 4, 4, 5] , lower = 3 , upper = 6 Output: 6 Explanation: Valid pairs that satisfy the condition are (0,3) , (0,4) , (0,5) , (1,3) , (1,4) , and (1,5) . Example 2 Input: nums = [1, 7, 9, 2, 5] , lower = 11 , upper = 11 Output: 1 Explanation: There is only one valid p...