#P15114. [集训队论文 2026] 无处存储

    ID: 17025 远端评测题 3000~8000ms 32~512MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>点分治Special Judge凸完全单调性(wqs 二分)树链剖分

[集训队论文 2026] 无处存储

题目描述

给定一棵 nn 个点以 11 为根的树和 nn 个三元组 (ai,bi,ci)(a_i,b_i,c_i)

s[1,k]\forall s\in[1,k],你需要求一个长度为 nn 的非负整数序列 hh,满足:

  • i[1,n],hi[0,k]\forall i\in[1,n],h_i\in[0,k]
  • i=1nhi=s\sum_{i=1}^nh_i=s
  • $\forall i\in[1,n],(h_i\bmod 2)\ge\sum_{j\in\mathrm{son(i)}}(g_j\bmod 2)$,其中 son(i)\mathrm{son}(i) 表示点 ii 的儿子集合,gjg_j 表示 jj 子树内 hh 的和。

并最小化 i=1nf(ai,bi,ci,hi)\sum_{i=1}^nf(a_i,b_i,c_i,h_i) 的值,其中 f(a,b,c,x)=ax2+bx+cf(a,b,c,x)=ax^2+bx+c

给定 op{0,1}op\in\{0,1\},若 op=0op=0,则请求出 s=1,2,...,ks=1,2,...,k 的答案;若 op=1op=1,则请求出 s=ks=k 的答案并构造任意一种最优方案。

输入格式

本题包含多组测试数据。

第一行三个数 id,op,Tid,op,T,分别表示子任务编号、是否要求输出 s=ks=k 的方案和测试组数。

接下来依次输入每组测试数据,对于每组测试数据:

第一行两个数 n,kn,k

第二行 n1n-1 个数 p2,p3,...,pnp_2,p_3,...,p_npip_i 表示 ii 号点的父亲。

接下来 nn 行,每行三个数,第 ii 行的三个数分别表示 ai,bi,cia_i,b_i,c_i

输出格式

op=0op=0,则对于每组测试数据,输出一行 kk 个数,第 ii 个数表示 s=is=i 的答案。

op=1op=1,则对于每组测试数据,先输出一行一个数表示 s=ks=k 时的答案,再输出一行 nn 个数,第 ii 个数表示 hih_i,描述 s=ks=k 时的一种最优方案。

0 0 1
5 5
1 1 2 2
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
1 2 3 4 7 
0 1 1
5 5
1 1 2 2
1 0 0
1 0 0
1 0 0
1 0 0
1 0 0
7
1 1 2 0 1 

提示

对于 100%100\% 的数据,$1\le T,\sum n\le 3\times 10^4,1\le k\le 2\times 10^3,0\le a_i,|b_i|,|c_i|\le 10^6,1\le p_i<i$,注意没有保证 k\sum k 的范围。

子任务编号 n\sum n\le kk\le op=op= 特殊性质 空间限制 分值
11 1010 55 00 512512 MB 55
22 300300 200200
33 2×1042\times 10^4 1.5×1031.5\times 10^3 1515
44 11 1010
55 00 树的形态随机生成 3232 MB 55
66 11
77 树的形态是一条链 1515
88 00 1010
99 11
1010 3×1043\times 10^4 2×1032\times 10^3 00
1111 11

树的形态随机生成是指,pip_i[1,i1][1,i-1] 之间随机生成。

对于 op=0op=0 的子任务,时间限制为 33 s。

对于 op=1op=1 的子任务,时间限制为 88 s。