当前位置: 首页 > news >正文

专业制作公司网站公司/怎么做好推广和营销

专业制作公司网站公司,怎么做好推广和营销,杭州疫情流调,wordpress anki插件题目背景 蛟川书院的一道练习题QAQ 题目描述 如果一个数的所有连续三位数字都是大于100的素数,则该数称为三素数数。比如113797是一个6位的三素数数。 输入格式 一个整数n(3 ≤ n ≤ 10000),表示三素数数的位数。 输出格式 …

题目背景

蛟川书院的一道练习题QAQ

题目描述

如果一个数的所有连续三位数字都是大于100的素数,则该数称为三素数数。比如113797是一个6位的三素数数。

输入格式

一个整数n(3 ≤ n ≤ 10000),表示三素数数的位数。

输出格式

一个整数,表示n位三素数的个数m,要求输出m除以10^9 + 9的余数。

输入输出样例

输入 #1复制

4

输出 #1复制

204

说明/提示

区域动归QAQ

解析:

第一次的错误做法:

f[i] 表示前 i 为的三素数的个数,f[i]=f[i-3]*t+f[i-2]+f[i-1], t 表示 1 到 1e3 内的素数的个数

这个做法是错误的,题目的意思应该是任意三个连续的数组成的三位数一定是素数,上述的做法只考虑了当前连续的三个数,而非任意任意三个连续的数,所以上述做法是错误的

正确的做法:

最容易,最直接的划分方式:f[i][j][k][l] 表示前 i 位,最近的三位数,百位为 j ,十位为 k,个位为 l 的三素数个的个数

状态转移方程:f[i][j][k][l]=(f[i-1][k][l][p]+f[i][j][k][l])%mod;

初始化 f[3][j][k][l]=1;

时间复杂度为O(1e3*n),最坏情况为 1e8

优化:

我们可以发现上述划分集合的最后一维是可以省去的:

f[i][j][k] 表示: 最近的三位数,百位为 j ,十位为 k,个位为 l 的三素数个的个数,这里 l 省去了,

f[i][j][k]=(f[i][j][k]+f[i-1][k][l])%mod;

初始化可以不改变,也可以改为:f[2][j][k]=1;

优化前的代码:
 

#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<math.h>
#include<map>using namespace std;
typedef long long LL;
const int N = 1e4 + 3, M = 1e3,mod=1e9+9;
int n;
LL f[N][11][11][11];
int an[M];
vector<int>prime;void init() {an[1] = 1;for (int i = 2; i < M; i++) {if (an[i] == 0) {prime.push_back(i);}for (int j = 0; j < prime.size() && prime[j] * i < M; j++) {an[prime[j] * i] = 1;}}
}int main() {init();cin >> n;for (int j = 1; j <= 9; j++) {for (int k = 0; k <= 9; k++) {for (int l = 0; l <= 9; l++) {f[3][j][k][l] = 1;}}}int t=0,tt=0;for (int i = 4; i <= n; i++) {for (int j = 1; j <= 9; j++) {for (int k = 0; k <= 9; k++) {for (int l = 0; l <= 9; l++) {for (int p = 0; p <= 9; p++) {t = j * 100 + k * 10 + l;tt = k * 100 + l * 10 + p;if (!an[t]&&!an[tt]) {f[i][j][k][l] = (f[i - 1][k][l][p] + f[i][j][k][l])%mod;}}}}}}LL ans = 0;for (int j = 0; j <= 9; j++) {for (int k = 0; k <= 9; k++) {for (int l = 1; l <= 9; l++) {t = j * 100 + k * 10 + l;if (!an[t])ans = (ans + f[n][j][k][l]) % mod;}}}cout << ans << endl;return 0;
}

优化后的代码

