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

【题解】跳格子2

亿万年的星光3年前 (2023-05-20)题解目录20657

【题目描述】

地面上有一排长度为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

【样例输出】

-29977

【参考答案】

#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] = min(x[i-1],x[i-2]) + x[i];
    }
    cout<<x[n+1];
	return 0;
}


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

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

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

    相关文章

    【题解】家庭问题

    【题目描述】有n个人,编号为1,2,……n,另外还知道存在K个关系。一个关系的表达为二元组(α,β)形式,表示α,β为同一家庭的成员。当n,k和k个关系给出之后,求出其中共有多少个家庭、最大的家庭中有...

    简单算术表达式求值

    【题目描述】 两位正整数的简单算术运算(只考虑整数运算),算术运算为:+,加法运算;    -,减法运算;   &nbs...

    【题解】开关灯(1)

    【题目描述】假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。第一个人(1号)将灯全部关闭,第二个人(2号...

    【题解】前缀最大值

    【题目描述】求一个数列的所有前缀最大值之和。即:给出长度为n的数列a[i],求出对于所有1<=i<=n,max(a[1],a[2],...,a[i])的和。比如,有数列:666 304 6...

    【题解】阶乘问题

    2.阶乘问题(fac.cpp)【题目描述】给定一个正整数n,求出一个最小的整数m并使得m!的末尾连续的0的个数小于n。m!=1*2*3*4*...*m【输入描述】第一行n。【输出描述】一个整数m。【样...

    【题解】二分法查找左边界

    参考代码:# include <bits/stdc++.h> using namespace std; int a[100005];&...