Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array 【dp】

Arm-Linux嵌入式开发:Qt与MQTT客户端框架实战 MQTT协议作为轻量级物联网通信标准,在嵌入式设备中广泛用于数据上报与指令接收。其基于发布/订阅模式,通过TCP/IP实现异步消息传输,支持QoS等级保障可靠性。在Arm-Linux平台上,结合Qt框架开发带界面的设备时,需解决交叉编译、库移植及线程安全等工程问题。典型应用场景包括工控触摸屏、传感器数据采集与远程控制。本文分享一套Qt集成Paho MQTT C库的客户端框架,涵盖自动重连、消息缓存与界面联动,助力嵌入式物联网项目快速落地。 阅读详情

传送门:http://codeforces.com/contest/1105/problem/C

C. Ayoub and Lost Array

time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Ayoub had an array aa of integers of size nn and this array had two interesting properties:

  • All the integers in the array were between ll and rr (inclusive).
  • The sum of all the elements was divisible by 33.

Unfortunately, Ayoub has lost his array, but he remembers the size of the array nn and the numbers ll and rr, so he asked you to find the number of ways to restore the array.

Since the answer could be very large, print it modulo 109+7109+7 (i.e. the remainder when dividing by 109+7109+7). In case there are no satisfying arrays (Ayoub has a wrong memory), print 00.

Input

The first and only line contains three integers nn, ll and rr (1≤n≤2⋅105,1≤l≤r≤1091≤n≤2⋅105,1≤l≤r≤109) — the size of the lost array and the range of numbers in the array.

Output

Print the remainder when dividing by 109+7109+7 the number of ways to restore the array.

Examples
input
Copy
2 1 3
output
Copy
3
input
Copy
3 2 2
output
Copy
1
input
Copy
9 9 99
output
Copy
711426616
Note

In the first example, the possible arrays are : [1,2],[2,1],[3,3][1,2],[2,1],[3,3].

In the second example, the only possible array is [2,2,2][2,2,2].

 

题意概括:

要求构造一个长度为 N 的序列,

要求:

1、序列里的数由 【L, R】区间里的数构成。

2、序列里的数值和要能整除 3

 

解题思路:

一开始还傻傻地以为有什么神奇的规律.....

其实是一道  DP

状态: dp[ i ][ k ] 累积到当前序列第 i 位的数值和 余 k 的方案数

因为要能整除 3 ,所以 k 只能取 0, 1, 2;

sumi 为 区间 【L,R】的模 3 == i 的值的数量

 

转移方程:

dp[ i ][ 0 ] = dp[i-1][0]*sum0 + dp[i-1][1]*sum2 + dp[i-1][2]*sum1;

dp[ i ][ 1 ] = dp[i-1][0]*sum1 + dp[i-1][1]*sum0 + dp[i-1][2]*sum2;

dp[ i ][ 2 ] = dp[i-1][0]*sum2 + dp[i-1][1]*sum1 + dp[i-1][2]*sum0;

 

AC code:

 1 #include <bits/stdc++.h>
 2 #define INF 0x3f3f3f3f
 3 #define LL long long
 4 using namespace std;
 5 const LL MOD = 1e9+7;
 6 const int MAXN = 2e5+10;
 7 LL ans;
 8 LL dp[MAXN][4];
 9 
10 int main()
11 {
12     LL N, L, R;
13     LL it0 = 0, it1 = 0, it2 = 0;
14     scanf("%I64d %I64d %I64d", &N, &L, &R);
15     LL len = R-L+1;
16     LL c = len/3LL, d =len%3LL;
17     it0 = c; it1 = c; it2 = c;
18     if(d){
19         LL t = d==2?1:0;
20         if(L%3==0) it0++, it1+=t;
21         else if(L%3 == 1) it1++, it2+=t;
22         else it2++,it0+=t;
23     }
24 
25     dp[1][0] = it0;
26     dp[1][1] = it1;
27     dp[1][2] = it2;
28 
29     for(int i = 2; i <= N; i++){
30         dp[i][0] = ((dp[i-1][0]*it0)%MOD + (dp[i-1][1]*it2)%MOD + (dp[i-1][2]*it1)%MOD)%MOD;
31 
32         dp[i][1] = ((dp[i-1][1]*it0)%MOD + (dp[i-1][0]*it1)%MOD + (dp[i-1][2]*it2)%MOD)%MOD;
33 
34         dp[i][2] = ((dp[i-1][2]*it0)%MOD + (dp[i-1][1]*it1)%MOD + (dp[i-1][0]*it2)%MOD)%MOD;
35 
36     }
37 
38     printf("%I64d\n", dp[N][0]%MOD);
39     return 0;
40 
41 }

 

