hdu2604

news/2024/9/21 8:01:08/文章来源:https://www.cnblogs.com/xiaohuangTX/p/18370352

用f(n)表示n个人满足条件的结果,那么如果最后一个人是m的话,那么前n-1个满足条件即可,就是f(n-1); 
如果最后一个是f那么这个还无法推出结果,那么往前再考虑一位:那么后三位可能是:mmf, fmf, mff, fff,其中fff和fmf不满足题意所以我们不考虑,但是如果是 
mmf的话那么前n-3可以找满足条件的即:f(n-3);如果是mff的话,再往前考虑一位的话只有mmff满足条件即:f(n-4) 
所以f(n)=f(n-1)+f(n-3)+f(n-4),递推会跪,可用矩阵快速幂 
构造一个矩阵: 

 

打表法:

#include<iostream>
using namespace std;
#define N 1000001
#define M 30int res[N][M+1];
void init() {for (int i = 1; i <= M; i++){res[1][i] = 2 % i;res[2][i] = 4 % i;res[3][i] = 6 % i;res[4][i] = 9 % i;for (int j = 5; j < N; j++){res[j][i] = (res[j - 1][i] + res[j - 3][i] + res[j - 4][i]) % i;}}
}int main() {init();int n, m;while (cin >> n >> m){printf("%d\n", res[n][m]);}return 0;
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

半导体器件设计概述

功率半导体体器件简要概述功率半导体的内涵 功率半导体是一类能够在高电压、高电流条件下工作的半导体器件,主要用于开关、控制和转换电能,功率半导体的基本原理可归纳为以下三个方面:截至特性:当功率半导体截至时,其内部的电阻变得很大,从而阻止电流通过,起到开关的作用…

2、coredump文件的配置

1、开启core文件的生成 使用ulimit -a命令查看是否打开core文件,如果大小为0,则表明没有打开,如果非0,则表明打开,本人虚拟机上已经设置为unlimited,所以已经打开(1)临时打开 使用ulimit -c命令打开,如设置为无限制,则使用ulimit -c unlimited (2)永久打开 sudo vi…

feehicms 文件上传

如果文件上传中出现了奇奇怪怪的参数可以试着查看其来源和作用侵权声明 本文章中的所有内容(包括但不限于文字、图像和其他媒体)仅供教育和参考目的。如果在本文章中使用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者所有。 如果您是版权持有人,并且认为…

如何用纯CSS绘制三角形

要用纯CSS绘制三角形,可以通过利用CSS中的border属性来实现。具体来说,核心原理是通过设置不同方向的边框颜色和宽度来形成三角形效果。以下是写技术博客时可以介绍的几个要点: 1. 三角形的基本原理 CSS三角形的关键在于设置一个元素的宽高为0,同时通过边框来创建三角形。例…

QTabWidget自定义样式(仿DotNetBar)

QSS如下,若需要tab栏背景色需要添加ui->tabWidget->setAttribute(Qt::WA_StyledBackground); 语句使background-color生效,这个时候qtdesigner中仍然看不到背景色,但是不要担心它是生效的,只需在属性中勾上autofillbackground即可在designer中预览(该属性在QWidget属…

如何用纯CSS绘制三角形--02

通过结合@keyframes动画,让三角形实现旋转、移动等动态效果代码如下:<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.…

Kettle 9 加密与解密

使用kettle 加密和解密 ,测试环境: win10 + PDI 9.0 (Pentaho Data integation 9.0.0.0-423 ) 1、进入KETTLE的安装目录 如:cd /d E:\DATA-INTERGRATION 命令行执行: encr.bat -kettle 123 可生成 Encrypted 2be98afc86aa7f2e4cb79ce10bec3fd89 ,即为123对应KETTLE生成…

解密财务报表中的关键指标,带你深入理解企业财务状况

一、概述 财务报表中蕴含了丰富的信息,如果我们在解读时没有清晰的思路,忽略重点,就很容易被庞杂的数据搞得晕头转向。本文将从几个关键指标出发,包括资产负债率的分析、净资产收益率的解读,以及如何计算销售复合增长率,帮助大家更有针对性地理解财务报表。 二、财务报表…

Qwen2-Math,新一代数学模型

原文链接:https://qwenlm.github.io/zh/blog/qwen2-math/友情链接 Github:https://github.com/QwenLM/Qwen2-Math Hugging Face:https://huggingface.co/Qwen ModelScope:https://modelscope.cn/organization/qwen Discord:https://discord.gg/yPEP2vHTu4🚨此模型目前主…

【待做】【安全框架】【日志管理平台】

为了更好的了解各业务系统的运行状态,企业通常需要搭建统一的日志中心,并将各业务系统的系统日志、应用程序日志和安全日志传送到日志平台。 系统管理员和业务负责人通过日志,可以详细了解服务器软硬件信息、系统运行状况以及风险,从而及时采取对应的应对措施。一、对比传统…

解决某些安卓系统webview版本低于92无crypto .randomUUID方法

let uuid = crypto.randomUUID(); 提示没crypto这个对象, 经查询后得知是安卓机器内置版本太低,需要自己实现一下 代码如下: function randomUUID() {return 10000000-1000-4000-8000-100000000000.replace(/[018]/g, c =>(+c ^ crypto.getRandomValues(new Uint8Array(1))[…

JavaSE基础知识分享(十一)

今天继续讲Java连接MySQL数据库和Java中的对象流(序列化与反序列化)的知识!写在前面 今天继续讲Java连接MySQL数据库和Java中的对象流(序列化与反序列化)的知识! Java 与 MySQL 连接 要使用 Java 操作 MySQL 数据库,我们需要通过 JDBC(Java Database Connectivity)进行…