蓝桥杯OJ213买不到的数目【蓝桥杯省赛真题】【动态规划】

题目:

https://www.lanqiao.cn/problems/213/learning/?page=1&first_category_id=1&name=%E4%B9%B0%E4%B8%8D%E5%88%B0%E7%9A%84&sort=problem_id&asc=1&tag_relation=intersectionhttps://www.lanqiao.cn/problems/213/learning/?page=1&first_category_id=1&name=%E4%B9%B0%E4%B8%8D%E5%88%B0%E7%9A%84&sort=problem_id&asc=1&tag_relation=intersection

方法一:可执行代码:【直接找规律硬凑(尝试几遍凑规律:a*b-(a+b)】

cpp 复制代码
 #include <bits/stdc++.h>
 using namespace std;
 int main()
 {
   long long n=0,m=0;cin>>n>>m;
   if(n==1 || m==1) cout<<1;
   else if(n%m!=0 && m%n!=0) cout<<(n*m-(n+m));
   else if(n%m==0) cout<<(n-1);
   else if(m%n==0) cout<<(m-1);
   // 请在此输入您的代码
   return 0;
 }

方法二:可执行代码:【使用动态规划找状态转移方程: if(dp[i-n] || dp[i-m]){ dp[i]=true;}】

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
bool dp[N];
int main(){
long long n=0,m=0,ans=0;cin>>n>>m;
dp[0]=true;
dp[n]=true;
dp[m]=true;
for(int i=0;i<=n*m;i++){
  if(dp[i-n] || dp[i-m]){
     dp[i]=true;
  }
}
int max=0;
for(int i=0;i<=n*m;i++){
	if(dp[i]==false && i>max) max=i;
} 
cout<<max; 
  return 0;
}
相关推荐
xiaoye-duck2 小时前
《算法题讲解指南:动态规划算法--简单多状态dp问题》--17.买卖股票的最佳时机III,18.买卖股票的最佳时机IV
c++·算法·动态规划
迷海3 小时前
力扣原题《打家劫舍》递归版动态规划,纯手搓,已验证,未优化
c++·leetcode·动态规划
6Hzlia14 小时前
【Hot 100 刷题计划】 LeetCode 118. 杨辉三角 | C++ 动态规划题解
c++·leetcode·动态规划
Tanecious.18 小时前
蓝桥杯备赛:Day1-奖学金
c语言·c++·蓝桥杯
重生之我是Java开发战士19 小时前
【动态规划】路径问题:不同路径,珠宝的最高价值,下降路径最小和,最小路径和,地下城游戏
算法·游戏·动态规划
一轮弯弯的明月1 天前
有序整数对个数-欧拉函数
java·算法·蓝桥杯·学习心得
酉鬼女又兒1 天前
零基础快速入门前端深入掌握箭头函数、Promise 与 Fetch API —— 蓝桥杯 Web 考点全解析(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·css·职场和发展·蓝桥杯·es6·js
wengqidaifeng1 天前
备战蓝桥杯----C/C++组 (三)算法讲解前言
c语言·c++·蓝桥杯
酉鬼女又兒1 天前
零基础快速入门前端蓝桥杯 Web 备考:AJAX 与 XMLHttpRequest 核心知识点及实战(可用于备赛蓝桥杯Web应用开发)
前端·ajax·职场和发展·蓝桥杯·css3·js