数学题 HDOJ——2086 简单归纳
2024-09-07 06:42:56
哎 真的是懒得动脑子还是怎么滴。。。
题目如下
Problem Description
有如下方程:Ai = (Ai-1 + Ai+1)/2 - Ci (i = 1, 2, 3, .... n).
若给出A0, An+1, 和 C1, C2, .....Cn.
请编程计算A1 = ?
若给出A0, An+1, 和 C1, C2, .....Cn.
请编程计算A1 = ?
参考网上题解。。。
因为:Ai=(Ai-1+Ai+1)/2 - Ci,
A1=(A0 +A2 )/2 - C1;
A2=(A1 + A3)/2 - C2 , ...
=> A1+A2 = (A0+A2+A1+A3)/2 - (C1+C2)
=> A1+A2 = A0+A3 - 2(C1+C2)
同理可得:
A1+A1 = A0+A2 - 2(C1)
A1+A2 = A0+A3 - 2(C1+C2)
A1+A3 = A0+A4 - 2(C1+C2+C3)
A1+A4 = A0+A5 - 2(C1+C2+C3+C4)
...
A1+An = A0+An+1 - 2(C1+C2+...+Cn)
----------------------------------------------------- 左右求和
(n+1)A1+(A2+A3+...+An) = nA0 +(A2+A3+...+An) + An+1 - 2(nC1+(n-1)C2+...+2Cn-1+Cn)
=> (n+1)A1 = nA0 + An+1 - 2(nC1+(n-1)C2+...+2Cn-1+Cn)
=> A1 = [nA0 + An+1 - 2(nC1+(n-1)C2+...+2Cn-1+Cn)]/(n+1)
#include<stdio.h>
#include<string.h>
#include<vector>
#include<cmath>
using namespace std;
int n;double a,b,c;
int main()
{ while(scanf("%d",&n)!=EOF)
{
double ans=;
scanf("%lf%lf",&a,&b);
ans+=n*a+b;
for(int i=n;i>=;i--)
{
scanf("%lf",&c);
ans-=*i*c;
}
printf("%.2f\n",ans/(n+));
}
return ;
}
AC代码
最新文章
- windows svn 上传后 自动部署 到web目录下
- Solr初始化源码分析-Solr初始化与启动
- 无法Ping通windows 7主机
- Codeforces Round #190 (Div. 2) B. Ciel and Flowers
- Eclipse配置信息
- PHP之SQL防注入代码(360提供)
- C#实现网络传输数据加密
- Building Apps with Over 65K Methods(解决APP引用方法总数超过65536)
- Android 控件属性
- 情人节,教大家使用css画出一朵玫瑰花。
- CSS3浏览器兼容
- oracle密码过期
- 用WSDL4J解析types标签中的内容
- 腾讯的h5制作工具教程
- Salesforce自定义权限简介
- [python]python错误集锦
- AWTK 全称为 Toolkit AnyWhere,是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架(三平台+2个手机平台+嵌入式)
- HTML5插件
- iOS.Book.Effective Objective-C 2.0
- NHibernate之映射文件配置说
热门文章
- 2.4 hive创建表实例讲解
- struts2注解的作用
- Flex AIR操作文件系统
- Mybatis:resultMap的使用总结(转自https://www.cnblogs.com/kenhome/p/7764398.html)
- spring boot 使用Schedule创建轻量级定时任务
- 如何有效提升Unity Gear VR游戏性能
- 在开发中经常会有多级跳转 viewcontroller的问题,然后有时不一定要一级一级的返回,可能直接返回到某个根视图控制器或某个指定的控制器.
- C#静态类、静态构造函数,类与结构体的比较
- GYM 101889F(树状数组)
- JavaScript引擎基本原理:Shapes和Inline Caches