#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<math.h>
#include<map>using namespace std;
typedef long long LL;
const int N = 1e4 + 3, M = 1e3, mod = 1e9 + 9;
int n;
LL f[N][11][11];
int an[M];
vector<int>prime;void init() {an[1] = 1;for (int i = 2; i < M; i++) {if (an[i] == 0) {prime.push_back(i);}for (int j = 0; j < prime.size() && prime[j] * i < M; j++) {an[prime[j] * i] = 1;}}
}int main() {init();cin >> n;for (int j = 0; j <= 9; j++) {for (int k = 0; k <= 9; k++) {f[2][j][k] = 1;}}int t = 0, tt = 0;for (int i = 3; i <= n; i++) {for (int j = 1; j <= 9; j++) {for (int k = 0; k <= 9; k++) {for (int l = 0; l <= 9; l++) {t = j * 100 + k * 10 + l;if (!an[t]) {f[i][j][k] = (f[i - 1][k][l] + f[i][j][k]) % mod;}}}}}LL ans = 0;for (int j = 0; j <= 9; j++) {for (int k = 0; k <= 9; k++) {ans = (ans + f[n][j][k]) % mod;}}cout << ans << endl;return 0;
}

相关文章:

P2359 三素数数 , 线性dp

题目背景 蛟川书院的一道练习题QAQ 题目描述 如果一个数的所有连续三位数字都是大于100的素数&#xff0c;则该数称为三素数数。比如113797是一个6位的三素数数。 输入格式 一个整数n&#xff08;3 ≤ n ≤ 10000&#xff09;&#xff0c;表示三素数数的位数。 输出格式 …...

【c语言】用C语言设计一个环形缓冲区。当环形缓冲区有一半占用未处理时,提示使用了50%.

InsCode AI创作助手 #include <stdio.h> #include <stdlib.h>#define BUFFER_SIZE 10int buffer[BUFFER_SIZE]; // 环形缓冲区数组 int readIndex 0; // 缓冲区读取索引 int writeIndex 0; // 缓冲区写入索引 int count 0; // 缓冲区占用计数器void enqueue(in…...

Python的web自动化学习(四)Selenium的显性等待(元素定位)

引言&#xff1a; Selenium的显性等待&#xff0c;其常用的定位方法介绍&#xff0c;后面持续更细具体用法 示例如下&#xff1a; <input type"text" class"s_ipt" name"wd" id"kw" maxlength"100" autocomplete"…...

X3DAudio1_7.dll是什么,解决计算机找不到X3DAudio1_7.dll文件的方法

作为一位程序员&#xff0c;我深知x3daudio1_7.dll丢失对电脑用户的影响。这个文件是DirectX的一个组件&#xff0c;它负责处理音频输出和输入。当这个文件丢失时&#xff0c;可能会导致电脑无法正常播放音频&#xff0c;甚至出现蓝屏等问题。那么&#xff0c;面对这个问题&…...

【Python】海龟图turtle.color() 方法有关RGB颜色设置详解

在Turtle模块中&#xff0c;turtle.color()函数用于设置画笔和填充颜色&#xff0c;你可以使用RGB颜色码作为参数。RGB颜色码由三个数字组成&#xff0c;分别代表红色&#xff08;R&#xff09;&#xff0c;绿色&#xff08;G&#xff09;和蓝色&#xff08;B&#xff09;的分量…...

中科院上高院,协鑫,和数“能源数字化智能管控”合作项目开启

10月27日&#xff0c;上海和数软件有限公司与协鑫综合能源服务有限公司、中国科学院上海高等研究院签署了《关于“能源数字化智能管控”开发与应用框架合作协议》。 这也标志着新疆协鑫智慧能源有限公司数字化智能提升项目——数字孪生项目正式启动。 根据协议&#xff0c;三方…...

在Mac上安装MongoDB 5.0

MongoDB 5.0安装 1、环境描述 操作系统&#xff1a;macOS 14.0 (23A344) 2、安装MongoDB 2.1、tar解压包安装 下载地址&#xff1a;Download MongoDB Community Server | MongoDB 创建一个目录&#xff0c;以便数据库将文件放入其中。&#xff08;默认情况下&#xff0c;数据…...

手把手教你如何实现TNAS与云盘之间的无缝同步技巧

嘿&#xff0c;铁粉们&#xff01; 云盘的下载速度总是让我们抓耳挠腮 数据安全隐私问题让人担心不已 但在购入NAS之前 众多数据存放在云盘里 同时也想把NAS的数据备份在云盘里 实现备份321法则&#xff1f; 不用烦恼 铁威马来帮忙 无需其他多余操作 只要下载CloudSyn…...

