Add One , dp


import java.util.Scanner;

public class dp {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        int mod = 1000000007, max_m = 200005;
        int[] dp = new int[max_m];
        for (int i = 0; i < 9; i++) {
            dp[i] = 2;
        }
        dp[9] = 3;
        for (int i = 10; i < max_m; i++) {
            dp[i] = (dp[i - 9] + dp[i - 10]) % mod;

        }
        for (int i = 0; i < t; i++) {
            int n = sc.nextInt();
            int m = sc.nextInt();
            int res = 0;
            while (n > 0) {
                int dig = n % 10;
                res += (m + dig) < 10 ? 1 : dp[m - (10 - dig)];
                res %= mod;
                n /= 10;
            }
            System.out.println(res);
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
贝叶斯分类是一种基于贝叶斯定理的机器学习算法,用于进行分类任务。它假设特征之间是相互独立的,并根据输入样本的特征概率来计算后验概率,从而确定样本属于各个类别的可能性,并选择后验概率最大的类别作为分类结果。 贝叶斯分类的计算过程可以简单描述为以下几个步骤: 1. 收集训练集:收集包含已知类别标签的训练样本,以及样本的特征。 2. 计算先验概率:计算各个类别的先验概率,即每个类别的样本占总样本的比例。 3. 计算条件概率:根据训练样本,计算每个特征在每个类别下的条件概率。 4. 计算后验概率:使用贝叶斯定理,结合先验概率和条件概率,计算每个类别在给定特征下的后验概率。 5. 预测分类结果:选择后验概率最大的类别作为样本的分类结果。 而"add one"计算题是指在统计学中常用的平滑算法之一。在计算频率时,如果某个事件在样本中没有出现过,根据统计学的原则,其频率应该为0。但是在实际应用中,为了避免概率为0导致后续计算出错的情况,可以使用"add one"平滑算法。 "add one"平滑算法的计算方式是:在每个事件的频率上加上一个常数α,即将每个事件的频数加1,然后再进行频率的计算。这样做可以有效地解决概率为0的问题,并且避免出现负数的情况。 例如,有一个样本集合包含三个类别的数据,每个类别的频数分别为0、2和3。使用"add one"平滑算法后,每个类别的频数分别为1、3和4,这样就可以计算每个类别的概率。 总结来说,贝叶斯分类是一种基于贝叶斯定理的分类算法,通过计算特征和类别之间的概率关系来进行分类。而"add one"计算则是一种在统计学中常用的平滑算法,用于解决频率为0的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值