YOLO26算法心电图十二导联目标检测+训练好的模型+368张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[导联I(I), 导联II(II), 导联III(III), 胸导联V1(V1), 胸导联V2(V2), 胸导联V3(V3), 胸导联V4(V4), 胸导联V5(V5), 胸导联V6(V6), 加压肢体导联aVF(aVF), 加压肢体导联aVL(aVL), 加压肢体导联aVR(aVR)] · 训练集:313 张 · 验证集:37 张 · 测试集:18 张 · 总计:368 张 该数据集聚焦于临床心电图信号的精准识别与定位,其核心检测目标为标准12导联心电图中的各个独立导联波形区域,涵盖肢体导联(I、II、III)与加压肢体导联(aVR、aVL、aVF),以及胸前导联(V1至V6),适用于心电图自动分析系统中对各导联位置的快速准确标注与分类。数据采集场景真实还原了医院心电图室或急诊监护环境下的标准心电图记录纸,波形清晰、基线稳定,具有高度临床参考价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 57 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9708** mAP50-95 | 0.6344 Precision | 0.8990 Recall | 0.9191 train/box_loss | 1.2231 train/cls_loss | 0.9703 val/box_loss | 1.2779 val/cls_loss | 0.... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载

相关推荐

钣金件设计规范

为保证折弯 强度,钣金折弯钣金应大于材料的最小折弯半径。在设计U型弯曲件时,两弯曲边最好长度相等,以免弯曲时产品偏 移而产生废品,如果因为结构设计不允许两边一样长,为保证产品在模 具中准确定位,应预先在设计时添加工艺定位孔,特别是多次折弯成 形的零件,必须设计工艺孔为定位基准,以减少累计误差,保证产品 质量,如图2-11所示。凸包是依靠材料的延伸使钣金件形成局部凹陷或凸起的冲压工序凸包与拉深是完全不同的冲压工艺,凸包中材料厚度的改变为费意图性 的,即厚度的少量改变是变形过程中形成的,不是设计指定的要求。

制冷技术咨询与服务的博客 7320

Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array 区间满足被3整除的数组的个数

 C. Ayoub and Lost Array /** 题意:将[l,r]的数字填进长度为n的数组,问:满足数组的和为3的倍数的数组的个数; 经典数位dp:由于%3,因此考虑三位0 1 2,分别记录对应区间取余之后0,1,2的个数,最后进行数位dp即可 */ #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &l...

布呗之路 783

李大勇matlab密码,基于MatlabSimulink的太阳能热水系统仿真研究 沈超.doc

基于MatlabSimulink的太阳能热水系统仿真研究 沈超中国工程热物理学会 工程热力学与能源利用 编号:141090基于Matlab/Simulink的太阳能热水系统仿真研究沈 超1 1 余 鹏1 李洪欣1 魏新利2郑州大学土木工程学院,郑州 450001郑州大学化工与能源学院,郑州 45...

weixin_42298437的博客 1340

Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array(dp)

【题目】 C. Ayoub and Lost Array 【...】 我我我回来啦。 前两题做的都比较顺利,到了这题就有点不稳了,一直都比较畏惧这种问你有多少种情况呀的题目。学长都看不下去了看了看题说是简单dp,点拨了一下,然后我:??????老子就是不会dp嘛!!!磨了差不多三十分钟的样子样例过不了,以为是我思路做法出了问题,后来才发现初始化的时候dp[1][1]写成dp[1][2]了/...

菜鸡成长史 363

STM32+OV7670实战:5步搞定低成本人脸识别门禁系统(附完整代码)

本文详细介绍了基于STM32单片机和OV7670摄像头构建低成本离线人脸识别门禁系统的完整实战方案。文章从硬件选型、电路设计避坑入手,逐步讲解了图像采集优化、轻量级人脸检测与LBP特征提取策略,并提供了离线人脸库管理、特征比对以及系统集成的具体实现方法,附有核心代码示例,旨在帮助开发者快速实现可落地的嵌入式视觉应用。