【约会云栖】从初中至大学,我见证了科技变革的历程。

前言 提起阿里云开发者大会&#xff0c; 你一定会觉得陌生&#xff1b;但提起云栖大会&#xff0c;你又会耳熟能详。实际上&#xff0c;云栖大会的前身就是阿里云开发者大会&#xff0c;2015年&#xff0c;它永久落户在杭州市西湖区云栖小镇。 2023年10月31日至11月2日&#xf…...

【MySQL索引与优化篇】索引优化与查询优化

索引优化与查询优化 文章目录 索引优化与查询优化1. 概述2. 索引失效案例3. 关联查询优化3.1 Join语句原理3.2 Simple Nested-Loop Join&#xff08;简单嵌套循环连接&#xff09;3.3 Index Nested-Loop Join&#xff08;索引嵌套循环连接&#xff09;3.4 Block Nested-Loop Jo…...

DevChat:VSCode中基于大模型的AI智能编程助手

#AI编程助手哪家好&#xff1f;DevChat“真”好用# 文章目录 1. 前言2. 安装2.1 注册新用户2.2 在VSCode中安装DevChat插件2.3 设置Access Key 3. 实战使用4. 总结 1. 前言 DevChat是由Merico公司精心打造的AI智能编程助手。它利用了最先进的大语言模型技术&#xff0c;像人类…...

Scrum master的职责

首先&#xff0c;Scrum master负责建立Scrum团队。同时Scrum master要帮助团队&#xff08;甚至大到公司&#xff09;中的每个成员理解Scrum理论和实践。 Scrum master还需要有很强的软技能&#xff0c;用于指导Scrum团队。Scrum master要对Scrum团队的成功负责任&#xff0c;…...

数据结构:算法(特性,时间复杂度,空间复杂度)

目录 1.算法的概念2.算法的特性1.有穷性2.确定性3.可行性4.输入5.输出 3.好算法的特质1.正确性2.可读性3.健壮性4.高效率与低存储需求 4.算法的时间复杂度1.事后统计的问题2.复杂度表示的计算1.加法规则2.乘法规则3.常见函数数量级比较 5.算法的空间复杂度1.程序的内存需求2.例…...

SaaS 出海,如何搭建国际化服务体系?(一)

防噎指南&#xff1a;这可能是你看到的干货含量最高的 SaaS 出海经验分享&#xff0c;请准备好水杯&#xff0c;放肆食用&#xff08;XD。 当越来越多中国 SaaS 企业选择开启「国际化」副本&#xff0c;出海便俨然成为国内 SaaS 的新角斗场。 LigaAI 观察到&#xff0c;出海浪…...

数据结构与算法-(7)---栈的应用拓展-前缀表达式转换+求值

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…...

泛型的使用

泛型是一种Java编程语法&#xff0c;它允许我们编写支持多种数据类型的通用类、方法和接口。使用泛型可以使代码更通用、更灵活、更健壮&#xff0c;并提高代码的重用性。 在Java中&#xff0c;泛型的语法使用尖括号<>和类型参数来定义。例如&#xff0c;我们可以定义一…...

docker导致远程主机无法访问,docker网段冲突导致主机网络异常无法访问

背景&#xff1a; 公司分配的虚拟机是172网段的&#xff0c;在上面部署了docker、docker-compose、mysql、redis,程序用docker-compose管理&#xff0c;也平稳运行了一个多周&#xff0c;某天用FinalShell连主机重启docker容器&#xff0c;忽然断开连接&#xff0c;然后虚拟机就…...

Python的web自动化学习(三)Selenium的显性、隐形等待

引言&#xff1a; WebDriver的显性等待和隐形等待是用于在测试过程中等待元素加载或操作完成的两种等待方式。了解此两种方式是为后面自动化找到适合的方法去运用 显性等待&#xff08;Explicit Wait&#xff09; 显性等待是通过使用WebDriverWait类和ExpectedConditions类来…...

Linux--文件操作

