【按位考虑DP】代码源每日一题div1 2023.02.02 与

news2024/11/18 6:21:57

与 - 题目 - Daimayuan Online Judge

这太酷了,很符合我对DP的想象

这DP太妙了,我还没做过这种按位考虑DP的题

题意:

思路:

首先看第二个条件,一个数与后面的那个数与了之后还是后面那个数,这说明什么

我们按位考虑,比如这样:

10010111

10000101

这样就是满足条件的

归纳一下就是:对于n个数每一位,都是前面几个数是1,后面几个数是0

然后我们去从高位到低位去考虑DP(低位到高位也可以,不影响,只不过习惯从高到低了)

状态设计:

像这种计数类的DP,在设计状态时,考虑转移时需要考虑的量,即限制条件

限制条件是和,因此加一维

设dp[i][j]为考虑第i位,前i位的和为j的方案数

这样设计显然是不重不漏的

状态转移:

当然是从前一位转移过来

先去枚举阶段(位),然后去枚举1和0的分界线,然后去枚举和,转移就好了

注意在枚举和的时候,要注意上下界

上界就是K,下界是第i位是1,前面的位都是0产生的和

Code:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define Please_ac return 0 
#define y1 Y1
const int mxn=1e4+10;
const int mod=1e9+7;
int n,K;
int dp[33][mxn];
void solve(){
    cin>>n>>K;
    dp[31][0]=1;
    for(int j=30;j>=0;j--){
        for(int i=0;i<=n;i++){
            int w=i*(1<<j);
            for(int k=K;k>=w;k--){
                dp[j][k]+=dp[j+1][k-w];
                dp[j][k]%=mod;
            }
        }
    }
    cout<<dp[0][K]<<'\n';
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int __=1;//cin>>__;
    while(__--)solve();Please_ac;
}

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

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

相关文章

快速入门KMM和Compose Multiplatform

一、前言 最近才有空&#xff0c;想起来Compose-jb和kmm这2个框架&#xff0c;就来个快速入门指南吧。 什么是KMM (Kotlin Multiplatform Mobile) KMM用于简化跨平台开发&#xff0c;可以在Android和IOS之间共享通用的代码。 仅在使用各自平台能力的时候&#xff0c;才会去编…

解决前端组件渲染没更新数据问题

问题&#xff1a; 使用前端日期控件时 - 数据联动时数据绑定无效问题 现象&#xff1a; 选择A日期&#xff0c;想动态改变B日期数据&#xff0c;只有第一次选择时会动态改变B日期数据&#xff0c;第二次选择A日期时&#xff0c;B日期数据虽已改变&#xff0c;但是页面数据未改变…

电子邮件备份软件:Email Backup Wizard Crack

适用于所有用户的电子邮件备份软件 在您的计算机、台式机或硬盘驱动器上本地创建您的电子邮件帐户的备份。 下载并保存电子邮件以备后用。 如果您想备份和移动服务器电子邮件&#xff0c;请尽快获取备份工具。 通过简单直观的功能获得强大的结果 苹果系统邮箱备份向导 - 批量下…

C++ · 类和对象 · 03 | 深化理解

啊我摔倒了..有没有人扶我起来学习.... &#x1f471;个人主页&#xff1a;《CGod的个人主页》\color{Darkorange}{《CGod的个人主页》}《CGod的个人主页》交个朋友叭~ &#x1f492;个人社区&#xff1a;《编程成神技术交流社区》\color{Darkorange}{《编程成神技术交流社区》…

Python tkinter -- 第18章 画布控件之椭圆

**18.2.18 create_oval(bbox, options) 根据限定矩形 bbox 在画布上创建一个椭圆。 &#xff08;1&#xff09;bbox&#xff1a;定义要创建对象的边界(x1, y1, x2, y2) &#xff08;2&#xff09;options:创建椭圆的选项。选项的具体含义&#xff1a; 选项含义activedash当鼠标…

微信小程序+前端+天行数据垃圾图像识别接口API

文章目录 前言 步骤 1. 去到天行数据官网注册账号&#xff0c;去到接口的介绍网站 2. 去测试网站&#xff0c;先看看请求的格式 3. 小程序端我采用的是把网站上的url链接的网络图片转成base64编码后的形式作为传入参数&#xff0c;这里需要有点基础&#xff0c;因为只给上了…

JVM基础 - 类加载的过程

类加载的过程加载验证准备解析初始化使用卸载其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中&#xff0c;加载、验证、准备和初始化这四个阶段发生的顺序是确定的。而解析阶段则不一定&#xff0c;它在某些情况下可以在初始化阶段之后开始&…

RFID技术在生产企业的集成应用分析

