蓝桥杯——19

学习视频:22-动态规划入门视频讲解_哔哩哔哩_bilibili

动态规划入门:

#include<iostream>

using namespace std;

int main() {

int f100;

f1 = 1;

f2 = 1;

int n;

cin >> n;

for (int i = 3; i <= n; i++) {

fi = fi - 1 + fi - 2;

}

cout << fn;

return 0;

}

Q:错排

#include<iostream>

using namespace std;

int main() {

int f100;

f1 = 0;

f2 = 1;

int n;

cin >> n;

for (int i = 3; i <= n; i++) {

fi = (n - 1) * fn - 1 + (n - 1) * fn - 2;

}

cout << fn;

return 0;

}

错排公式

fi = (n - 1) * fn - 1 + (n - 1) * fn - 2

Q:斐波那契

#include<iostream>

using namespace std;

int main() {

int f100;

f1 = 0;

f2 = 1;

int n;

cin >> n;

f0 = f1 = 1;

for (int i = 2; i <= n; i++) {

fi = fi - 1 + fi - 2;

}

cout << fn;

return 0;

}

Q:杨辉三角

递推公式:

fij = fi - 1j + fi - 1j - 1 ;
#include<iostream>

using namespace std;

int f2020;

void init() {

for (int i = 1; i < 20; i++) {

for (int j = 1; j < 20; j++) {

if (j == 1) {

fij = 1;

}

else {

fij = fi - 1j - 1 + fi - 1j;

}

}

}

}

int main() {

init();

int n, m;

cin >> n >> m;

//输出 第i行 第j列

cout << "该位置的数字是:" << fnm << endl;

//输出杨辉三角

for (int i = 1; i <= n; i++) {

for (int ii = 0; ii < n - i; ii++) {

cout << " ";

}

for (int j = 1; j <= i; j++) {

cout << fij << " ";

}

cout << '\n';

}

return 0;

}

Q:

#include<iostream>

#include<string>

using namespace std;

int f3030;

//记录马的位置

int mx, my;

//标记不能走的点

int map3030;

//标记马四周的位置

int dx8 = {1,1,-1,-1,2,2,-2,-2};

int dy8 = {-2,2,2,-2,1,-1,1,-1};

int n,m;

int main() {

cin >> n >> m >> mx >> my;

//初始化map

for (int i = 0; i <= n; i++) {

for (int j = 0; j <= m; j++) {

fij = 0;

mapij = 1;

}

}

for (int i = 0; i < 8; i++) {

int fx = mx + dxi;

int fy = my + dyi;

if (fx >= 0 && fx <= n && fy >= 0 && fy <= m) {

mapfxfy = 0;

}

}

mapmxmy = 0;

//递推公式:fij = fi-1j + fij-1

f00 = 1;

for (int i = 0; i <= n; i++) {

for (int j = 0; j <= m; j++) {

if (mapij != 0) {

if (i != 0 && mapi-1j != 0) {

fij += fi - 1j;

}

if (j != 0 && mapij - 1 != 0) {

fij += fij - 1;

}

}

}

}

cout << fnm;

return 0;

}

Q:

#include<iostream>

using namespace std;

int main() {

//递归公式: fij = min(fij-1,fi+1j) + mapij

int f55;

int map55;

//初始化

int n;

cin >> n;

for (int i = 0; i < n; i++) {

for (int j = 0; j < n; j++) {

cin >> mapij;

fij = 1000;

}

}

int min = 1000;

fn - 10 = 0;

for (int i = n - 1; i >= 0; i--) {

for (int j = 0; j < n; j++) {

if (i != n - 1) {

int tmp = fi + 1j + mapij;

if (tmp < fij)

fij = tmp;

}

if (j != 0) {

int tmp = fij - 1 + mapij;

if (tmp < fij)

fij = tmp;

}

}

}

cout << f0n - 1;

return 0;

}

Q:实现捡水果

#include<iostream>

#include<math.h>

using namespace std;

int main() {

int n;

int f1010;

int map1010;

cin >> n;

for (int i = 1; i <= n; i++) {

for (int j = 1; j <= i; j++) {

cin >> mapij;

fij = 0;

}

}

//状态转移方程:fij=max(fi-1j,fi-1j-1)+mapij

f11 = map11;

for (int i = 1; i <= n; i++) {

for (int j = 1; j <= i; j++) {

if (i == 1 && j == 1) continue;

//只有右上角

else if (j == 1) {

fij = fi - 1j + mapij;

}

//只有左上角

else if (j == i) {

fij = fi - 1j - 1 + mapij;

}

//都有

else {

if (fi - 1j > fi - 1j - 1)

fij = fi - 1j + mapij;

else

fij = fi - 1j - 1 + mapij;

}

}

}

cout << '\n';

int maxn = 0;

for (int i = 1; i <= n; i++) {

if (fni > maxn)

maxn = fni;

}

cout << maxn;

return 0;

}

/*

4

3

1 2

6 2 3

3 5 4 1

*/

多维状态转移方程

Q:

#include<iostream>

#include<math.h>

using namespace std;

int f100100100;

int main() {

int x, y, z;

cin >> x >> y >> z;

for (int i = 0; i <= x; i++) {

for (int j = 0; j <= y; j++) {

for (int k = 0; k <= z; k++) {

cin >> fijk;

}

}

}

int inf = 10000;

for (int i = 0; i <= x; i++) {

for (int j = 0; j <= y; j++) {

for (int k = 0; k <= z; k++) {

int mi = inf;

if (i != 0)

mi = min(mi, fi - 1jk);

if (j != 0)

mi = min(mi, fij - 1k);

if (k != 0)

mi = min(mi, fijk - 1);

if (mi != inf)

fijk += mi;

}

}

}

cout << fxyz;

return 0;

}

/*

2 2 2

1 2 3

4 5 6

7 8 9

1 2 3

4 5 6

7 8 9

1 2 3

4 5 6

7 8 9

*/


蓝桥杯已经考完好几天了,在考场上写了一坨shi,但是决定继续看完学习视频!!

f i g h t i n g ! ! ! ! ! ! !

------------------2024.4.12------

现在是2026/3/16救命!其实已经好久没有学习这一块了哈哈哈,我真是服了我自己了!

相关推荐
一只齐刘海的猫1 天前
【Leetcode】找到字符串中所有字母异位词
算法·leetcode·职场和发展
文艺倾年1 天前
【强化学习】强化学习基本概念,20W字总结(一)
人工智能·python·语言模型·自然语言处理·面试·职场和发展·大模型
凌波粒1 天前
LeetCode--108.将有序数组转换为二叉搜索树(二叉树)
算法·leetcode·职场和发展
ychqsq1 天前
54.新芽
经验分享·职场和发展
一只齐刘海的猫1 天前
【Leetcode】无重复字符的最长子串
算法·leetcode·职场和发展
小卡不对头1 天前
如何评价书木兰软考题库?一个适合小白的软考题库平台
职场和发展
YHHLAI1 天前
LeetCode 1.两数之和 | 从暴力枚举到线性优化
算法·leetcode·职场和发展
酉鬼女又兒1 天前
零基础入门计算机网络网际层核心:IP数据报发送与转发完整流程、静态路由配置方法、路由环路成因与解决方案及历年考研经典例题深度解析
网络·tcp/ip·计算机网络·考研·职场和发展
林森lsjs1 天前
【日耕一题】5. 青春常数(17届蓝桥杯C++B组第一题)
算法·蓝桥杯
Y_Bk1 天前
第十七届蓝桥杯C/C++A组省赛
c语言·数据结构·c++·算法·蓝桥杯