蓝桥杯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(dpi-n || dpi-m){ dpi=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;
}
相关推荐
CQU_JIAKE1 天前
9.15【A】
算法·动态规划
yi0112 天前
DAY17: LeetCode 139|单词拆分:从“把单词删掉”到用 DP 记录合法切口
人工智能·笔记·python·算法·leetcode·动态规划
老歌老听老掉牙2 天前
动态规划:从递归到最优决策的算法艺术
算法·动态规划
鑫 源2 天前
VS2019 for mac里用c#开发Mac OS应用 避坑 和 源码
职场和发展·蓝桥杯
aqiu1111113 天前
【蓝桥杯】0仙境诅咒 — BFS/DFS 图论连通性问题(C++ 题解)
蓝桥杯·深度优先·宽度优先
richard_yuu4 天前
动态规划:强化学习的「数学基础」,从 MDP 到值迭代
深度学习·神经网络·算法·yolo·机器学习·动态规划
lvwangshu5 天前
P12960 毒药 题解
动态规划·题解·贪心·技巧·性质题·思维好题
彧azz12 天前
算法设计与分析:贪心与动态规划
数据结构·学习·算法·贪心算法·动态规划
捷瑞电子工坊12 天前
嵌入式蓝桥杯从零点亮第一个LED
stm32·蓝桥杯·cubemx·嵌入式·led·ll·锁存
Logic10113 天前
C语言/数据结构动态规划题解:Kadane算法求最大子数组和——O(n)时间O(1)空间
c语言·数据结构·动态规划·贪心·时间复杂度·算法题·最大子数组和