dp-淘宝的推荐系统

在这里插入图片描述在这里插入图片描述

//过不了
import java.util.Scanner;

public class Main {
    static int maxn=100003;
    static int tt,x,n,m,ans;
    static int[]f;
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int tt=scanner.nextInt();
        while(tt>0) {
            f=new int[maxn];
            tt--;
            ans=0;
            n=scanner.nextInt();
            m=scanner.nextInt();
            int nn=0;
            for (int i = 1; i <=n; i++) {
                x=scanner.nextInt();
                int w=f[x]+1;
                for (int j = Math.max(1, x-m); j <=Math.min(maxn-1, x+m); j++) {
                    f[j]=Math.max(f[j], w);
                    nn++;
                }
            }
            for (int i = 1; i < nn; i++) {
                ans=Math.max(ans, f[i]);
            }
            System.out.println(ans);
        }

    }
}

AC

import java.util.Scanner;

public class Main {
    static int n,d;
    static int a[];
    static int dp[];
    static int mm[];
    public static int fn(int x){
        int ans=0;
        for (int i = Math.max(a[x]-d,0); i <=Math.min(a[x]+d,100000) ; i++) {
            ans=Math.max(ans,mm[i]);
        }
        return ans;
    }
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int t=scanner.nextInt();
        while (t>0){
            a=new int[300005];
            dp=new int[300005];
            mm=new int[200005];
            t--;
            n=scanner.nextInt();
            d=scanner.nextInt();
            for (int i = 1; i <=n ; i++) {
                a[i]=scanner.nextInt();
            }
            for (int i = 1; i <=n ; i++) {
                dp[i]=fn(i)+1;
                mm[a[i]]=dp[i];//记录序号和价格
            }
            int ans=0;
            for (int i = 1; i <=n ; i++) {
                ans=Math.max(ans,dp[i]);
            }
            System.out.println(ans);
        }
    }
}
发布了89 篇原创文章 · 获赞 42 · 访问量 3665

猜你喜欢

转载自blog.csdn.net/weixin_43673156/article/details/105047017