B. 不知道该叫啥

news2024/11/15 15:35:04

题意:求长度为n的数列方案数,数列需满足两个条件:1.均为正整数。2.相邻两个数乘积不能超过m

思路:考虑dp。

fi j表示前i个点以j结尾的方案数,则有:f[i][j] += f[i-1][k](j*k<=m)

可以得出:f[i][j]=\sum_{k=1}^{m/j}f[i-1][k]

双指针+数论分块解决。把每个m/i相同的值抽象成一个点,共同转移即可。

此时设fij表示在以j结尾(在第j块的最小值)

变形后的dp方程:f[1][i]=f[1][i-1]+len[i]

f[i][j]=f[i-1][j-1]+f[i][k]*len[j](right[k]*right[j]<=m)

从小块开始,另一指针从大块开始往前跳

#include<bits/stdc++.h>
#define int long long
using namespace std;

const int mod = 1e9 + 7 , N = 110 , M = 1e5 + 10;

int n,m,k,f[2][M],len[M],bel[M],cnt,now;
signed main(){
	cin>>n>>m;
	int l=1,r=0;
	while(l<=m){
		r=m/(m/l);
		++k;
		bel[k]=r;len[k]=(r-l+1);
		l=r+1;
	}
	for(int i=1;i<=k;i++)  f[0][i]=len[i]+f[0][i-1];
	for(int p=1;p<n;p++){
		now^=1;
		int j=k;
		for(int i=1;i<=k;i++){
			while(bel[j]*bel[i]>m)  j--;
			f[now][i]=(f[now][i-1]+f[now^1][j]*len[i])%mod;
		}
	}  
	cout<<f[now][k];
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2071350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个下载镜像非常快的网站--华为云

1、镜像的下载飞速 链接&#xff1a;mirrors.huaweicloud.com/ubuntu-releases/24.04/ 下载一个的ubuntu24.04的镜像文件&#xff0c;5.7G的大文件&#xff0c;不到1分钟就下完毕了&#xff0c; 比起阿里云下载的速度600K/S,这个速度是100多倍。 非常的神速&#xff0c;非常…

如何选择高品质科研实验室用太阳光模拟器

概述 太阳光模拟器是一种能够模拟太阳光照射条件的设备&#xff0c;主要用于实验室环境中对太阳能相关材料和设备进行性能测试。这类模拟器能够提供与自然太阳光谱相似的光照&#xff0c;同时还能精确控制光照强度和照射角度&#xff0c;以满足不同测试需求。 对于被归类为太…

Leetcode 104. 二叉树的最大深度 C++实现

Leetcode 104. 二叉树的最大深度 问题&#xff1a;给定一个二叉树root&#xff0c;返回其最大深度。 二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* …

【Linux篇】Linux的用户和权限

目录 1. 认识Linux的root用户&#xff08;超级管理员&#xff09; 1.1 介绍 1.2 su命令和exit命令 1.3 sudo命令 为普通用户配置sudo认证 2. 用户与用户组 2.1 用户组管理 2.2 用户管理 2.3 getent命令 3. 查看权限控制信息 3.1 认知权限信息 3.2 rwx含义 r&#x…

巴恩斯利蕨数学公式及源码实现——JavaScript版

为什么要写这篇文章 本篇接《张侦毅&#xff1a;巴恩斯利蕨数学公式及源码实现》。之前文章中源码的编程语言用的是Java&#xff0c;JDK的版本为8&#xff0c;现在我的JDK版本已经升级到22了&#xff0c;在新版本JDK中&#xff0c;原来的JApplet方法已经被废弃&#xff0c;不能…

云原生之全链路分布式跟踪系统 Zipkin和SkyWalking

贪多嚼不烂 Pinpoint 就不对比了 参考 APM系统简单对比(zipkin,pinpoint和skywalking) springcloud 看云 Zipkin和SkyWalking都是流行的分布式跟踪系统&#xff0c;但它们的设计和实现有明显的不同。 以下是它们之间的一些对比&#xff1a; 数据存储&#xff1a; Zipk…

Linux与Windows的文件与目录操作API汇总整理

文件和目录操作是编程中非常基础且常用的部分&#xff0c;涉及到文件的创建、读写、删除以及目录的创建、删除等功能。下面是文件和目录操作的汇总整理&#xff0c;包括常见的API及其用途&#xff1a; 文件操作 POSIX 系统&#xff08;如 Linux 和 macOS&#xff09; 打开文件…

Python二级知识点

在阅读之前&#xff0c;感谢大家的关注和点赞。祝你们都能心想事成、健健康康。 一.数据流程图 一般这道题是经常考的&#xff0c;有向箭头--->表示数据流。圆圈○表示加工处理。 二.字典如何比较大小 字典类型是如何比较大小的呢&#xff0c;是使用字典的键来比较大小&…

Python 使用everything的相关模块,创建极其快速的文件搜索和管理工具

在这篇博客中&#xff0c;我将分享如何使用 Python 的 everytools库构建一个简单的文件搜索和管理工具。这个工具允许用户搜索文件、查看文件路径、导出文件信息到 Excel&#xff0c;以及生成配置文件。 C:\pythoncode\new\everythingtools.py 项目概述 这个工具的主要功能包…

mysql binlog 全量与增量备份

mysql binlog 全量与增量备份 mysql binlog常用操作 https://blog.csdn.net/xyy1028/article/details/124446625 mysqldump mysqlbinlog 增量备份 mysql的增量备份 https://blog.51cto.com/u_16213572/10976496 mysql全量备份与增量备份 — vip https://blog.51cto.com/hehe1…

Java学习_20_File以及IO流

文章目录 前言一、FileFile中常见的成员方法判断和获取创建和删除获取和遍历 二、IO流IO流体系结构字节流字节输出流&#xff1a;FileOutputStream字节输入流FileInputStrea文件拷贝try……catch异常处理中文乱码现象 字符流字符流读取FileReader字符流输出FileWriter底层原理 …

堆《数据结构》

堆《数据结构》 1. 堆排序1.1 建堆向上调整建堆向下调整建堆 1.2 利用堆删除思想来进行排序1.3Top-k问题 2.堆的时间复杂度 1. 堆排序 1.1 建堆 建大堆 建小堆 向上调整建堆 AdjustUp建堆 void AdjustUp(HPDataType* a, int child) {// 初始条件// 中间过程// 结束条件int p…

专利权和版权有什么区别?

专利权和版权有什么区别&#xff1f;

【IEEE】第四届智能通信与计算国际学术会议(ICICC 2024,10月18-20)

第四届智能通信与计算国际学术会议&#xff08;ICICC 2024&#xff09;将于2024年10月18-20日在中国郑州隆重举行。 会议旨在为从事智能通信与计算研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术&#xff0c;了解学术发展趋势&#xff0c;拓宽研究…

帆软报表,达梦数据库驱动上传失败

1、按照正常操作新建数据库连接&#xff0c;上传准备好的达梦驱动时&#xff0c;提示如图一需要修改SystemConfig.driverUpload为true才可以。 2、FineDB存储了数据决策系统中除平台属性配置以外的所有信息。详情请参见&#xff1a; FineDB 数据库简介。 3、因此管理员可通过…

都2024年了,你还在手动敲SQL吗?试试这款开源免费的AI数据库!

​ ✍️作为一名开发人员&#xff0c;基本上每天都要和数据库打交道&#xff0c;无论是设计表结构、执行查询还是调试应用中的数据问题。长期以来&#xff0c;我一直在使用诸如DBeaver、Navicat和DataGrip这样的数据库管理工具。尽管这些工具各有千秋&#xff0c;但在面对复杂的…

python怎么使用模块中的类

Chain.py是模块&#xff08;Module&#xff09;&#xff0c;在代码里定义的Class Chain是在模块里定义的类。 一种方法是&#xff1a; from Chain import Chain 还有一种方法是&#xff1a; a Chain.Chain() 相当于从模块里索引出这个类&#xff0c;两种方法都可以。

3b1b自注意力机制讲解记录

本文是对视频【官方双语】直观解释注意力机制&#xff0c;Transformer的核心 | 【深度学习第6章】的整理 1 背景 要解决的问题&#xff1a;接收一段文本&#xff0c;预测下一个词 句子会被切成许多小块&#xff0c;这些小块称为token。token可以是单词也可以是词组。为了简单…

SpringBoot百万行Excel导入MySQL实践

在公司开发时&#xff0c;客户说需要支持大数据量excel导入&#xff0c;所以打算写一篇文章记录下思路和优化过程。 一、前期准备 首先我们选用的肯定是阿里出品的EasyExcel&#xff0c;对比poi和jxl占内存更少 easyexcel官方网站准备测试的数据库和excel文件&#xff0c;已经…

Zustand:让React状态管理更简单、更高效

Zustand 这个单词在德语里是状态的意思&#xff08;发音&#xff1a;促stand&#xff09; 1. 下载zustand npm i zustand 或者 yarn add zustand2.创建一个store import { create } from zustandconst useBearStore create((set) > ({bears: 0,increasePopulation: …