1.什么是文件 对于文件来说&#xff0c;文件文件内容文件属性&#xff1b;对于文件来说&#xff0c;只有两种操作&#xff0c;对内容的修改和对文件属性的修改&#xff0c;这就是文件的范畴。 对于存放在磁盘上的文件&#xff0c;我们需要通过进程来进行访问&#xff0c;访问文…...

硬件知识积累 RS422接口

1. RS422 基本介绍 EIA-422&#xff08;过去称为RS-422&#xff09;是一系列的规定采用4线&#xff0c;全双工&#xff0c;差分传输&#xff0c;多点通信的数据传输协议。它采用平衡传输采用单向/非可逆&#xff0c;有使能端或没有使能端的传输线。和RS-485不同的是EIA-422不允…...

项目经验分享|openGauss 陈贤文:受益于开源,回馈于开源

开源之夏 项目经验分享 2023 #08 # 关于 openGauss 社区 openGauss是一款开源关系型数据库管理系统&#xff0c;采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验&#xff0c;结合企业级场景需求&#xff0c;持续构建竞争力特性。同时openGauss也是…...

实时检测并识别视频中的汽车车牌

对于基于摄像头监控的安全系统来说,识别汽车牌照是一项非常重要的任务。我们可以使用一些计算机视觉技术从图像中提取车牌,然后我们可以使用光学字符识别来识别车牌号码。在这里,我将引导您完成此任务的整个过程。 要求: import cv2import numpy as npfrom skimage impor…...

使用 pyspark 进行 Clustering 的简单例子 -- KMeans

K-means算法适合于简单的聚类问题,但可能不适用于复杂的聚类问题。此外,在使用K-means算法之前,需要对数据进行预处理和缩放,以避免偏差。 K-means是一种聚类算法,它将数据点分为不同的簇或组。Pyspark实现的K-means算法基本遵循以下步骤: 随机选择K个点作为初始质心。根…...

LeetCode75——Day22

文章目录 一、题目二、题解 一、题目 1657. Determine if Two Strings Are Close Two strings are considered close if you can attain one from the other using the following operations: Operation 1: Swap any two existing characters. For example, abcde -> aec…...

【SOC基础】单片机学习案例汇总 Part1:电机驱动、点亮LED

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…...

【HTML】HTML基础知识扫盲

1、什么是HTML&#xff1f; HTML是超文本标记语言&#xff08;Hyper Text Markup Language&#xff09;是用来描述网页的一种语言 注意&#xff1a; HTML不是编程语言&#xff0c;而是标记语言 HTML文件也可以直接称为网页&#xff0c;浏览器的作用就是读取HTML文件&#xff…...

【Mybatis-Plus】常见的@table类注解

目录 引入Mybatis-Plus依赖 TableName 当实体类的类名在转成小写后和数据库表名相同时 当实体类的类名在转成小写后和数据库表名不相同时 Tableld TableField 当数据库字段名与实体类成员不一致 成员变量名以is开头&#xff0c;且是布尔值 ​编辑 成员变量名与数据库关…...

Android WMS——操作View(七)

上一篇文章我们将 view 传递给 ViewRootImpl 进行操作,这里我们主要分析 ViewRootImpl 对 View 进行操作。在正式分析之前我们先来介绍以下 View。 一、View介绍 最开始学习 View 的时候最先分析的是它的布局(LinearLayout、FrameLayout、TableLayout、RelativeLayout、Abso…...

算法__数组排序_冒泡排序直接选择排序快速排序

文章目录 冒泡排序算法说明代码实现 直接选择排序算法说明代码实现 快速排序算法说明代码实现 本篇主要讲解数组排序相关的三种算法&#xff0c;冒泡排序&#xff0c;直接排序和快速排序。 冒泡排序 算法说明 在数组中依次比较相邻的两个元素&#xff0c;当满足左侧大于右侧时…...

ByteBuffer的原理和使用详解

ByteBuffer是字节缓冲区&#xff0c;主要用户读取和缓存字节数据&#xff0c;多用于网络编程&#xff0c;原生的类&#xff0c;存在不好用&#xff0c;Netty采用自己的ByteBuff&#xff0c;对其进行了改进 1.ByteBuffer的2种创建方式 1.ByteBuffer buf ByteBuffer.allocate(i…...