第十一届蓝桥杯 ——矩阵

2023-11-11

问题描述
把 1 ∼ 2020 放在 2 × 1010 的矩阵里。

要求同一行中右边的比左边大,同一列中下边的比上边的大。一共有多少种方案?

答案很大,你只需要给出方案数除以 2020 的余数即可。

答案提交
这是一道结果填空题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


答案:1340


题解
动态规划:

f[i][j]:所有第一行有 i 个数字,第二行有 j 个数字的方案数量;

决策

  1. 将当前数放在第一行:f[i][j] += f[i - 1][j]
  2. 将当前数放在第二行:f[i][j] += f[i][j - 1]
#include <iostream>
using namespace std;

int f[1020][1020];

int main()
{
    f[0][0] = 1;                                   // 两行一个数字都不放,也是一种方案
    for (int i = 0; i <= 1010; i ++)
        for (int j = 0; j <= i; j ++)
        {
            if(i - 1 >= j)                         // 转移前的状态也要合法,即第一行的数量不小于第二行的数量
            	f[i][j] += f[i - 1][j] % 2020;
            if(j - 1 >= 0)
            	f[i][j] += f[i][j - 1] % 2020;
        }
        
    cout << f[1010][1010] << endl;   
    return 0;
}

ps:发现这道题目来源于《算法竞赛进阶指南》,原题是 【杨老师的照相排列】,只不过是超级弱化版,果然多做题才能长见识

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第十一届蓝桥杯 ——矩阵 的相关文章

  • 数据结构——图的广度优先遍历(BFS)

    本文内图的存储方式是邻接矩阵 不过BFS的具体实现代码与图的存储结构无关 BFS的遍历方法 与树的层次遍历几乎一样 在实现树的层次遍历时 需要找到结点的所有子结点 在实现BFS时 需要找到该结点的所有邻接点 所以在实现BFS之前 需要先学习
  • VS2010 的卸载方法

    如何完全卸载VS2010 亲自体验过 1 首先用360卸载 当卸载完成后 提示有残余的话 就强力清除 PS 笔者使用专用卸载工具 IobitUninstaller 工具 此工具是单文件 免安装 它的特点是拥有360安全卫士 金山安全卫士 Q
  • 复制虚拟机后无法上网的问题

    1 背景 虚拟机用的是VMWare为了得到新的环境 而又不想每次都重装虚拟机 于是某天我复制了一台待机的虚拟机 然鹅它起来后却上不了网 无论我设了静态ip还是动态ip都不行 2 解决方法 问了下chatgpt 说是因为虚拟机的MAC地址冲突
  • 第十五章 AlibabaCloud微服务下的分布式配置中⼼

    1 微服务下的分布式配置中 现在微服务存在的问题 配置 件增多 不好维护 修改配置 件需要重新发布 什么是配置中 句话 统 管理配置 快速切换各个环境的配置 相关产品 百度的disconf 地址 https github com knigh
  • DolphinScheduler跨版本升级1.3.8至3.0.1

    DolphinScheduler跨版本升级1 3 8至3 0 1 Refer 背景 基础环境 依赖版本升级 修改pom xml 问题解决 MYSQL升级 1 文件替换 2 修改表结构 t ds process definition t ds
  • 三菱PLC 红绿灯 步进指令 STL

    自己写的红绿灯 有启动 停止两个按钮 南北通行4S 东西通行5S 链接 https caiyun 139 com m i 0E5CJEoVGt4D0 提取码 kVOA SET 启动 启动标志 RST 启动 停止标志 SET 停止 停止标志
  • 实例讲解MOS管电源开关电路的软启动

    看到一篇文章 作者在做一款大电压 大电流供电的产品 测试发现启动时的冲击电流很大 最大达到了14 2A 见下图示波器通道2的蓝色波形 通道4的绿色波形是采样电阻的电压 当时作者没有经验 不知道如何去解决 后来同事指点说 解决这个问题需要增加
  • C++总结笔记(十)——堆区内存开辟数组和二级指针

    文章目录 一 堆区开辟数组 1 数组指针与指针数组的区别 2 1维数组 3 2维数组 二 二级指针 一 堆区开辟数组 1 数组指针与指针数组的区别 数组指针是指指向数组的指针 它的本体是一个指针 声明指针变量的时候一般用括号 因为括号的优先
  • 解决 invalid user: VMessAEAD is enforced and a non VMessAEAD connection is received.

    2023 01 31 10 27 56 111 181 19 37 45288 rejected common drain common drain unable to drain connection gt EOF gt proxy vm

