广联达笔试9.28

第二题咋做呀大佬们
给一个字符串数组,如'1423', 和一个数 k (0-9),随机从字符串中选数字出来组合,比如42, 143,求有多少种组合方式能被K整除
第一反应是想到前缀和+同余那道题,但怎么都套不进去,有没有大佬讲讲的5555

#广联达##笔试##前缀和##笔试刷题#
全部评论
第二题暴力73
1 回复 分享
发布于 2022-09-28 21:35 湖南
试下,不知道对不对     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         int n = sc.nextInt();         int k = sc.nextInt();         sc.nextLine();         String s = sc.nextLine();         long[][] arr = new long[n + 1][k];         int c = Integer.valueOf(s.charAt(0));         arr[1][c % k] += 1;         if (n <= 1){             System.out.println(arr[1][c % k]);             return;         }         for (int i = 2;i <= n;i ++){             for (int j = 0;j < k;j ++){                 int tmp = s.charAt(i - 1) - '0&(30533)#39; + j * 10;                 int yu = tmp % k;                     arr[i][yu] = (arr[i][yu] + arr[i - 1][j]) % 1000000007;             }             int yu = Integer.valueOf(s.charAt(i - 1)) %  k;             arr[i][yu] = (1 + arr[i][yu]) % 1000000007;             for (int j = 0;j < k;j ++){                 arr[i][j] += arr[i - 1][j];             }         }         long res = arr[n][0];         System.out.println(res);     }
点赞 回复 分享
发布于 2022-09-28 21:38 山东
第一题 没有奇数/没有偶数不排序,其他时候排序就能过
点赞 回复 分享
发布于 2022-09-28 21:58 广西
回溯可以
点赞 回复 分享
发布于 2022-09-29 10:51 北京

相关推荐

1 2 评论
分享
牛客网
牛客企业服务