RFID技术在生产企业的集成应用分析1.RFID的主要功能RFID自动识别功能RFID标签的主要核心部件是一个电子芯片&#xff0c;芯片中存储着能够识别目标的信息。RFID标签具有持久性、信息接收传播穿透性强、存储信息容量大、种类多等特点。有些RFID标签支持读写功能&#xff0c;目标…

CHAPTER 15 Mesos(一)

Mesos-优秀的集群资源调度平台15.1 Mesos简介15.2 Mesos安装与使用1. 安装1. 源码编译2. 软件源安装3. Docker方式安装2. 配置说明1. ZooKeepr2. Mesos3. Marathon3.访问Mesos图形界面4.访问Marathon图形界面1. 通过界面方式2. REST API方式15.3 原理与架构1. 架构2. 基本单元3…

CentOS7中安装Hadoop3详细步骤

目录 (一)新建一个虚拟机 (二)配置网络 (三)安装vim工具 (四)设置ssh免密登录 (五)设置时间同步 (六)修改主机名 1.方法一 2.方法二 (七)给主机文件添加IP名称映射 (八)安装JDK8 (九)安装Hadoop 1.打开Xftp&#xff0c;连接虚拟机&#xff0c;在/opt目录下新建两个…

[引擎开发] 现代图形API - metal篇

Metal是苹果开发的图形计算接口&#xff0c;它是在移动端出现的比较早的现代图形API。本文将更侧重于移动端&#xff08;IOS&#xff09;&#xff0c;对metal的API做一个大致的引入介绍。 Apple GPU概述 在我们对Metal进行介绍前&#xff0c;先来了解一下Apple GPU。 Apple GP…

Linux常用命令——printf命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) printf 格式化并输出结果 补充说明 printf命令格式化并输出结果到标准输出。 语法 printf(选项)(参数) --help&#xff1a;在线帮助&#xff1b; --version&#xff1a;显示版本信息。参数 输出格式&#x…

第1讲 谈谈你对Java平台的理解?

第1讲 | 谈谈你对Java平台的理解&#xff1f; 从你接触 Java 开发到现在&#xff0c;你对 Java 最直观的印象是什么呢&#xff1f;是它宣传的 “Write once, run anywhere”&#xff0c;还是目前看已经有些过于形式主义的语法呢&#xff1f;你对于 Java 平台到底了解到什么程度…

《你不会还没入门jvm调优吧》之前置知识

该文章为科普文&#xff0c;所以很多细节涉及不到&#xff0c;旨在指引入门&#xff0c;同事在聊的时候不至于插不上话&#xff0c;顺带回顾部分JVM相关知识。准备好了吗&#xff0c;开始发车。如有不正确的地方&#xff0c;欢迎批评指正。 目录 JVM调优调的到底是什么 回顾…

Linux(CentOS 7)--gdb的基本调试指令

一下面的代码为例介绍一下linux中&#xff0c;gdb调试的基本指令 创建一个文件myfile.c&#xff0c;文件代码内容如下 1 #include <stdio.h>2 3 int Add(int x, int y)4 {5 6 return xy; …

高性能消息队列中间件MQ_part2

接上一篇part1的内容 RabbitMQ通配符模式_编写消费者 接下来我们编写通配符模式的消费者&#xff1a; // 站内信消费者 public class Customer_Station {public static void main(String[] args) throws IOException, TimeoutException {// 1.创建连接工厂ConnectionFactory…

springboot引入flink,maven打包插件需替换

目录说明说明 springboot引入flink后&#xff0c;如果要打包&#xff0c;传统的maven不行&#xff0c;要更换指定插件 <build><finalName>flink</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><art…

CMake 混编c和c++代码

准备工作 wsl 或者 有linux 系统(购买阿里云或者其他云服务器&#xff09;cmake, gcc, git 等一些必要的软件安装 环境 windows 下 的 wsl wsl 安装下载 例子 拿 Unix网络编程 举例, 作者对原生接口进行了封装, 我们需要编译使用在自己的工程 1. 创建空文件 cd E:\githu…

网络流量监控对OA系统性能分析案例

需求简介 某外高桥公司的OA系统是其重要的业务系统&#xff0c;OA系统负责人表示&#xff0c;部分用户反馈&#xff0c;访问OA系统时比较慢。需要通过分析系统看一下实际情况。 报告内容 本报告内容主要为&#xff1a;OA性能整体分析 分析时间 报告分析时间范围为&#xf…

同一条好友邀请信息给大量的人发,会导致领英账号被封吗?

做外贸的领英新人经常有一个问题&#xff1a;领英上添加好友时&#xff0c;同一条好友邀请信息给大量的人发&#xff0c;会导致领英账号被封吗&#xff1f; 这是一个被一部分人所忽略&#xff0c;也在被一部分人所担心的问题&#xff0c;因为很多领英新手都是在复制粘贴发送相…