当前位置: 首页 > news >正文

做旅游网站课程设计报告seo云优化

做旅游网站课程设计报告,seo云优化,wordpress免费申请,wordpress 改成中文目录 区间价值 题目描述 输入描述: 输出描述: 输入 输出 备注: 思路: 代码: 区间价值 J-区间价值_牛客竞赛动态规划专题班习题课 (nowcoder.com) 时间限制:C/C 2秒,其他语言4秒 空间限制:C/C 262144K&…

目录

区间价值

题目描述

输入描述:

输出描述:

输入

输出

备注:

思路:

代码:


 

区间价值

J-区间价值_牛客竞赛动态规划专题班习题课 (nowcoder.com)
 

时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

对于一个数组a,定义其价值是其中不同的数的个数,比如对于数组[3,2,2,3,1],价值就是3。对于一个给定的长度len,求出所有长度为lenlenlen的子区间的价值之和是对于吉吉国王来说很重要,现在吉吉国王会告诉你他想知道的长度lenlenlen,你需要告诉吉吉国王答案。

比如数组[3,2,2,3,1],长度为2的子区间有[3,2],[2,2],[2,3],[3,1],那么价值分别是2,1,2,2,因此这个数组长度为2的价值和就是7。

输入描述:

第一行一个n表示数组的长度。

第二行n个数,第iii个数表示ai。

第三行一个q表示询问的次数。

接下来q行,每行一个整数表示查询的长度。

输出描述:

输出q行,第i行表示第i个询问的答案。

示例1

输入

5
3 2 4 3 1
4
1
2
3
4

输出

5
8
9
7

备注:

1≤n≤1e6 

思路:

这道题容易想到的是暴力解法(区间dp)但这肯定是会爆时间的。

现在设dp[i] 表示区间为i时的价值和。

那怎么从dp[i-1] 转移到 dp[i]

假如 当前区间为3, 数组为 32441

324 -> 3244 贡献不变

244 -> 2441 贡献加1

441 -> null 贡献-2

这里可以看出从dp[i-1] 到 dp[i] 会损伤掉后面 i-1个数的贡献值,并且前几个区间有s[i]的贡献增加。

前几个区间中那些区间是会提供贡献,或者说那些数在区间变大时可以提供贡献,这是可以预处理出来的,因为可以观察发现只有两个相同数的相隔距离大于等于i时,他们才会在长度为i的区间中提供一个贡献。(这里需要用一个后缀和统计)

代码:

import java.util.Scanner;/*** @ProjectName: study3* @FileName: Ex7* @author:HWJ* @Data: 2023/12/5 19:53*/
public class Main {static int maxN = (int) 1e6 + 5;public static void main(String[] args) {Scanner input = new Scanner(System.in);int n = input.nextInt();int[] arr = new int[maxN];int[] last = new int[maxN];long[] s = new long[maxN];int[] diff = new int[maxN];int[] cnt = new int[maxN];for (int i = 1; i <= n; i++) {arr[i] = input.nextInt();s[i - last[arr[i]]]++;last[arr[i]] = i;}for(int i = n; i > 0; i--){s[i] = s[i] + s[i + 1];}int tot = 0;for(int i = n; i > 0; i--){if (++cnt[arr[i]] == 1) tot++;diff[n - i + 1] = tot;}long[] ans = new long[n + 1];ans[1] = n;for(int i = 2; i <= n; i++){ans[i] = ans[i - 1] + s[i] - diff[i - 1];}int q = input.nextInt();for (int i = 0; i < q; i++) {int a = input.nextInt();System.out.println(ans[a]);}}
}

http://www.yayakq.cn/news/90710/

相关文章:

  • 模板网站建设公司哪个好wordpress 文章 模版
  • 如何查看网站的流量云服务器有哪些平台
  • 深圳市建设执业培训中心网站wordpress 评论 邮箱
  • 电商网站建设方案免费域名领取
  • 个人博客网站域名注册太原网站建设总部在哪
  • 福州微信网站建设斯塔德迈尔球衣
  • 南通网站建设华龙网重庆
  • 中国建设银行信用卡旅游卡服务网站qq是腾讯的还是阿里的
  • 网站上的定位功能如何实现的一微网站建设公司好
  • 更新网站要怎么做呢新能源汽车车型
  • 重庆市住房和城乡建设厅网站首页如何用wd做网站设计
  • 网站框架怎么建设wordpress改logo不显示
  • 凡科做视频网站南京网站建设价位
  • 网站建设写什么经营范围免费1级做爰片打网站
  • 网站第三方统计工具下载榆林做网站的公司电话
  • 建设网站找什么中国建设网官方网站硅灰
  • 高端建站准备材料局域网怎么建立
  • 佛山做app网站企业网站优化甲薇g71679做同等效果下拉词
  • 全国各大网站宝安附近公司做网站建设多少钱
  • 网站主题包括wordpress域名资源地址
  • 东莞旅游网站建设app推广活动策划方案
  • 广州建网站费用网页制作英文
  • 网页设计模板word网站开发图片加载过慢如何优化
  • 嘉兴网站建设嘉兴宁夏网络公司排名
  • 用自己电脑做网站服务器php c2c网站开发的 书
  • 济南模板建站多少钱区块链网站用vue.js做怎么样
  • 广州做网站的外贸网站制作
  • 佛山网站建设公司排名如何制作课程网站模板下载地址
  • 模板网站与定制网站的定位南宁seo如何做
  • 百度站长怎样添加网站湛洪波.jsp网站开发详解