#P10715. 【MX-X1-T3】「KDOI-05」简单的序列问题

    ID: 10126 Type: RemoteJudge 2000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 4 Uploaded By: Tags>动态规划,dpO2优化前缀和

【MX-X1-T3】「KDOI-05」简单的序列问题

题目描述

给出一个长度为 nn 的序列 aa。定义其前缀和数组 bi=j=1iajb_i=\sum_{j=1}^ia_j。定义其权值 S=i=1n(bimod2)S=\sum_{i=1}^n(b_i\bmod 2)

你可以对序列 aa 进行若干次如下操作:

  • 交换 ai,aja_i,a_j,花费 ci+cjc_i+c_j 元,其中 cc 为给定序列;

对于 i=0ni=0\sim n,求使得 S=iS=i 的最少钱数。如果不可能,输出 1-1

输入格式

本题包含多组测试数据。

第一行一个正整数 TT,表示测试数据组数。

对于每组测试数据:

第一行一个正整数 nn,表示序列长度。

第二行 nn 个正整数,表示序列 aa

第三行 nn 个正整数,表示序列 cc

输出格式

对于每组测试数据:

一行,n+1n+1 个整数,第 ii 个表示 S=i1S=i-1 的最少钱数。如果不可能,输出 1-1

3
3
1 2 3
1 1 1
5
1 2 3 4 5
2 5 3 6 4
10
1 8 3 5 2 6 3 4 6 2
3 2 7 1 8 2 5 8 3 1
-1 2 0 -1
-1 -1 7 0 9 -1
-1 -1 5 3 4 0 7 8 6 -1 -1

提示

【样例解释】

对于第一组数据,初始 i=1n(bimod2)=2\sum_{i=1}^n(b_i\bmod 2)=2,故使 S=2S=2 最少要花 00 元。

交换 a1,a2a_1,a_2 即可使 i=1n(bimod2)=1\sum_{i=1}^n(b_i\bmod 2)=1,故使 S=1S=1 可以花费 22 元。可以证明这是最优解。

可以证明不存在交换方案使得 S=0S=0S=3S=3

【数据范围】

本题采用捆绑测试。

子任务编号 分值 nn\leq n\sum n\leq 特殊性质
11 1010 55 5050
22 500500 aa 中至多有 33 个奇数
33 1515 3030 150150
44 2525 100100 500500
55 1010 500500 ci=1c_i=1
66 3030

对于 100%100\% 的数据:1n,n5001\leq n,\sum n\leq5001ai1091\leq a_i\leq10^91ci1061\leq c_i\leq10^61T5001\leq T\leq500