kubernetes8ctl的博客 568

从零上手:基于英飞凌TC377的UDE STK 5.0实战调试指南

本文详细介绍了基于英飞凌TC377芯片和UDE STK 5.0的实战调试指南,涵盖硬件连接、工作空间配置、程序烧录、多核调试等关键步骤。特别针对汽车电子领域常见的多核架构调试难题,提供了断点设置、变量监控等实用技巧,帮助开发者快速上手并优化调试效率。

weixin_30839881的博客 682

零代码玩转Arduino舵机:Visuino图形化编程实现多角度自动摆动

PWM(脉冲宽度调制)是微控制器控制执行器(如舵机、电机)的核心技术之一,其原理是通过调节方波信号的脉冲宽度来编码控制信息。在嵌入式开发与物联网硬件项目中,PWM技术因其实现简单、控制精确而被广泛应用于角度、速度与亮度的调节。对于初学者而言,理解PWM信号如何生成并与硬件交互是入门的关键。传统上,这需要编写代码来操作定时器和寄存器,存在一定门槛。如今,图形化编程工具(如Visuino)通过可视化抽象,将底层PWM信号生成、角度序列管理与时序控制封装成可拖拽的组件,大大降低了学习曲线。这使得开发者无需深入底层

weixin_30485379的博客 416

Hadoop在大数据领域的电商数据分析案例

随着电商行业的迅猛发展,每天都会产生海量的数据,如用户浏览记录、购买行为、商品信息等。如何从这些数据中提取有价值的信息,为电商企业的决策提供支持,成为了电商企业面临的重要问题。Hadoop作为一个开源的分布式计算平台,具有高可靠性、高扩展性和高效性等特点,能够很好地处理大数据。本文的目的就是通过实际案例,详细介绍Hadoop在电商数据分析中的应用,范围涵盖了从数据采集、存储到分析的整个流程。本文首先介绍背景信息,让读者了解Hadoop在电商数据分析中的重要性和应用场景。

Java大师兄的博客 1178

线性dp+数学思维 Codeforces Round #533 (Div. 2) C题 Ayoub and Lost Array

Ayoub and Lost Array Ayoub had an array a of integers of size n and this array had two interesting properties: All the integers in the array were between l and r (inclusive). The sum of all the elements was divisible by 3. Unfortunately, Ayoub has lost his

不知所云的博客 341

让 ABAP 再次优雅:全面认知 ABAP Development Tools for SAP HANA(ADT)与可运行示例

本文介绍了ABAP开发工具ADT(ABAP Development Tools for SAP HANA)的核心概念与价值。ADT是基于Eclipse的现代化ABAP集成开发环境,支持ABAP Platform、S/4HANA等后端开发,提供代码编辑、CDS数据建模、质量检查等全流程功能,相比传统SAP GUI具有显著优势。文章详细阐述了ADT与SAP HANA的关系、关键能力模块(如代码重构、CDS建模、质量管控等),并通过一个制造企业案例说明其实际应用场景。最后提供了ADT安装指南和一个完整的ABAP

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 668

端到端自动驾驶的精准测试场景开发

1. 背景介绍 自动驾驶技术的发展正在改变交通运输的未来,然而,要实现安全可靠的自动驾驶,需要进行大量的测试和验证。端到端自动驾驶系统的测试场景开发是实现这一目标的关键。本文将详细介绍端到端自动驾驶的精准测试场景开发,包括核心概念、算法原理、数学模型、项目实践,以及未来发展趋势。 2. 核心概念与联系

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1318

Codeforces - Ayoub and Lost Array(dp)

Ayoub and Lost Array Codeforces Round #533 (Div. 2) - C. Ayoub and Lost Array B站视频讲解 https://www.bilibili.com/video/av41282261 题意: 大小为 nnn 的数组,数据范围是 [l,r][l,r][l,r],所有数的和被3整除,求满足条件的数组不同的方法数,答案模 1e9...

NaNa 268

【在 WSL2 GUI 中使用 pulseaudio 播放声音】

最近在搞一个Linux项目,由于WSL2中需要用到声音外放,无奈只能潜心研究。后来就使用了一种折中的方式替代,那就是pulseaudio。目前来讲WSL2对硬件外设的支持还是不太友好,关于USB的支持我之前在其他文章中已经论述过了,这里不讨论。1、Windows11别忘记打开声音2、可能有一定延迟,因为是通过网络传输的。3、效果的话只能见仁见智了,如果不能满足要求就安装一个实实在在的Ubuntu吧!

