(循环序列DP)牛客小白月赛88 D我不是大富翁

news/2024/10/5 6:07:39/文章来源:https://www.cnblogs.com/iscr/p/18275042

题意:

思路:
考虑dp,题目显然提到2个状态:位置和操作次数,因此设置dp[i][j]表示在i位置第j次操作是否合法。
易得状态转移方程:
dp[(i + a[j]) % n][j] |= dp[i][j - 1];
dp[((i - a[j]) % n + n) % n][j] |= dp[i][j - 1];

code:

#include <bits/stdc++.h>
#include<bits/extc++.h>
using namespace __gnu_pbds;
using namespace std;
using i64 = long long;
using u64 = unsigned long long;
using PII = pair<i64, i64>;
const int inf = 0x3f3f3f3f;
const i64 INF = 0x3f3f3f3f3f3f3f3f;
#define Z cout << "\n"
#define lb lower_bound
#define ub upper_bound
#define D(x) cerr << #x << ": " << (x) << "\n"
#define DV(v) cerr<<#v<<": ";for(int i=0;i<(v).size();i++)cerr<<((v)[i])<<",";cerr<<"\n"
#if 0
#define int i64
#endif
const int N = 5005;
int dp[N][N], a[N];
signed main() {ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);int n, m;cin >> n >> m;for (int i = 1; i <= m; i++)cin >> a[i];dp[0][0] = 1;for (int j = 1; j <= m; j++) {for (int i = 0; i < n; i++) {dp[(i + a[j]) % n][j] |= dp[i][j - 1];dp[((i - a[j]) % n + n) % n][j] |= dp[i][j - 1];}}cout << (dp[0][m] ? "YES" : "NO");return 0;
}

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

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

相关文章

题目集7~8的总结性Blog

7~~8次大作业总结 前言 没有了测试点说明,真是非常的艰难,不知道有什么情况,也不知道哪里的答案错了,就很难找,也很难做出修改。测试样例也是,数量不多,情况不多,特别是最后一次的,测试样例也没错,试了几种情况,都没错,也不知道是哪里错了,最后就不了了之了。 第七…

Python用PyMC3实现贝叶斯线性回归模型

原文链接:http://tecdat.cn/?p=5263 原文出处:拓端数据部落公众号在本文中,我们将在贝叶斯框架中引入回归建模,并使用PyMC3 MCMC库进行推理。 我们将首先回顾经典频率论的多重线性回归方法。然后讨论贝叶斯如何考虑线性回归。 用PyMC3进行贝叶斯线性回归 在本节中,我们将…

SPSS用K均值聚类KMEANS、决策树、逻辑回归和T检验研究通勤出行交通方式选择的影响因素调查数据分析|附代码数据

原文下载链接:http://tecdat.cn/?p=27587 最近我们被客户要求撰写关于通勤出行的研究报告,包括一些图形和统计输出。 某交通工程专业博士生想要研究不同因素对通勤交通方式选择的影响,对成都两个大型小区(高端和普通)居民分别进行了出行调查,各调查了300人 其中 Distanc…

【专题】2024全国主要城市工业互联网发展指数报告合集PDF分享(附原数据表)

原文链接:https://tecdat.cn/?p=36590 原文出处:拓端数据部落公众号 《报告合集》详细分析了全国工业互联网主要城市的产业发展特征,揭示出这些城市在互联网产业上表现出较高水平。据工信部等部门发布的2023年度数据,这些主要城市汇聚了全国94%的双跨平台、92.3%的大数据产…

CodeFormer一款既能图像修复、还能视频增强去码的AI软件(下载介绍)

CodeFormer是一款强大的人工智能工具,主要用于图像和视频的修复和增强。它基于深度学习技术,特别是人脸复原模型,可以轻松修复和增强面部图像,提升照片和视频的质量和视觉效果工作原理 1、通过自动编码器实现人脸的变换,包括色彩化、清晰化、去马赛克修复等功能 2、采用了…

OOP课第三阶段总结

OOP课第三阶段总结 前言:我想说的第一句是:”我感受到了设计上的极大缺陷“,从一开始,我完全就忽略了引脚的存在。因为在第二阶段中,家电模拟大作业一、二在不需要考虑引脚的情况下也可以完成。但是当来到第三次,出现了互斥开关,因为互斥开关的特殊性,它具有1、2、3三个…

头歌实践教学平台-机器学习 --- PCA-答案

非盈利文章,仅提供编辑器内的答案或代码,不提供启动服务及需要命令行的代码 第1关:维数灾难与降维第2关:PCA算法流程import numpy as npdef pca(data, k):对data进行PCA,并将结果返回 :param data:数据集,类型为ndarray :param k:想要降成几维,类型为int :return: 降维…

头歌实践教学平台-机器学习 --- PCA答案

非盈利文章,仅提供过关答案或代码,不提供启动服务及需要命令行的代码 第1关:维数灾难与降维第2关:PCA算法流程import numpy as npdef pca(data, k):对data进行PCA,并将结果返回 :param data:数据集,类型为ndarray :param k:想要降成几维,类型为int :return: 降维后的数…

线段树题单记录

写线段树题单的记录线段树题单记录 线段树的题都很板的,模板敲上去再改改就行 P3372 【模板】线段树 1 题目 Link 为什么模板是绿题,还有下面那道 思路 首先我们要明白它为什么叫线段树: OI Wiki 上的这张图很好理解:从这张图也可以看出来,线段树的每个节点管辖的一个又一…

PTA训练集阶段总结性blog(第三弹)

目录PTA训练集总结blog1.前言2.设计与分析题目集七 7.1家居强电电路模拟系统—3关于设计要求:UML类图及设计分析:部分源码:复杂度分析:题目集八 7.1 家具强电电路模拟系统—8关于设计要求:部分源码:复杂度分析:3.踩坑心得4.改进建议5.总结 PTA训练集总结blog 1.前言 1.这…

智慧工厂视频智能分析系统解决方案 燧机AI算法

视频监控智能分析系统通过安装在工厂生产施工作业现场的各个监控装置,构建智能监控分析预警和防范体系,有效弥补传统方法和技术在管理中的缺陷。智慧工厂视频监控智能分析系统实现对人员、机械、材料、环境的全方位实时监控,变被动“监督”为主动“监控”;真正做到事前预警…