随机推荐

  • java-实现网页代码的爬取

    爬取一个网页的内容 当然相对路径以及样式都复制不过来 只能复制这个文件的内容 先将所有异常使用Throws抛出的话 import java io BufferedInputStream import java io BufferedOutp
  • ubuntu 安装 nginx

    apt get安装nginx 1 切换到root用户安装 安装最好用root用户安装 不然很多文件权限的报错会让人崩溃 sudo su root apt get install nginx 安装 nginx v 查看安装版本 service
  • 蓝桥杯单片机备考必看内容,学习一周,保底省三!

    这里我先把我弄到的历年考试类型给大家 但是这图只能参考 经历这届蓝桥杯我深有体会 考试当天早上我还在想要不要看看矩阵键盘 但是想着这个考点概率就没去看隔着摆烂 结果真考了按键12 13 16 17的运用 但是有一点要说的是 这届选择题很多历
  • Java获取Process进程ID,并杀掉相应的进程树

    在使用java过程中 很多人可能遇到过这样的问题 当我们通过cmd exe执行命令的时候 如下 Runtime rt Runtime getRuntime Process process rt exec cmd java会在后台进程中开启一
  • 执行yum install时,终端一直刷重复的内容

    执行yum install时 终端一直刷重复的内容 看起来不像报错 可是又无休止的刷 起因 启动nginx报错 说找不到libcrypto so 6 这是因为缺少openssl相关包 于是执行下载 yum install openssl 发
  • 【PTA】 试试手气

    我们知道一个骰子有 6 个面 分别刻了 1 到 6 个点 下面给你 6 个骰子的初始状态 即它们朝上一面的点数 让你一把抓起摇出另一套结果 假设你摇骰子的手段特别精妙 每次摇出的结果都满足以下两个条件 1 每个骰子摇出的点数都跟它之前任何一
  • 第四章 函数式编程(Lambda表达式&Stream流)

    一 Lambda表达式 特点 是匿名函数 2是可传递 匿名函数 需要一个函数 但又不想命名一个函数的场景下使用lambda表达式 使用lambda表达式时函数内容应该简单 可传递 将lambda表达式传递给其他的函数 它当做参数 lambd
  • 汽车安全标准ISO-26262以及等级ASIL

    1 什么是ISO 26262 为了保证即使出现部分电子器件故障 汽车系统也能在短期 故障容错时间内 内安全进行 2011年11月 ISO International Organization for Standardization 国际标准
  • 【12月海口】2022年第六届船舶,海洋与海事工程国际会议(NAOME 2022)

    2022年第六届船舶 海洋与海事工程国际会议 NAOME 2022 重要信息 会议网址 www icnaome org 会议时间 2022年12月23 25日 召开地点 海南 海口 截稿时间 2022年10月20日 录用通知 投稿后2周内
  • 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(java+python)

    给定一个二叉搜索树 找到该树中两个指定节点的最近公共祖先 百度百科中最近公共祖先的定义为 对于有根树 T 的两个结点 p q 最近公共祖先表示为一个结点 x 满足 x 是 p q 的祖先且 x 的深度尽可能大 一个节点也可以是它自己的祖先
  • go实现命令行拷贝文件

    package main import flag fmt bufio os strings io func FileExists dst string bool err os Stat dst return err nil os IsExi
  • docker命令、操作、部署服务器

    亲测有效 买了腾讯云 安装了centos8 0 进行docker操作 视频教学 https www bilibili com video BV1CJ411T7BK p 28 spm id from pageDriver vd source
  • Mysql驱动包下载

    第一步 下载地址 MySQL Download Connector J 第二步 第三步 第四步 解压 第五步 找到驱动包 放入项目使用即可
  • 知识图谱简介

    1 什么是知识图谱 知识图谱的概念是由谷歌公司于2012年5月17日首次提出 旨在描述客观世界的概念 实体 事件及其之间的关系 并作为构建下一代智能化搜索引擎的核心基础 通俗地讲 知识图谱就是把所有不同种类的信息连接在一起而得到的一个关系网
  • 如何最高效实现手机~电脑端文件传输?

    平常使用电脑办公的时候 经常会有把手机上的文件传到电脑或把电脑上的文件分发给局域网 内网 的各个伙伴的情况 通常我们会选择使用QQ或微信的文件传输功能来实现 但是当文件比较大 比较多时 就无法发送了 再者每次通过文件助手来发送文件时 其本质
  • 软件测试项目管理平台

    系统组成 STM软件测试项目管理系统采用C S软件架构 是一个多人协同工作的环境 数据库服务器端部署SQL Server数据库 包括人力资源数据库 设备资源数据库 项目管理数据库 测试项目数据库 历史归档数据库 客户端部署软件测试项目管理系
  • 从瞳孔的扩张收缩提取大脑EEG的delta,theta,alpha,beta,gamma等信号信息

    展示得到的结果图 直接上代码 import pandas as pd from scipy signal import find peaks from scipy fftpack import fft fftshift ifft impor
  • 【C语言刷LeetCode】300. 最长上升子序列(M)

    给定一个无序的整数数组 找到其中最长上升子序列的长度 示例 输入 10 9 2 5 3 7 101 18 输出 4 解释 最长的上升子序列是 2 3 7 101 它的长度是 4 说明 可能会有多种最长上升子序列的组合 你只需要输出对应的长度
  • (个人)AR电子书系统创新实训第二周(1)

    从头实现一个识别二维码的Unity项目 通过上次大致了解了ZXing Net的基本使用方法后 此次我决定使用它和unity制作一个简单的测试项目 以检验其功能是否满足要求 具体步骤如下 1 创建Unity项目 将zxing unity dl
  • 第十一届蓝桥杯 ——矩阵

    问题描述 把 1 2020 放在 2 1010 的矩阵里 要求同一行中右边的比左边大 同一列中下边的比上边的大 一共有多少种方案 答案很大 你只需要给出方案数除以 2020 的余数即可 答案提交 这是一道结果填空题 你只需要算出结果后提交即
Powered by Hwhale