k倍区间加2022
本文最后更新于 197 天前,其中的信息可能已经有所发展或是发生改变。

前缀和

K倍区间


import java.util.Scanner;
 // 1:无需package
 // 2: 类名必须Main, 不可修改
 public class Main {
   public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
         int n = sc.nextInt();
         int k = sc.nextInt();
         int[] a = new int[n];
         long[] v = new long[200000];
         long sum=0;
         long count = 0;
         for (int i = 0; i < n; i++) {
             a[i]= sc.nextInt();
             sum+=a[i];
 // 利用求余数 将相同余数的元素放到一起
             v[(int)(sum % k)]++;
        }
         sc.close();
 // 余数为0的元素自成一个 k倍区间
         count=count+v[0];
         for(int i=0;i<k;i++){
 // 两个相同余数的元素。他们的差一定为 k倍区间, 13%2=1 25%2=1 (25-13)%2==0
 // 任意两个数都可以组合一次 相当于 c(2,x) = x(x-1)/2 
             count+=(v[i]*(v[i]-1))/2;
        }
         System.out.println(count);
    }
 }

2022

2022分成十个互不相同的整数之和,有多少种方法,重复的算一种方法


#include<iostream>
 using namespace std;
 long long int dp[11][2025];
 //10组物品,每组物品取一个,最后总体积为2022.
 //10个数之和为2022
 //dp[i][j][k]=dp[i][j][k]+dp[i-1][j-1][k-i]
 int main()
 {
    dp[0][0] = 1;
    for (int i = 1; i <= 2022; i++) //2022种物品,每种物品体积等于i
    {
        for (int j = 10; j >= 1; j--)   //取物品个数
            for (int k = i; k <= 2022; k++)   //k是背包容量
                dp[j][k] += dp[j - 1][k - i];   //前i种物品,取j个物品(每种物品只有一个,该物品体积等于i),物品总体积等于k的总方案
    }//对于dp[j][k]的方案,等价于不取i物品,取j个数,总体积恰好为k的方案加上取物品,i取j个数,总体积恰好为k方案
    cout<<dp[10][2022];
    return 0;
 }

机器人走方格

机器人位于方格左上角,要走到右下角,有多少种方案?

   
Scanner scan=new Scanner(System.in);
         int n=scan.nextInt();
         int m=scan.nextInt();
         int number[][]=new int [n][m];
         for(int i=0;i<m;i++){
             number[0][i]=1;
        }
         for(int i=0;i<n;i++){
             number[i][0]=1;
        }
         number[0][0]=0;
         for(int i=1;i<n;i++){
             for(int j=1;j<m;j++){
                 number[i][j]=number[i-1][j]+number[i][j-1];
            }
        }
         System.out.println(number[n-1][m-1]);
    }
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