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

[CF2195D] Absolute Cinema 题解

[CF2195D] Absolute Cinema 题解

题目传送门

写这道题的题解没啥必要,主要是为了锻炼下自己敲 \(\LaTeX\) 公式的能力。

题目大意

有一个你未知的数列 \(a_1,a_2,\ldots,a_n\) ,保证 \(|a_i| \le 1000\)\(n \ge 2\) .

定义函数 \(f(n)\) 如下:

\(f(x)=\sum_{i=1}^n a_i \cdot |i-x|\)

给你 \(f(1),f(2),\ldots,f(n)\) 的值,让你反推整个数列 \(a\)

分析

那还说啥了都考我数学了直接推式子就完了呗。

感觉这种形式的式子看着就很适合差分地做啊。

\(f(x)-f(x-1)=\sum_{i=1}^n a_i \cdot( |i-x| - |i-x+1|)\)

发现\(|i-x| - |i-x+1|=\begin{cases} 1,i\le x\\-1,i\ge x\end{cases}\)

综合一下,\(f(x)-f(x-1)=\sum_{i=1}^{x-1} a_i - \sum_{i=x}^{n} a_i\)

然后再二阶差分一下,发现 \((f(x+1)-f(x))-(f(x)-f(x-1))=2a_x\)

然后就做出来了。

需要注意的是上面的式子由于边界问题,对于 \(x=1\)\(x=n\) 不成立,暴力计算一下就好。

参考代码

数学题,所以代码并不复杂。

#include<cstdio>
#include<iostream>
using namespace std;
typedef long long ll;
const int N=300010;
int n;
ll a[N],f[N];
void work(){ll sum1=0,sum2=0;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lld",&f[i]);}for(int i=2;i<n;i++){a[i]=f[i+1]+f[i-1]-(f[i]<<1);a[i]>>=1;sum1+=a[i]*(i-1);sum2+=a[i]*(n-i);}a[1]=(f[n]-sum2)/(n-1);a[n]=(f[1]-sum1)/(n-1);for(int i=1;i<=n;i++){printf("%lld ",a[i]);}printf("\n");
}
int main(){int t=1;scanf("%d",&t);while(t--)work();
}
http://www.jsqmd.com/news/599238/

相关文章:

  • Linux内核中的内存屏障技术详解
  • AI语音交互硬件基石:从原理到实战的麦克风与扬声器选型指南
  • 2025最权威的五大AI科研工具实测分析
  • Virtuoso ADE L仿真结果分析实战:用Calculator快速提取带宽、相位裕度和噪声
  • 前端框架选择:别再被营销号忽悠了
  • 线性递推通用模板
  • 3步让Windows任务栏秒变高级感:TranslucentTB美化指南
  • AI Agent Harness Engineering 农业应用案例:精准种植、病虫害识别与产量预测
  • ESP32开发板如何用VSCode玩转MicroPython?手把手教你配置开发环境(附常见问题解决)
  • 用 OpenSpec 规范 AI 辅助开发:让 AI 准确理解你的需求
  • Windows电脑安装安卓APK的终极指南:3分钟学会跨平台应用安装
  • 【Agent-阿程】OpenClaw 2026.4.1 版本更新与使用体验
  • OpenTCS 实战:从零构建自定义车辆通讯适配器
  • Netlify无服务器函数实战:5行代码搞定动态表单处理(附完整配置)
  • 前端性能优化:这些技巧让你的应用飞起来
  • Agent 中的记忆系统:短期记忆、长期知识库与情境缓存最佳实践
  • 边缘检测数据集BSDS500的‘坑’与优化:多标注者标签融合与阈值选择的经验谈
  • Typora 添加锚点实现文档内部快速跳转
  • HarmonyOS6 半年磨一剑 - RcSwitch 组件内联提示与外部文字系统深度解析
  • 前端状态管理:别再被复杂的状态管理库搞晕了
  • TongRDS多主多从集群部署实战:从配置到验证的完整指南
  • Synergy软件跨平台安装与多设备协同配置指南
  • 虚拟手柄驱动技术解析:从内核模拟到跨平台应用
  • 自适应交易利器:KAMA指标在Python中的高效实现与实战解析
  • 星穹铁道自动化终极指南:三月七小助手让你的游戏时间翻倍
  • 前端测试:别再写那些没用的测试了
  • Windows Cleaner:系统优化开源工具的技术原理与实现方案
  • CentOS7下BIND9 DNS服务器实战配置指南
  • KMS_VL_ALL_AIO:Windows与Office终极激活解决方案完整指南
  • 从输入法到天气预测:一阶与高阶马尔科夫链的建模实战