Luogu1654 OSU! 题解
先设 x 为当前得分,当又得到 1 分时,有:
(x+1)3=x3+3x2+3x+1
由于原先得分为 x3 ,可知每次 +1 都会增加 3x2+3x+1 分。
在代码实现过程中,用 x 维护一维 x ,y 维护二维 x2 ,就很容易实现了。
View code:
#include<bits/stdc++.h>
using namespace std;
#define ri register int
#define il inline
const int N=1e5+10;
int n;
double ans,x,y;
double v[N];
signed main(){
scanf("%d",&n);
for(ri i=1;i<=n;i++)
scanf("%lf",&v[i]);
for(ri i=1;i<=n;i++){
ans=ans+(3*(x+y)+1)*v[i];//将 x 和 y 合并
y=(y+2*x+1)*v[i];
x=(x+1)*v[i];
}
printf("%.1lf",ans);
return 0;
}
标签:
题解
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 协程本质是函数加状态机——零基础深入浅出 C++20 协程
· 编码之道,道心破碎。
· 记一次 .NET 某发证机系统 崩溃分析
· 微服务架构学习与思考:SOA架构与微服务架构对比分析
· tomcat为什么假死了
· 历时半年,我将一个大型asp.net的零代码快速开发平台转成了java
· C#实现语音预处理:降噪、静音检测、自动增益(附Demo源码)
· 推荐五大AI+MCP自动化测试工具!
· 记一次 .NET 某无语的电商采集系统 CPU爆高分析
· Spring Boot 启动优化实践