当前位置: 首页 > news >正文

【洛谷】AT_abc178_d [ABC178D] Redistribution 的题解

【洛谷】AT_abc178_d [ABC178D] Redistribution 的题解

洛谷传送门

AT传送门

题解

一个水水的动态规划,阿巴巴巴。

题目大概是这样:

给定一个正整数 S S S,问有多少个数满足以下条件:

  • 序列中不能出现小于 3 3 3 的正整数。

  • 序列中的和必须等于输入的 S S S

这是一道求方案数的题,我们可以用动态规划来做,那么我们就可以定义 d p i dp_i dpi 为和为 i i i
时的方案数,然后我们就可以想到对于每一个 d p i dp_i dpi 它都等于从
i − 3 i−3 i3 3 3 3 的方案数总和加一,最后输出 f n f_n fn 即可。

最后提醒,AtCoder 输出要换行!!!

代码

#include <bits/stdc++.h>
#define lowbit(x) x & (-x)
#define endl "\n"
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int mod = 1e9 + 7;
namespace fastIO {inline int read() {register int x = 0, f = 1;register char c = getchar();while (c < '0' || c > '9') {if(c == '-') f = -1;c = getchar();}while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;}inline void write(int x) {if(x < 0) putchar('-'), x = -x;if(x > 9) write(x / 10);putchar(x % 10 + '0');return;}
}
using namespace fastIO;
int n;
ll f[2005];
int main() {//freopen(".in","r",stdin);//freopen(".out","w",stdout);ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);n = read();for(int i = 3; i <= n; i ++) {f[i] = 1;for(int j = 3; j <= i - 3; j ++) {f[i] = (f[i] + f[j]) % mod;}	}cout << f[n] << endl;return 0;
}

相关文章:

  • 【Elasticsearch】-实现图片向量相似检索
  • 科研小白入门工具
  • Android系统:系统架构
  • Mysql 架构
  • GS-SLAM论文阅读笔记--MM3DGS SLAM
  • vue打包后的dist文件如何启动测试
  • 苹果电脑系统重磅更新——macOS Sequoia 15 系统 新功能一 览
  • 2024年软考——信息系统监理师30天冲刺学习指南!!!
  • 2024年自动化、电气控制系统与设备国际学术会议(AECSE 2024)
  • 半导体制造过程中设备通信的高级概述
  • 无人机飞手入伍当兵技术优势分析
  • 【达梦数据库】临时表的使用测试
  • 使用Plotly绘制交互式图表:从入门到精通
  • LabVIEW界面输入值设为默认值
  • 【Python报错已解决】AttributeError: ‘tuple‘ object has no attribute ‘log_softmax‘
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Android优雅地处理按钮重复点击
  • ERLANG 网工修炼笔记 ---- UDP
  • JavaScript 一些 DOM 的知识点
  • java取消线程实例
  • Material Design
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Python 基础起步 (十) 什么叫函数?
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Spring Cloud中负载均衡器概览
  • Yeoman_Bower_Grunt
  • 番外篇1:在Windows环境下安装JDK
  • 分享一份非常强势的Android面试题
  • 看域名解析域名安全对SEO的影响
  • 前端之React实战:创建跨平台的项目架构
  • 使用权重正则化较少模型过拟合
  • 说说动画卡顿的解决方案
  • 小程序 setData 学问多
  • 智能合约Solidity教程-事件和日志(一)
  • 你对linux中grep命令知道多少?
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​TypeScript都不会用,也敢说会前端?
  • ###C语言程序设计-----C语言学习(6)#
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (done) 声音信号处理基础知识(4) (Understanding Audio Signals for ML)
  • (Git) gitignore基础使用
  • (Java入门)抽象类,接口,内部类
  • (不用互三)AI绘画工具应该如何选择
  • (二)windows配置JDK环境
  • (一)appium-desktop定位元素原理
  • (一)RocketMQ初步认识
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .NET Core 成都线下面基会拉开序幕
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .net专家(高海东的专栏)
  • @ConfigurationProperties注解对数据的自动封装
  • @PreAuthorize与@Secured注解的区别是什么?
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现