아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

정점 간 통신 네트워크

면접 대비

시간 제한1초메모리 제한1536 MB

요약
루트 있는 트리와 각 노드의 주파수가 주어질 때, 주파수가 서로 약수나 배수 관계인 조상-자손 쌍의 수를 센다. 부모 번호가 자식보다 항상 작아 노드가 이미 위상 순서로 정렬되어 있다.
난이도

보통10점 중 6점

유형
수학, 정수론, 트리, DFS
정답자
아직 제출이 없습니다

문제

주식으로 큰돈을 번 영욱이는 그 돈으로 나라를 세우고 나라의 통신을 담당하는 통신탑을 설치했다.

영욱이의 나라는 NN개의 지역과 이들을 잇는 N−1N-1개의 도로로 이루어진 트리 형태이다. 각 지역에는 11번부터 NN번까지 번호가 붙어 있다. 11번 지역은 영욱이가 사는 지역이며, 이 나라의 수도이자 트리의 루트이다. 나라의 각 지역에는 통신탑이 하나씩 있어서, 트리에서 조상과 자손 관계인 두 지역의 통신탑끼리 정보를 교환할 수 있다.

그런데 이를 본 적국의 다니엘이 통신방해전파를 쏘아올리기 시작했다. 통신방해전파 때문에 이제 일부 통신탑끼리만 통신을 할 수 있게 되었다. 통신탑에는 주파수가 하나씩 배정되어 있는데, 주파수가 서로 약수 또는 배수 관계인 통신탑끼리만 통신을 할 수 있다.

영욱이의 나라에서 통신이 가능한 서로 다른 두 통신탑 쌍의 개수를 구해야 한다. 단, 다른 통신탑을 거쳐서 간접적으로 통신하는 것은 허용되지 않는다.

입력

첫 번째 줄에 영욱이의 나라를 구성하는 지역의 개수 NN이 주어진다.

두 번째 줄에 1,⋯ ,N1, \cdots, N번 지역에 있는 통신탑의 주파수 A[i]A[i]가 각각 주어진다.

세 번째 줄에는 ii번 지역의 부모 노드에 위치한 지역의 번호 P[i]P[i]가 i=2,⋯ ,Ni=2, \cdots, N에 대해 순서대로 주어진다.

출력

통신이 가능한 서로 다른 두 통신탑 쌍의 개수를 구하여 출력한다.

제한

  • 1≤N≤100 0001 \leq N \leq 100\,000
  • 1≤A[i]≤100 0001 \leq A[i] \leq 100\,000 (1≤i≤N1 \leq i \leq N)
  • 1≤P[i]<i1 \leq P[i] < i (2≤i≤N2 \leq i \leq N)
  • 모든 입력은 정수.

예제1

  1. 예제 1

    입력
    4
    1 2 3 4
    1 2 2
    
    예상 출력
    4