Codeforces Round #275 (Div. 1)D(树形DP)_html/css_WEB-ITnose
D. Random Function and Tree
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
You have a rooted tree consisting of n vertices. Let's number them with integers from 1 to n inclusive. The root of the tree is the vertex 1. For each i?>?1 direct parent of the vertex i is pi. We say that vertex i is child for its direct parent pi.
You have initially painted all the vertices with red color. You like to repaint some vertices of the tree. To perform painting you use the function paint that you call with the root of the tree as an argument. Here is the pseudocode of this function:
count = 0 // global integer variable rnd() { // this function is used in paint code return 0 or 1 equiprobably}paint(s) { if (count is even) then paint s with white color else paint s with black color count = count + 1 if rnd() = 1 then children = [array of vertex s children in ascending order of their numbers] else children = [array of vertex s children in descending order of their numbers] for child in children { // iterating over children array if rnd() = 1 then paint(child) // calling paint recursively }}
As a result of this function, some vertices may change their colors to white or black and some of them may remain red.
Your task is to determine the number of distinct possible colorings of the vertices of the tree. We will assume that the coloring is possible if there is a nonzero probability to get this coloring with a single call of paint(1). We assume that the colorings are different if there is a pair of vertices that are painted with different colors in these colorings. Since the required number may be very large, find its remainder of division by 1000000007 (109?+?7).
Input
The first line contains a single integer n (2?≤?n?≤?105) ? the number of vertexes in the tree.
The second line contains n?-?1 integers p2,?p3,?...,?pn (1?≤?pi?
Output
Print a single integer ? the answer to the problem modulo 1000000007 (109?+?7)
Sample test(s)
input
41 2 1
output
input
31 1
output
Note
All possible coloring patterns of the first sample are given below.
题意:RT
思路:首先看到这个函数不要被吓到,实际上就是求多少种子树
dp[u][0]表示以u为根,子树大小为偶数的方案数
dp[u][1]表示以u为根,子树大小为奇数的方案数
这样是按升序算的结果,将这个乘2可以得到升序+降序的结果,但是中间会有部分算重
考虑这样两种情况
1.如果u的每个孩子大小都为偶数,那么选任意数量的孩子的这种情况都是重复了
2.如果u的每个孩子大小都为奇数,那么选任意奇数数量的孩子的这种情况也是重复了(自己画一下图就知道了)
细节看代码~

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel ini membincangkan html & lt; kemajuan & gt; elemen, tujuan, gaya, dan perbezaan dari & lt; meter & gt; elemen. Tumpuan utama adalah menggunakan & lt; kemajuan & gt; untuk menyelesaikan tugas dan & lt; meter & gt; untuk stati

Artikel ini membincangkan html & lt; datalist & gt; elemen, yang meningkatkan bentuk dengan menyediakan cadangan autokomplete, meningkatkan pengalaman pengguna dan mengurangkan kesilapan. Kira -kira: 159

Artikel ini membincangkan html & lt; meter & gt; elemen, digunakan untuk memaparkan nilai skalar atau pecahan dalam julat, dan aplikasi umum dalam pembangunan web. Ia membezakan & lt; meter & gt; dari & lt; kemajuan & gt; dan Ex

Artikel ini membincangkan tag Meta Viewport, penting untuk reka bentuk web responsif pada peranti mudah alih. Ia menerangkan bagaimana penggunaan yang betul memastikan skala kandungan yang optimum dan interaksi pengguna, sementara penyalahgunaan boleh membawa kepada isu reka bentuk dan kebolehaksesan.

Artikel ini membincangkan & lt; iframe & gt; Tujuan TAG dalam membenamkan kandungan luaran ke dalam halaman web, kegunaan umum, risiko keselamatan, dan alternatif seperti tag objek dan API.

HTML sesuai untuk pemula kerana mudah dan mudah dipelajari dan dapat melihat hasilnya dengan cepat. 1) Keluk pembelajaran HTML adalah lancar dan mudah dimulakan. 2) Hanya menguasai tag asas untuk mula membuat laman web. 3) Fleksibiliti yang tinggi dan boleh digunakan dalam kombinasi dengan CSS dan JavaScript. 4) Sumber pembelajaran yang kaya dan alat moden menyokong proses pembelajaran.

HTML mentakrifkan struktur web, CSS bertanggungjawab untuk gaya dan susun atur, dan JavaScript memberikan interaksi dinamik. Ketiga melaksanakan tugas mereka dalam pembangunan web dan bersama -sama membina laman web yang berwarna -warni.

Anexampleofastartartingtaginhtmlis, yangbeginsaparagraph.startingtagsareessentialinhtmlasttheyinitiateelements, definetheirtypes, andarecrucialforstructuringwebpagesandconstructionthedom.
