codeforces官網,【Codeforces 977F】Consecutive Subsequence

 2023-12-25 阅读 22 评论 0

摘要:【鏈接】 我是鏈接,點我呀:) 【題意】 題意 【題解】 設f[i]表示i作為序列的最后一個數字,最長的連續序列的長度。 用f[i]和f[i-1]+1來轉移即可 codeforces官網, 【代碼】 import java.io.*; import java.util.*;public class Main {static InputReader in;static Print

【鏈接】 我是鏈接,點我呀:)
【題意】


題意

【題解】


設f[i]表示i作為序列的最后一個數字,最長的連續序列的長度。
用f[i]和f[i-1]+1來轉移即可

codeforces官網, 【代碼】

import java.io.*;
import java.util.*;public class Main {static InputReader in;static PrintWriter out;public static void main(String[] args) throws IOException{//InputStream ins = new FileInputStream("E:\\rush.txt");InputStream ins = System.in;in = new InputReader(ins);out = new PrintWriter(System.out);//code start from herenew Task().solve(in, out);out.close();}static int N = (int)2e5;static class Task{int n;HashMap<Integer,Integer> dic = new HashMap<Integer,Integer>();int a[] = new int[N+10];ArrayList<Integer> v = new ArrayList<Integer>();public void solve(InputReader in,PrintWriter out) {n = in.nextInt();int len = 0,idx = -1;for (int i = 1;i <= n;i++) {a[i] = in.nextInt();int x = a[i];if (dic.containsKey(x)) {int cur = dic.get(x);int temp = 0;if (dic.containsKey(x-1)) {temp = dic.get(x-1);}cur = Math.max(cur, temp+1);dic.put(x, cur);}else {int temp = 0;if (dic.containsKey(x-1)) {temp = dic.get(x-1);}dic.put(x, temp+1);}int temp0 = dic.get(x);if (temp0>len) {len = temp0;idx = i;}}out.println(len);int now = a[idx];for (int i = idx;i >= 1;i--) {if (a[i]==now) {v.add(i);now--;}}for (int i = (int)v.size()-1;i >= 0;i--) {out.print(v.get(i)+" ");}}}static class InputReader{public BufferedReader br;public StringTokenizer tokenizer;public InputReader(InputStream ins) {br = new BufferedReader(new InputStreamReader(ins));tokenizer = null;}public String next(){while (tokenizer==null || !tokenizer.hasMoreTokens()) {try {tokenizer = new StringTokenizer(br.readLine());}catch(IOException e) {throw new RuntimeException(e);}}return tokenizer.nextToken();}public int nextInt() {return Integer.parseInt(next());}}
}

轉載于:https://www.cnblogs.com/AWCXV/p/10575485.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/194891.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息