jiexijihe945的博客 4530

Codeforces Round #533 (Div. 2) C Ayoub and Lost Array (level 1)(dp)

C. Ayoub and Lost Array   time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Ayoub had an array aa of integers of size nn and this a...

咸鱼有梦想 349

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array

 题目链接: codeforces.com/contest/1105/problem/C C. Ayoub and Lost Array time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Ayoub had ...

Source_Roc 333

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Codeforces Round #533 (Div. 2)题解 by_Hile

前言:本来在周报上夸下海口说一周补一套Div1,结果发现以前打过的好几场Div2都没补完,于是这几周打算先补了打过的Div2,并且写完题解。 (感觉以前好菜,div2只能出两题(虽然现在还是很菜 A.Salem and Sticks (1100) 题意:有n (1≤n≤1000)n\ (1\leq n \leq 1000)n (1≤n≤1000)个长度分别为ai (...

WHile——World of Hile 337

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C. Ayoub and Lost Array(思维dp)

        Codeforces Round #533 (Div. 2)  分析:用dp做,从一位开始递推,取余0,取余1,取余2,互相组合。然后逐渐到n。   #include&lt;iostream&gt; using namespace std; #define ll long long const ll mod=1e9+7; ll dp[200000+5][5]; ...

vagrancy7的博客 508

Codeforces Round #533 C、D

C. Ayoub and Lost Array 题意 在[l,r]区间中选n个数,使其n个数的和可以被3整除,问有多少种可行的方案。 题解 转换为mod 3的余数,易得在[l,r]中 mod 3 = 0 的数的个数为: y[0]=r/3-l/3。 mod 3 = 1 的数的个数为: y[1]=(r+1)/3-(l+1)/3。 mod 3 = 2 的数的个数为: y[2]=(r+2)/3-(l+2...

Link_Ray的博客 252

Codeforces Round #533 (Div. 2)C. Ayoub and Lost Array

C. Ayoub and Lost Array Ayoub had an array

weixin_30565327的博客 113

Codeforces Round #533 C.Ayoub and Lost Array 解题报告

题目链接 C. Ayoub and Lost Array time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Ayoub had an array a of integers of size n and this array had two ...

zrzzzlll的博客 216

Codeforces Round #533 (Div. 2) C. Ayoub and Lost Array

  题意就是给你一个l和r,要你求一个长度为n的序列有多少种,该序列要满足序列和%3==0.   定义dp[i][j]为处理到第i个数,前i个数之和模3为j的方案数,设l到r模3为0,1,2的数个数分别为a,b,c   则有dp[i][0]=(dp[i-1][0]*a%mod+dp[i-1][1]*c%mod+dp[i-1][2]*b%mod)%mod;         dp[i][1]=(d...

SEIZE THE DAY 295

Codeforces Round #533 C. Ayoub and Lost Array

题面: 传送门 题目描述: 题意很简单:1.数组中的所有整数都在区间[l, r],2.所有元素之和能被3整除。现在知道这个数组的大小,l和r,问:按照题目的要求组成的数组一共有多少种可能。 题目分析: 这道题应该是一道常见的用dp来解决计数的问题。 1.如果忽略所有元素之和能被3整除,那么,按照正常的想法答案肯定是:(r-l+1)n。但是题目多了所有元素之和能被3整除,看似难度...

weixin_30823001的博客 102

Codeforces Round #533(Div. 2) C.Ayoub and Lost Array

链接:https://codeforces.com/contest/1105/problem/C 题意: 给n,l,r。 一个n长的数组每个位置可以填区间l-r的值。 有多少种填法,使得数组每个位置相加的和是3的倍数 思路: 赛后看代码都看不懂的题。 dp, 从1个数组扩展到n个数组, dp[i][j]是加上第i个数组后,分别余0,1,2的个数。 余0则是,i-1余0*自己余0...

weixin_34023863的博客 126
上一篇: Codeforces Round #533 (Div. 2) B. Zuhair and Strings 【模拟】
下一篇: 2018 Multi-University Training Contest 1 Distinct Values 【贪心 + set】
莜莫oO
博客等级 码龄9年 7粉丝 226原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值