Content

给定 \(n\) 个数 \(a_1,a_2,\dots,a_n\),你需要将这些数重新排列,使得 \(\sum\limits_{i=1}^n\operatorname{mex}(a_1,a_2,\dots,a_i)\) 最大。

数据范围:\(1\leqslant t\leqslant 100\),\(1\leqslant n\leqslant 100\),\(0\leqslant a_i\leqslant 100\)。

Solution

不难发现,如果我们将一个在原数列中已有的数放进去,那么 \(\operatorname{mex}\) 值必定是不变的。所以,我们将所有数不重复地从小到大放入新数列中,再将原来没选进去的数按任意顺序放在最后,可以证明这样放的 \(\operatorname{mex}\) 值最大。

Code

int a[107];

int main() {
MT {
int n = Rint, vis[107] = {0}, tmp[107] = {0};
F(i, 1, n) a[i] = Rint;
sort(a + 1, a + n + 1);
F(i, 1, n) {
if(!vis[a[i]]) write(a[i]), putchar(' '), vis[a[i]] = 1;
else tmp[++tmp[0]] = a[i];
}
F(i, 1, tmp[0]) write(tmp[i]), putchar(' ');
puts("");
}
return 0;
}

最新文章

  1. 基于vw的响应式排版布局
  2. Android之登录那点事
  3. Sqlserver游标复习
  4. iOS开发 判断扫码是否为有效网址
  5. HW5.30
  6. 搭建linux环境下jenkins可移植环境
  7. [转] Java内部类之闭包(closure)与回调(callback)
  8. hdu_2546_饭卡(01背包)
  9. 错误卸载软件导致Windows7系统中的软件无法播放视频
  10. python登录网页版微信发送消息
  11. H5 audio标签
  12. GPU Tips
  13. com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
  14. Using Time Profiler in Instruments
  15. 使用LD_Preload的Linux权限升级技巧
  16. CentOS 7 开放防火墙端口 命令
  17. python_cookies
  18. 从代码层读懂 Java HashMap 的实现原理
  19. SQL Server 创建和使用索引
  20. 斗地主(NOIP2015)

热门文章

  1. 部署vue项目到Linux服务器
  2. 一次forEach 中 await 的使用
  3. Bedtools genomecov 计算覆盖度
  4. R语言与医学统计图形【7】低级绘图函数
  5. 【Python小试】根据外显子位置生成CDS序列
  6. adjective
  7. Spark(二十一)【SparkSQL读取Kudu,写入Kafka】
  8. JS模块化,Javascript 模块化管理的历史
  9. Linux FTP的主动模式与被动模式
  10. spring boot-jpa整合QueryDSL来简化复杂操作