当前位置: 首页 > news >正文

题解:AT_abc257_h [ABC257Ex] Dice Sum 2

柿子还是得写在草稿纸上手推。

题意:很简单了,不再赘述。

做法:

首先这个权值有点抽象,我们写出来稍微化简一下。

\[\frac{1}{6^n}\sum_{x_1=1}^6\sum_{x_2=1}^6\cdots\sum_{x_n=1}^6(\sum_{i=1}^na_{i,x_i})^2 - \sum_{i=1}^nc_i \]

这个平方一看直接 dna 动了,把他拆开,但是注意对于同一个位置的和别的统计其实不同,可以改成:

\[\frac1{6^n}(\sum_{i=1}^n\sum_{j=1,j\not=i}^n\sum_{x=1}^6\sum_{y=1}^6a_{i,x}a_{j,y}6^{n-2}+\sum_{i=1}^n\sum_{x=1}^6a_{i,x}^26^{n-1})-\sum_{i=1}^nc_i \]

\[\frac1 {36}\sum_{i=1}^n\sum_{j=1,j\not=i}^n\sum_{x=1}^6\sum_{y=1}^6a_{i,x}a_{j,y}+\frac 1 6\sum_{i=1}^n\sum_{x=1}^6a_{i,x}^2-\sum_{i=1}^nc_i \]

然后我们尝试把第一个式子里关于 \(i,x\)\(j,y\) 的分离,当然这里需要减去补的 \(i=j\) 的情况:

\[\frac1{36}\sum_{i=1}^n\sum_{x=1}^6a_{i,x}\sum_{j=1}^n\sum_{y=1}^6a_{j,y}+\frac 1 6\sum_{i=1}^n\sum_{x=1}^6a_{i,x}^2-\sum_{i=1}^nc_i-\frac1 {36}\sum_{i=1}^n(\sum_{x=1}^6a_{i,x})^2 \]

然后我们令 \(A_i = \frac 1 6\sum\limits_{x=1}^6a_{i,x}\),柿子变成

\[(\sum\limits_{i=1}^nA_i)^2 +\frac 1 6\sum_{i=1}^n\sum_{x=1}^6a_{i,x}^2-\sum_{i=1}^nc_i-\sum_{i=1}^nA_i^2 \]

后面的整理一下,令 \(B_i=\frac{1}{6}a_{i,x}^2-c_i-A_i^2\),那么原式就变成了

\[(\sum_{i=1}^nA_i)^2+\sum_{i=1}^nB_i \]

那么我们现在等于要解决这个柿子。

直接做相当麻烦,因为前面那个东西是二次的,那么我们不妨直接枚举 \(k=\sum\limits_{i=1}^nA_i\),这样柿子降为一次,我们可以直接统计 \(\sum\limits_{i=1}^nA_{i}k+B_i\)

但是我们并没有办法枚举所有的 \(k\),但是我们注意到我们是要取前若干项作为答案,所以我们考虑把 \((A_i,B_i)\) 视为平面上的点,然后考虑两个点他们什么时候可以干掉对方,这个直接枚举两个点然后计算它们的斜率即可。最后我们先假设 \(k=-\infty\) 然后再逐步调大就可以了。

http://www.gsyq.cn/news/10788.html

相关文章:

  • ClickHouse UPDATE 机制详解 - 若
  • ClickHouse index_granularity 详解 - 若
  • PADS笔记
  • clickhouse轻量级更新 - 若
  • 补充图
  • 域名+邮件推送+事件总线=实现每天定时邮件!
  • SOOMAL 降噪数据表
  • 案例分享|借助IronPDF IronOCR,打造医疗等行业的智能化解决方案
  • ClickHouse UPDATE 操作问题解决方案 - 若
  • Docker 私有镜像仓库 Harbor 安装部署带签名认证
  • ARC180 做题记
  • P8865 [NOIP2022] 种花
  • 麦角硫因制备关键技术和设备
  • 反向代理 traefik - 健康检查
  • 一些想法 - CelestialZ
  • 编程规范---日志规范
  • 中电金信:从“通用”到“专用”:加速实现金融行业生成式AI应用的必由之路
  • 自动构建高质量测试集
  • linux gcc attribute
  • 那个…以后拍证件照,可能真不用花钱了
  • 使用 Ansible 批量完成 CentOS 7 操作系统基础配置
  • 深度优先检索:单词搜索
  • 一文看懂Playwright MCP如何引爆AI智能体爆发
  • 从nano banana模型到更加真实的3D打印技术
  • 跨境tk避雷proxy-cheap代理服务商!!!
  • vscode 块运行
  • [C++:类的默认成员函数——Lesson7.const成员函数] - 指南
  • Lombok无法使用get set方法
  • redis的哈希扩容
  • vite tailwindcss配置