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

每日学习录

目录

[蓝桥杯 2022 省 A] 求和

题目描述

[蓝桥杯 2019 省 B] 特别数的和

题目描述

[蓝桥杯 2023 省 A] 填空问题

题目描述

 [蓝桥杯 2020 省 AB1] 走方格

题目描述

[蓝桥杯 2017 省 AB] 分巧克力

[蓝桥杯 2016 省 B] 交换瓶子

题目描述


[蓝桥杯 2022 省 A] 求和

题目描述

输入 #1

4
1 3 6 9

样例输出 #1

117

解题思路:我们拿到这个题我们可以两个for循环结束这个题!不过我们可以思考更深层次的东西!比如将有规律的几组乘积合并!仔细看就能发现每个数都是乘上以他为某一个乘数的乘上以他开始的后面所有数的总和,因此我们可以每次算哪个数的总乘积,可以先把它减掉,然后在乘起来!

#include<bits/stdc++.h>
using namespace std;
int main(){int n,i,a[200005];long long sum = 0,ans = 0;cin>>n;for(i = 0;i<n;i++){cin>>a[i];ans +=a[i];}for(i = 0;i<n-1;i++){ans -= a[i];sum += a[i]*ans;}cout<<sum<<endl;return 0;
}

[蓝桥杯 2019 省 B] 特别数的和

题目描述

输入 #1

40

输出 #1

574

思路

没什么好说的,一眼就是暴力直接秒了。代码如下:

#include <bits/stdc++.h>
using namespace std ;
typedef long long LL;
int n;
LL ans = 0;
bool check(int x) {while(x) {int t = x % 10;if(t==2||t==0||t==1||t==9) {return true;}x /= 10;}return false;
}
int main () {cin >> n;for (int i = 1; i <= n; i ++) {if(check(i)) {ans += i;}}cout << ans << endl;return 0;
}

[蓝桥杯 2023 省 A] 填空问题

题目描述

思路:直接暴力枚举即可,因为可以在本地跑,没有限时:一答案为:4430091。
思路:二答案:8335366
1.f(i,j)表示前 i 题得分为 j 的方案。
2.状态转移方程,分答对了和答错了。
3.初始化,根据定义 f(0,0)=1
4.递推。

最终题解:

#include<stdio.h>
int main()
{char c = getchar();if(c == 'A')printf("4430091");elseprintf("4165637");return 0;
}

 [蓝桥杯 2020 省 AB1] 走方格

题目描述

输入 #1

3 4

输出 #1

2

思路:动态规划的典型题目类型,按照动态思路求解:

#include<iostream>
using namespace std;
int main()
{int dp[33][33]={0};dp[1][1]=1;int n,m;cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(i==1&&j==1) continue;if(i%2||j%2) {dp[i][j]=dp[i-1][j]+dp[i][j-1];}}}cout<<dp[n][m]<<endl;
}

题目背景

小明正在玩一个“翻硬币”的游戏。

思路:

因为输入的是字符串所以定义char类型的数组来存储。

主函数部分可以这样想,输入两个由o*组成的字符串,取得a字符串的长度,定义一个循环变量用来遍历整个a数组,通过a数组与b数组的比较可知哪里不同,那么直接替换即可,最后在循环中用i变量来计数

我的做法是直接递归搜索,如果翻转之后的位置k,s[0]到s[k]的情况都成立,那么向下递归让k+1,翻转数+1,否则恢复翻转之前的状态,k+1,翻转数不变。出口:如果k等于s的长度,那么字符串翻转后的结果满足要求,返回翻转数。

#include <bits/stdc++.h>
using namespace std;
int main(){char a[1001];char b[1001];cin>>a>>b;int len=strlen(a);int i=0,sum=0;while(i<len){if(a[i]!=b[i]){a[i+1]=(a[i+1]=='*'?'o':'*');sum++;}i++;}cout<<sum;return 0;
}

[蓝桥杯 2017 省 AB] 分巧克力

