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版)的更多相关文章

  1. HDU 1840 Equations (简单数学 + 水题)(Java版)

    Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1840 ——每天在线,欢迎留言谈论. 题目大意: 给你一个一元二次方程组,a(X^2 ...

  2. HDU 5832 A water problem(某水题)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  3. 题解报告:hdu 2086 A1 = ?

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086 Problem Description 有如下方程:Ai = (Ai-1 + Ai+1)/2 - ...

  4. hdu 5047 大数找规律

    http://acm.hdu.edu.cn/showproblem.php?pid=5047 找规律 信kuangbin,能AC #include <stdio.h> #include & ...

  5. HDU 4572 Bottles Arrangement(找规律,仔细读题)

    题目 //找规律,123321123321123321…发现这样排列恰好可以错开 // 其中注意题中数据范围: M是行,N是列,3 <= N < 2×M //则猜测:m,m,m-1,m-1 ...

  6. hdu 2393:Higher Math(计算几何,水题)

    Higher Math Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. <hdu - 3999> The order of a Tree 水题 之 二叉搜索的数的先序输出

    这里是杭电hdu上的链接:http://acm.hdu.edu.cn/showproblem.php?pid=3999  Problem Description: As we know,the sha ...

  8. HDOJ/HDU 1256 画8(绞下思维~水题)

    Problem Description 谁画8画的好,画的快,今后就发的快,学业发达,事业发达,祝大家发,发,发. Input 输入的第一行为一个整数N,表示后面有N组数据. 每组数据中有一个字符和一 ...

  9. hdu 1164:Eddy's research I(水题,数学题,筛法)

    Eddy's research I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

随机推荐

  1. idea启动多个tomcat失败

    Intellij idea中,为在本地调试两个系统之间的调用,配置两个本地tomcat server,设置不同的端口号,如8081和8082,Deploy中加入两个系统各自的Artifact xxx: ...

  2. 函数式编程之-Partial application

    上一篇关于Currying的介绍,我们提到F#是如何做Currying变换的: let addWithThreeParameters x y z = x + y + z let intermediat ...

  3. js 日期格式 转换 yyyy-MM-dd

    之前js获取到数据库的Date,总是显示成: 后来知道是js 的Date 格式不能直接转换常用的yyyy-MM-dd 的格式 Date.prototype.yyyymmdd = function () ...

  4. mysql累积聚合

    累积聚合为聚合从序列内第一个元素到当前元素的数据,如为每个员工返回每月开始到现在累积的订单数量和平均订单数量 行号问题有两个解决方案,分别是为使用子查询和使用连接.子查询的方法通常比较直观,可读性强. ...

  5. ZooKeeper系列(2):ZooKeeper命令行工具zkCli.sh

    ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk 1.简介 ZooKeeper提供了一个非常简单的命令行客户端zk ...

  6. 基于.Net进行前端开发的技术栈发展路线(一)

    前言 今天想讲讲的是我的技术树.我最初是做CS开发的,第一阶段的技术经历是以Powerbuilder来做CS开发,第二阶段开始基于C#做winform开发,眼看前端开发越来越流行,需要更广泛的技术栈势 ...

  7. Linux C 实现一个简单的线程池

    线程池的定义 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务.线程池线程都是后台线程.每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中.如 ...

  8. MyBatis学习总结(四)——MyBatis缓存与代码生成

    一.MyBatis缓存 缓存可以提高系统性能,可以加快访问速度,减轻服务器压力,带来更好的用户体验.缓存用空间换时间,好的缓存是缓存命中率高的且数据量小的.缓存是一种非常重要的技术. 1.0.再次封装 ...

  9. 腾讯云图片鉴黄集成到C#

    官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: var urlList = new List& ...

  10. [android] 开启新的activity获取他的返回值

    应用场景:打开一个新的activity,在这个activity上获取数据,返回给打开它的界面 短信发送时,可以直接选择系统联系人 界面布局是一个线性布局,里面右侧选择联系人在EditText的右上,因 ...