动态规划数学问题前缀思想

news2024/9/21 14:47:14

前言:看到这个题目,感觉有点像动态规划,因为数据量有点大,不可能去枚举所有的情况
我们定义 dp[ i ] 为以 a[ i ] 结尾的方案数,用变量qian 记录 i 之前的所有枚举的情况

如果 a[ i ] 是奇数,那么 qian = qian * 2 +1 ,这可以认为取与不取 a[ i ] ,这就有 qian * 2 种方案 , 还可以自己成为一个数,这就需要加上 1
如果是偶数,还需要分 0 和 非 0 ,如果是 0 ,dp[ i ] = 1 + qian , qian = qian *2 ,;
非 0 的话就是 dp[ i ] = 1 + qian , qian = qian * 2 +1

自己想出转移方程的感觉真好


在这里插入图片描述

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

int n;
string s;
const int N = (int)2e5+5;
const int Mod = (int)1e9+7;
int a[N];
int b[N];

int main(){
	cin >> n ; cin >> s;
	for(int i=0;i<n;i++){
		a[i+1] = s[i] - '0';
	}
	int qian = 0;
	int ans = 0;
	for(int i=1;i<=n;i++){
		if(a[i]==0){
			ans += 1; // 加上自己 
			ans += qian;
			qian = qian * 2 % Mod;
		}else if((a[i]&1)==0){
			ans += 1;
			ans += qian;
			qian = (qian*2+1) % Mod;
		}else{
			qian = (qian*2+1) % Mod;
		}
		ans %= Mod;
	}
	cout << ans;
	return 0;
}

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

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

相关文章

浅谈面向数据报的协议-UDP协议

1.什么是网络协议 协议用通俗的话来说就是约定&#xff0c;因为计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式. 计算机生产厂商有很多; 计算机操作系统, …

AI人工智能的发展历史

人工智能的发展历史 在人工智能&#xff08;AI&#xff09;的发展历史中&#xff0c;我们见证了一系列巨大的突破和进展。人工智能是一门研究如何使计算机能够模仿人类智能的科学与技术。其发展可以追溯到1950年代&#xff0c;而如今&#xff0c;AI已经渗透到我们生活的各个领域…

JNPF快速开发平台让业务活起来

在当前数字化转型的浪潮中&#xff0c;企业正面临着前所未有的挑战&#xff0c;这些挑战主要体现在两个方面&#xff1a;一是需要迅速地响应市场上的各种变化&#xff0c;二是必须不断提升业务流程的效率。传统的软件开发模式通常伴随着时间消耗长、成本投入高以及难以迅速适应…

Docker网络模式及通信

一、Docker默认的网络通信 1.1 Docker安装后默认的网络设置 Docker服务器安装完成之后&#xff0c;默认在每个宿主机会生成一个名称为docker0的网卡&#xff0c;其IP地址都是172.17.0.1/16 [rootubuntu1804 ~]#apt -y install bridge-utils [rootubuntu1804 ~]#brctl show 另…

2024年新SCI顶刊算法红嘴蓝鹊优化器RBMO优化Transformer模型的多变量时间序列预测

matlab R2024a以上 一、数据集 二、2024年新SCI顶刊算法红嘴蓝鹊优化器RBMO 红嘴蓝鹊优化算法(Red-billed blue magpie optimizer, RBMO)是一种新型的元启发式算法&#xff08;智能优化算法&#xff09;&#xff0c;灵感来源于红嘴蓝鹊的合作、高效的捕食行为。 该成果由Shen…

005集——运算符和循环——C#学习笔记

C# 提供了许多运算符。 其中许多都受到内置类型的支持&#xff0c;可用于对这些类型的值执行基本操作。 这些运算符包括以下组&#xff1a; 算术运算符&#xff0c;将对数值操作数执行算术运算比较运算符&#xff0c;将比较数值操作数布尔逻辑运算符&#xff0c;将对 bool 操作…

基于医院临床数据中心而建立的ADR药品智能监测上报系统,源码支持二次开发

ADR监测上报系统是基于医院临床数据中心而建立&#xff0c;运用信息技术实现药品不良反应的智能监测、报告管理、知识库查询、统计分析等功能。 系统自动提取不良反应报告数据&#xff0c;主动实时监测临床发生的不良反应&#xff0c;第一时间反馈到ADR监测组&#xff0c;及时…

邀请函 I 松下信息和望繁信科技邀您参加「数智时代下大数据应用的“道”与“术”」闭门会议

在数字化浪潮席卷全球的今天&#xff0c;大数据与智能化的结合成为企业成功的关键。为了深入探讨这一重要议题&#xff0c;松下信息系统&#xff08;上海&#xff09;有限公司&#xff08;简称“松下信息”&#xff09;与上海望繁信科技有限公司&#xff08;简称“望繁信科技”…

2024年最新AI算力厂商排名!