题目描述

思路:可以将其抽象成小于可行,大于不可行的二分问题。

在判断时,遍历全部巧克力,每个巧克力分割成的小巧克力数相加。分割成的小巧克力数目的计算方式为,高整除枚举到的x,宽整除枚举到的x的乘积。

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int n, k, mx = 0;
int h[N], w[N];
bool check (int x) {int res = 0;for (int i = 1;i <= n;i ++) res += (h[i] / x) * (w[i] / x);return res >= k;
}
int main()
{cin >> n >> k;for (int i = 1;i <= n;i ++) cin >> h[i] >> w[i],mx = max (mx, max(h[i], w[i]));int l = 1, r = mx, mid;while (l < r) {mid = l + r + 1 >> 1;if (check (mid)) l = mid;else r = mid - 1;}cout << l << endl;return 0;
}

[蓝桥杯 2016 省 B] 交换瓶子

题目描述

核心步骤:
例如A[3]={2,0,1},2在0的位置,0在1的位置,1在2的位置,那么把它们画成图的拓扑结构的话,就是一个环(圈),即2->0->1->2。

这样的条件(排列成环(圈))用文字描述为:
1、位置和位置上的数字或字符存在一一对应关系;
2、每个数字或字符都不在自己应有的位置上;

题目要求计算:至少交换多少次
每交换一次,就是这个环内分解为两个独立的环
那么我们先计算出环的个数,最后得到排列好的就是每个独立的环,答案就是总个数 - 环的个数

#include<bits/stdc++.h>
using namespace std;
const int N = 1e4 + 10;
int n;
int a[N];
int len,ans;
bool st[N];
void dfs(int u){if(st[u]) return ;st[u] = true;dfs(a[u]);
}
int main(){cin >> n;for(int i = 1; i <= n; i ++ ) cin >> a[i];for(int i = 1; i <= n; i ++ ){if(!st[i]){ans ++;dfs(i);} }cout<<n - ans;return 0;
}

http://www.lryc.cn/news/305499.html

相关文章:

  • linux docker部署深度学习环境(docker还是conda)
  • iOS面试:4.多线程GCD
  • 云计算计算资源池与存储池访问逻辑
  • 【Linux】部署单机项目(自动化启动)---(图文并茂详细讲解)
  • 修复Microsoft Edge WebView2无法安装的问题
  • Linux命令-chgrp命令(用来变更文件或目录的所属群组)
  • linux下搭建boost、muduo、mysql、nginx
  • java基础-List常用方法
  • Android 如何添加自定义字体
  • MacOs 围炉夜话
  • 爬取数位观察城市数据知识总结
  • [About-C++] 非常实用的知识点
  • 渗透工具——kali中wpscan简介
  • 信息安全计划:它是什么、为什么需要一个以及如何开始
  • 【软件测试】定位前后端bug总结+Web/APP测试分析
  • Github 2024-02-21 开源项目日报 Top10
  • 机器学习模型的过拟合与欠拟合
  • 华为OD机试真题-虚拟游戏理财-2023年OD统一考试(C卷)---Python3--开源
  • 新手搭建服装小程序全攻略
  • 设计模式学习笔记 - 面向对象 - 3.面向对象比面向过程有哪些优势?面向过程真的过时了吗?
  • 联想开天昭阳N4620Z笔记本如何恢复出厂麒麟操作系统(图解)
  • Qt经典面试之理论总结(自己整理总结)
  • 【YOLO系列算法人员摔倒检测】
  • 获取淘宝商品详情API、商品主图、图片搜索api
  • HarmonyOS创建一个ArkTS卡片
  • ChatGPT Plus遇到订阅被拒原因与解决方案
  • UE蓝图 函数调用(CallFunction)节点和源码
  • Vue单文件学习项目综合案例Demo,黑马vue教程
  • 机器视觉【3】非线性求解相机几何参数
  • Qt编译报错:The slot requires more arguments than the signal provides.