HDU 2086 A1 = ? (找规律推导公式 + 水题)(Java版)
Equations
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086
——每天在线,欢迎留言谈论。
题目大意:
有如下方程:Ai = (Ai-1 + Ai+1)/2 - Ci (i = 1, 2, 3, .... n)。
若给出A0, An+1, 和 C1, C2, .....Cn。
求 A1 。
思路:
多写几个例子,找规律推导(抄的)。
感想:
老啦,老啦,不行了。
Java AC代码:
import java.util.Scanner;
import java.math.*; public class Main {
static Scanner scn = new Scanner(System.in);
static final int MAXN = 3001;
static double[] c = new double[MAXN];
public static void main(String[] args) {
int n;
double a, b, answer;
while (scn.hasNext()) {
n = scn.nextInt();
a = scn.nextDouble();
b = scn.nextDouble();
for (int i = 1; i <= n; i++) {
c[i] = scn.nextDouble();
}
answer = n * a + b;
for (int i = n; i >= 1; i--) {
answer -= 2 * i * c[n - i + 1];
}
answer /= (n + 1);
System.out.println(String.format("%.2f", answer));
}
System.exit(0);
}
/**
* 因为: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)
* 2[(A1+A2)+(C1+C2)] = A0+A2+A1+A3;
* A1+A2 = A0+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)
*/
}
2017-08-11 17:46:51
HDU 2086 A1 = ? (找规律推导公式 + 水题)(Java版)的更多相关文章
- HDU 1840 Equations (简单数学 + 水题)(Java版)
Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1840 ——每天在线,欢迎留言谈论. 题目大意: 给你一个一元二次方程组,a(X^2 ...
- HDU 5832 A water problem(某水题)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- 题解报告:hdu 2086 A1 = ?
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086 Problem Description 有如下方程:Ai = (Ai-1 + Ai+1)/2 - ...
- hdu 5047 大数找规律
http://acm.hdu.edu.cn/showproblem.php?pid=5047 找规律 信kuangbin,能AC #include <stdio.h> #include & ...
- HDU 4572 Bottles Arrangement(找规律,仔细读题)
题目 //找规律,123321123321123321…发现这样排列恰好可以错开 // 其中注意题中数据范围: M是行,N是列,3 <= N < 2×M //则猜测:m,m,m-1,m-1 ...
- hdu 2393:Higher Math(计算几何,水题)
Higher Math Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- <hdu - 3999> The order of a Tree 水题 之 二叉搜索的数的先序输出
这里是杭电hdu上的链接:http://acm.hdu.edu.cn/showproblem.php?pid=3999 Problem Description: As we know,the sha ...
- HDOJ/HDU 1256 画8(绞下思维~水题)
Problem Description 谁画8画的好,画的快,今后就发的快,学业发达,事业发达,祝大家发,发,发. Input 输入的第一行为一个整数N,表示后面有N组数据. 每组数据中有一个字符和一 ...
- hdu 1164:Eddy's research I(水题,数学题,筛法)
Eddy's research I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
随机推荐
- idea启动多个tomcat失败
Intellij idea中,为在本地调试两个系统之间的调用,配置两个本地tomcat server,设置不同的端口号,如8081和8082,Deploy中加入两个系统各自的Artifact xxx: ...
- 函数式编程之-Partial application
上一篇关于Currying的介绍,我们提到F#是如何做Currying变换的: let addWithThreeParameters x y z = x + y + z let intermediat ...
- js 日期格式 转换 yyyy-MM-dd
之前js获取到数据库的Date,总是显示成: 后来知道是js 的Date 格式不能直接转换常用的yyyy-MM-dd 的格式 Date.prototype.yyyymmdd = function () ...
- mysql累积聚合
累积聚合为聚合从序列内第一个元素到当前元素的数据,如为每个员工返回每月开始到现在累积的订单数量和平均订单数量 行号问题有两个解决方案,分别是为使用子查询和使用连接.子查询的方法通常比较直观,可读性强. ...
- ZooKeeper系列(2):ZooKeeper命令行工具zkCli.sh
ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk 1.简介 ZooKeeper提供了一个非常简单的命令行客户端zk ...
- 基于.Net进行前端开发的技术栈发展路线(一)
前言 今天想讲讲的是我的技术树.我最初是做CS开发的,第一阶段的技术经历是以Powerbuilder来做CS开发,第二阶段开始基于C#做winform开发,眼看前端开发越来越流行,需要更广泛的技术栈势 ...
- Linux C 实现一个简单的线程池
线程池的定义 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务.线程池线程都是后台线程.每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中.如 ...
- MyBatis学习总结(四)——MyBatis缓存与代码生成
一.MyBatis缓存 缓存可以提高系统性能,可以加快访问速度,减轻服务器压力,带来更好的用户体验.缓存用空间换时间,好的缓存是缓存命中率高的且数据量小的.缓存是一种非常重要的技术. 1.0.再次封装 ...
- 腾讯云图片鉴黄集成到C#
官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: var urlList = new List& ...
- [android] 开启新的activity获取他的返回值
应用场景:打开一个新的activity,在这个activity上获取数据,返回给打开它的界面 短信发送时,可以直接选择系统联系人 界面布局是一个线性布局,里面右侧选择联系人在EditText的右上,因 ...