题目名称 | 4084. 魔法卡片 |
---|---|
输入输出 | magic.in/out |
难度等级 | ★★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 512 MiB |
测试数据 | 20 |
题目来源 | syzhaoss 于2024-11-27加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:2, 提交:13, 通过率:15.38% | ||||
┭┮﹏┭┮ | 100 | 5.595 s | 54.24 MiB | C++ |
小金 | 100 | 7.187 s | 53.26 MiB | C++ |
┭┮﹏┭┮ | 0 | 5.444 s | 54.31 MiB | C++ |
┭┮﹏┭┮ | 0 | 5.505 s | 54.31 MiB | C++ |
黄天宇 | 0 | 17.497 s | 9.67 MiB | C++ |
黄天宇 | 0 | 17.569 s | 9.67 MiB | C++ |
黄天宇 | 0 | 17.588 s | 9.67 MiB | C++ |
黄天宇 | 0 | 17.591 s | 9.67 MiB | C++ |
黄天宇 | 0 | 17.616 s | 9.69 MiB | C++ |
黄天宇 | 0 | 17.637 s | 9.72 MiB | C++ |
本题关联比赛 | |||
20241128 |
关于 魔法卡片 的近10条评论(全部评论) | ||||
---|---|---|---|---|
不理解为什么没有核心思路的部分分
┭┮﹏┭┮
2024-11-28 13:33
1楼
|
有$n$张卡片,每张卡片有正反两面。正面和反面一共有$1,2,\cdots,m$这$m$个数,有些数在正面,有些在反面,但是不会有数同时存在于两个面。这$n$张卡片排成一排,标号为$1,2,\cdots,n$。
进行$Q$次询问,每次给出两个数$l,r(l\leq r)$,定义$f(l,r)$为所有在第$l,l+1,\cdots,r$张卡片的正面出现过的数的平方和。 你可以随意将卡片翻面,使得$f(l,r)$最大化,输出这个值。
例如有$3$张卡片且$m=5$,这些卡片上的数字如下图:
如果$l=1,r=2$,那么如果不翻卡片,那么我们有$1,2,4,5$在正面,它们的平方和为$46$。
如果我们将第$1$张卡片翻面,那么在正面的数字有$3,4,5$,它们的平方和为$50$。
如果我们将第$1,2$张卡片反面,那么在正面的数字有$1,2,3,4,5$,它们的平方和为$55$,这也是$f(1,2)$的最大值。
第一行,一共三个数,表示$n,m,Q$。
接下来$n$行,每行第一个数$x_i$,表示正面有$x_i$个数,接下来$x_i$个$1$到$m$之间不同的数。
接下来$Q$行,每行两个数$l,r$。
对于每组询问,输出一个数表示答案。
2 3 2 2 2 1 2 2 3 1 1 1 2
9 14
对于询问$l=1,r=1$,只有一张卡片,如果不翻面,平方和为$1^2+2^2=5$,如果翻面,平方和为$3^2=9$。
对于询问$l=1,r=2$,不需要反面,平方和为$1^2+2^2+3^2=14$。
2 5 1 3 4 2 1 2 4 3 1 2
50
对于$20\%$的数据,$m\leq 10$。
对于$40\%$的数据,$m\leq 200$。
对于$60\%$的数据,$m\leq 1024$。
对于$100\%$的数据,$1\leq n\times m,Q\leq 10^6,0\leq x_i\leq m,1\leq l\leq r\leq n$。