当前位置:首页 > 题解目录 > 正文内容

【题解】跳格子

亿万年的星光3年前 (2022-10-20)题解目录2460

【题目描述】

地面上有一排长度为n的格子1-n,每个格子上都有一个数xi,开始时你在位置0,每次你可以向前跳1-2格,然后取走格子上的数,直到跳到位置n+1。取走的数的和就是你的得分,现在你想知道你可能的最大得分是多少。

【输入描述】

一行四个整数n,A,B,C(n≤100000,0≤A,B,C≤10000),其中n表示格子的数量。x[i]由如下方式生成:
    for (int i = 1; i <= n; i++){
    int tmp = ((long long)A * i * i + B * i + C) % 20000;
    x[i] = tmp - 10000;
    }

【输出描述】

一行一个整数ans表示可能的最大得分。

【样例输入】

3 1 1 1

【样例输出】

-9993


【参考答案】

#include<bits/stdc++.h>
using namespace std;
int x[100010],n,A,B,C;
int main(){
	cin>>n>>A>>B>>C;
	for (int i = 1; i <= n; i++){
    	int tmp = ((long long)A * i * i + B * i + C) % 20000;
    	x[i] = tmp - 10000;
    }
    for (int i = 2; i <= n+1; i++){
    	x[i] = max(x[i-1],x[i-2]) + x[i];
    }
    cout<<x[n+1];
	return 0;
}


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    标签: 动态规划
    分享给朋友:

    相关文章

    【题解】剔除相关数

    【题目描述】一个数与另一个数如果含有相同数字和个数的字符,则称两数相关。现有一堆乱七八糟的整数,里面可能充满了彼此相关的数,请你用一下手段,自动地将其剔除。【输入描述】每组数据前有一个N(<10...

    【题解】将钱分给最多的儿童

    【题目描述】给你一个整数 money ,表示你总共有的钱数(单位为美元)和另一个整数 children ,表示你要将钱分配给多少个儿童。你需要按照如下规则分配:...

    【题解】奇偶校验

    【题目描述】奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数 是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。现在给...

    【题解】装满杯子需要的最短总时长

    【题目描述】现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。给你一个下标从&nb...

    【题解】运动员和训练师的最大匹配数

    【题目描述】给你一个下标从 0 开始的整数数组 players ,其中 players[i] 表示第 i 名运动员的&n...

    【题解】背包问题3

    【题目描述】完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背...