随着人工智能技术的飞速发展&#xff0c;AI算力已成为衡量一个国家或企业在AI领域竞争力的重要指标。2024年&#xff0c;全球AI算力领域再度迎来新的突破与变革&#xff0c;不仅体现在技术创新的深度和广度上&#xff0c;更在应用场景和市场价值上展现出巨大的潜力。 众厂商排名…

扩展01:企业级Nginx+Keepalived双主架构实战

NginxKeepalived主备架构总是会有一台服务器处于空闲状态&#xff0c;这样会造成资源的浪费&#xff0c;所以为了能够将两台服务器都利用起来&#xff0c;我们需要借助NginxKeepalived双主架构来实现。即是对外两个VIP地址&#xff0c;同时接收请求。 一&#xff1a;Nginxkeep…

生成订单幂等性(防止订单重复提交)

订单唯一性(防止重复下单)方案 重复下单产生原因&#xff1a; 客户端原因&#xff1a; 比如下单的按键在点按之后&#xff0c;在没有收到服务器请求之前&#xff0c;按键的状态没有设为已禁用状态&#xff0c;还可以被按。又或者&#xff0c;在触摸屏下&#xff0c;用户手指…

15秒完成作文自动批阅!璞公英与恩施三中正式签约试点,AI 大模型自动批阅+精准教学助力学校教育升级!

在国家大力推动教育数字化战略行动的浪潮中&#xff0c;通过科技创新赋能教育&#xff0c;促进教育公平与质量双提升的重要签约仪式&#xff0c;于恩施市第三高级中学隆重举行。一直以来&#xff0c;恩施市第三高级中学积极寻求创新与突破&#xff0c;引入璞公英的先进教育技术…

MyBatis动态SQL标签2

4.choose (when, otherwise)标签是使用举例 类似switch...case&#xff0c;从上到下匹配&#xff0c;找到匹配的条件&#xff0c;就结束匹配其他的&#xff01; 5.set标签是使用举例 set这个标签是用在更新操作上的 set标签代替sql中的set关键字&#xff0c;可以把set语句后多…

DC-8靶机渗透测试

DC-8靶机 文章目录 DC-8靶机信息收集web渗透获取权限权限提升靶机总结 信息收集 1.nmap扫描出主机IP为192.168.78.156 开放80和22端口&#xff0c;没扫出来什么漏洞&#xff0c;但是发现robots.txt文件&#xff0c;给出了后台登录地址/usr/login web渗透 1.登陆到主页发现是…

Java有哪些数据类型?

Java有哪些数据类型 1. 基本数据类型 2. 引用数据类型 3. 总结 &#x1f388;边走、边悟&#x1f388;迟早会好 Java 中的数据类型分为两大类&#xff1a;基本数据类型&#xff08;primitive types&#xff09;和引用数据类型&#xff08;reference types&#xff09;。 …

代发考生战报:8月6号 西安 ,HCIE存储H13-629考试通过

代发考生战报&#xff1a;8月6号 西安 &#xff0c;HCIE存储H13-629考试通过&#xff0c;目前这个考试变题了&#xff0c;我找客服买的包过服务&#xff0c;有老师指导&#xff0c;考试通过了&#xff0c;里面的新题我看了&#xff0c;我是一点也不会&#xff0c;自己考的还是不…

Java代码混淆加密之Xjar

使用背景 代码安全性需求&#xff1a;在交付给客户或第三方时&#xff0c;保护源代码不被泄露或反编译是许多企业的核心需求。尤其是在竞争激烈的市场中&#xff0c;代码泄露可能导致严重的经济损失。 传统工具的局限性&#xff1a;虽然有很多混淆和加密工具&#xff0c;比如 …

【学习笔记】用线段树维护区间计数问题

前言 简单的区间计数问题可能直接推式子就行了。 但有些问题必须要数据结构维护。线段树就是一个比较好的处理区间的数据结构。 Gym102222L 思路 满足条件的区间特征&#xff1a; max ⁡ { a i } − min ⁡ { a i } 1 − c n t 0 \max\{a_i\}-\min\{a_i\}1-cnt0 max{ai​}…

uniapp离线打包热更新失败-AndroidStudio离线打包apk后无法下载打开-热更新失败-plus.runtime.install失败

效果图 仅安卓 前言 1.plus.runtime.install一直fail(20240808), uni.openDocument可以打开本地apk文件 2.权限问题需小心 跑通前提 1.先确定apk地址有效&#xff0c;浏览器中手动下载可安装 2.确保已添加离线打包AndroidStudio的“android.permission.INSTALL_PACKAGES”权…

初识自然语言处理NLP

文章目录 1、简介2、自然语言处理的发展简史3、语言学理论句法学&#xff08;Syntax&#xff09;语义学&#xff08;Semantics&#xff09;语用学&#xff08;Pragmatics&#xff09;形态学&#xff08;Morphology&#xff09; 4、统计与机器学习方法n-gram 模型隐马尔可夫模型…