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

qoj1831 Bruteforce

SOLUTION FROM WUMIN4

题意

若长度为 \(n\) 的数组 \(a\) 排序后为 \(b\),定义 \(a\) 的权值为 \(\sum_{i=1}^n \lfloor\frac{b_i\cdot i^k}{w}\rfloor \bmod 998244353\)

\(q\) 次操作,每次操作修改一个 \(a_i\),随后输出 \(a\) 的权值。

\(n,a_i\le 10^5,1\le k,w\le 5\)

思路

将式子拆成 \(\frac{\sum_{i=1}^n (b_i\cdot i^k-(b_i\cdot i^k) \bmod w)}{w}\)

于是我们要维护 \(\sum_{i=1}^n b_i\cdot i^k\)\(\sum_{i=1}^n (b_i\cdot i^k) \bmod w\)

由于 \(a_i\le 10^5\),可以在权值线段树上维护。

  1. \(\sum_{i=1}^n b_i\cdot i^k\)

假设左节点为 \(b_1 1^k+b_2 2^k+\cdots+b_l l^k\),右节点为 \(b'_1 1^k+b'_2 2^k+\cdots+b'_r r^k\)

则合并后有 \(b_1 1^k+b_2 2^k+\cdots+b_l l^k+b'_1 (l+1)^k+b'_2 (l+2)^k+\cdots+b'_r (l+r)^k\)

问题在于如何计算

\[\sum_{i=1}^r b'_i (l+i)^k \]

二项式定理拆开得到

\[\sum_{i=1}^r \sum_{j=0}^{k} b'_ii^j\binom{k}{j}l^{k-j} \]

换个位置

\[\sum_{j=0}^{k} \sum_{i=1}^r b'_ii^j\binom{k}{j}l^{k-j} \]

于是维护该节点的 \(f_j=\sum_{i=1}^r b'_ii^j\)。由于 \(\binom{k}{j}l^{k-j}\)\(i\) 无关,则有

\[\sum_{j=0}^{k} \binom{k}{j}l^{k-j} f_j \]

因为 \(k\le 5\),直接转移。

  1. \(\sum_{i=1}^n (b_i\cdot i^k) \bmod w\)
http://www.zskr.cn/news/5512.html

相关文章:

  • C++数据结构和算法:链表
  • 详细介绍:Maven入门_简介、安装与配置
  • train-labels.idx1-ubyte里是什么
  • 创建预测窗口-ScopedPredictionWindow();
  • Ability-GetCurrentActorInfo()-IsLocallyControlled()和APawn::IsLocallyControlled()
  • 应该遵守的代码规范与读《数学之美》有感
  • AT_arc171_c [ARC171C] Swap on Tree
  • 新媒体运营用AI排版工具|10分钟搞定公众号图文的全流程指南
  • ctf工具整理
  • 250915 jave se简单过完一遍
  • AT_arc183_b [ARC183B] Near Assignment
  • kubectl 常用命令的分类汇总(一)
  • 完整教程:C3P0连接池适配HGDB
  • kubectl 常用命令的分类汇总(二)
  • ECT-OS-JiuHuaShan框架的逻辑是自洽的,是基于数学表达,不替代现实的苦辣酸甜。
  • 《FastAPI零基础入门与进阶实战》第18篇:Token验证改善--CRUD中应用 - 详解
  • 【QT】创建一个简单的QT界面
  • 2025.9.15总结
  • 9.11总结
  • 真正的高手,首先是如何验证框架是数学逻辑自洽的必然,然后就可以放心去用。比如编码,几次输出,就可以断定是纯数学逻辑自洽的必然,除此之外,不可能得到这样的效果
  • Java 实现HTML转Word:从HTML材料与字符串到可编辑Word文档
  • 第02周Java:从方法传参到对象封装
  • 基于pandas自动化的csv信息提取保存的脚本
  • STM32 HAL学习笔记:GC1808(PCM1808)的使用以及使用I2S+DMA读取
  • MSTP 单域
  • 阿里云百炼平台使用避坑记录 - 详解
  • 第2周-预习作业
  • P12546 [UOI 2025] Convex Array
  • CF827F Dirty Arkadys Kitchen
  • P2839 [国家集训队] middle