CF1456E.XOR-ranges
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定整数 c0,c1,…,ck−1,我们可以定义一个数 0≤x<2k 的代价为 p(x)=∑i=0k−1(⌊2ix⌋mod2)⋅ci。换句话说,数 x 的代价等于 x 的所有二进制位中为 1 的位所对应的 ci 之和。
我们定义长度为 n≥2、元素取自区间 [0,2k) 的数组 a 的代价如下:cost(a)=∑i=1n−1p(ai⊕ai+1),其中 ⊕ 表示按位异或运算。
现在给定每个元素的取值范围:li≤ai≤ri,请你构造一个长度为 n 的数组,使其代价最小。
输入格式
第一行包含两个整数 n 和 k(2≤n≤50,1≤k≤50),分别表示数组的长度和数字的二进制位数。
接下来的 n 行,每行包含两个整数 li 和 ri(0≤li≤ri<2k),表示第 i 个元素的取值范围。
最后一行包含 c0,c1,…,ck−1(0≤ci≤1012)。
输出格式
输出一个整数,表示满足所有限制条件的数组的最小代价。
输入输出样例
输入#1
4 3 3 3 5 5 6 6 1 1 5 2 7
输出#1
30
输入#2
3 3 2 2 3 4 4 6 1 10 100
输出#2
102
说明/提示
在第一个样例中,只有一个数组满足所有限制条件——[3,5,6,1],其代价为 cost([3,5,6,1])=p(3⊕5)+p(5⊕6)+p(6⊕1)=p(6)+p(3)+p(7)=(c1+c2)+(c0+c1)+(c0+c1+c2)=(2+7)+(5+2)+(5+2+7)=30。
在第二个样例中,唯一的最优数组是 [2,3,6]。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?