ACM题解Day10|总结篇|进制转化,GCD ,LCM ,二分答案

在这里插入图片描述

🔥博客介绍`: 27dCnc

[C++string中find_first_not_of()函数和find_last_not_of()函数-CSDN博客]

方差,期望 概率


今日打卡:

在这里插入图片描述

算法周总结

ACM题解Day3| To Crash or not To Crash,Integer Prefix ,I don’t want to pay for the Late Jar-CSDN博客

第3题: 这道题对于没有看题解的我来说算是比较有难度的了, 其难度根本以我的理解 题目理解

我们要这么样去将问题解决?这么样让这个人的幸福值最大化?

现在我对这道题的总结是: 我们先把关系理清然后去找数据间的关系,题目要求是让钱花最少,还要让幸福值最大,如果我们不去分清题目关系就会这么理解,实际上我们要是要每天为了幸福值节省的最大金额,即最大金额,所以我们要储存数据,然后比较时间的关系,去确定当前数据的处理方式,然后根据处理方式查找出最大值

在这里插入图片描述

第4题: 明显的模拟题,这个算是比较难的模拟题了,题目要求找出题目间的关系,常规思路就是按照他上面说的暴力解决,但是x y这么确定?用双层 for 去遍历整个斐波那契数列,然后去在符号关系的然后记录他们间的和然后判断是否是斐波那契数列?这么判断,暴力就遍历整个数组

在这里插入图片描述

进制转化模版默写

ACM题解Day5| 进制转化专栏| 10进制转化为2进制 , 8进制转换为10进制,16进制内通用解法,x 进制转 10 进制-CSDN博客

#include<bits/stdc++.h>
#define endl '\n'
#define Run 0
using namespace std;class Solution { 
public:void solve() {int n,m;std::string s; std::cin >> n >> s >> m;  //这里输入是 当前进制 n 当前数 s 要转换的字符串 mint A = AToB(s,n);std::string t = intToA(A,m);std::cout << t << endl;}
public:template<typename T>string intToA(T n,T radix) {  // n 是10进制数字 然后转化为 radix进制数if (radix == 0) return "0";std::string ans = "";do {int t = n % radix;if (t >= 0 && t <= 9) ans += t + '0';else ans += t - 10 + 'A';n /= radix;}while(n > 0);std::reverse(ans.begin(),ans.end());return ans;}
public: long int AToB(string s,int radix) {return std::strtol(s.c_str(),nullptr,radix); //将不同进制转化为 10 进制}
};signed main() {std::cin.tie(0) -> std::ios::sync_with_stdio(false);std::cout.tie(0) -> std::ios::sync_with_stdio(false);#if Runint _; std::cin >> _; whil(_--) Solution().solve();
#elseSolution().solve();
#endifreturn 0;
}

在这里插入图片描述
混子文章|蓝桥杯一题 -平方差-CSDN博客

平方差考察数学平方关系: 平方差数有俩: 将俩数分 可能要考虑极端情况一个数为 1
要将 x 分为奇数偶数 奇数x y 相差 1 偶数 xy 相差 2

  • 如果 x 为奇数 y + z = x , y - z = 1

  • 如果 x 为偶数 y + z = x / 2 y - z = 2

在这里插入图片描述
ACM题解Day8 | 最小公倍数 GCD 模块 |最小共倍数,等差数列,后缀表达式-CSDN博客

最大公倍数(GCD) ,最小公约数 (lcm)

还有就是思维题后缀表达式 -(- -) 的方式处理负号

等差数列: 要求的就是最大公倍数,用来确定最大数组长度最大项减去最小项然后得到数据间的公差的倍数 * 区间长度的数据 如果无法确定多少项当前项就是最大项(可以这样认为)

在这里插入图片描述

ACM题解Day9| 2019 ,钱币找零,砍树-CSDN博客

钱币找零: 是贪心, 是找零的经典题, 动规的贪心真的很难

#include<bits/stdc++.h>
#define Run 0
#define endl "\n"
#define N 100005
using unl = __int128_t;
using ll = long long;
using namespace  std;
int a[6]={1,5,10,20,50,100};
int cnt[6] = {N,N,N,N,N,N};//对应上面的张数class Solution {
public: // 转换为完全背包问题void solve() {int money; cin >> money; // 背包容量for (int i = 5; i >= 0; i --) { int zhanshu = 0;if (money > 0) {zhanshu = min(money / a[i],cnt[i]);cnt[i] = zhanshu;}money -= zhanshu * a[i];}for (int i = 5; i >= 0; i--) {if ( cnt[i] > 0&&cnt[i] < N) cout << "需要" << cnt[i] << "张"<< a[i] << "块的" << endl;}}
};signed main() {cin.tie(0) -> ios::sync_with_stdio(0);cout.tie(0) -> ios::sync_with_stdio(0);#if Runint _;cin>>_;while(_--) Solution().solve();
#elseSolution().solve();
#endifreturn 0;
}

砍树是二分答案

不断在序列中进行二分查找然后不断去缩小空间然后判断每个结点的是否满足条件最终找到答案的方法

#include<bits/stdc++.h>
#define Run 0
#define endl "\n"
#define N 100000005
using unl = __int128_t;
using ll = long long;
using namespace  std;
ll a[N + 5];class Solution {
public: //运用二分算法void slove() {ll n,m; cin >> n >> m;ll r = LLONG_MIN,l = 0,mid;for (int i = 1; i <= n; i++) {cin >> a[i];r = max(r,a[i]);} //输入木材并找到木材最大值while(l < r) {mid = (l + r + 1) / 2;if (ltm(mid,n,m)) l = mid;else r = mid - 1;} //二分锯片高度cout << l << endl;}bool ltm(ll x,ll n,ll m) {ll sum = 0;for (int i = 1; i <= n; i++) if (a[i] > x) sum = sum + a[i] - x; //计算木材if(sum >= m) return true;return false;}
};signed main() {cin.tie(0) -> ios::sync_with_stdio(0);cout.tie(0) -> ios::sync_with_stdio(0);
#if Runint _;cin>>_;while(_--) Solution().slove();
#elseSolution().slove();
#endifreturn 0;
}

2019: 应该算是一道思维题 将某个数设置成未知数, 然后去表示另外的数,通过其中的关系去不断去进行遍历最后直到找到答案为止


刷题总结:
我们在写一道题目的时候应该考虑题目的考点 然后去寻找思路,不断去优化我们的代码, 思路要先找到题目要先读懂

在这里插入图片描述

重磅消息:

GTP - 4 最新版接入服务他来了 点击链接即可查看详细

GTP - 4 搭建教程

🔥如果此文对你有帮助的话,欢迎💗关注、👍点赞、⭐收藏、✍️评论,支持一下博主~

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

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

相关文章

单例服务拆分为分布式架构

将独立业务服务拆分为分布式 为啥会有这个想法&#xff1f;因为我要造锤子&#xff0c;拿着造好的锤子&#xff0c;去找锤子&#xff0c;没有造锤子的经验无法找一个造锤子的坑。 现有情况说明 单机软件&#xff1a;就是将软件安装在自己的电脑上&#xff0c;自己用的那种&…

硬核程序员接单指南,速看!

程序员单没接着&#xff0c;时间还浪费了&#xff1f;惹得一身晦气。遇上了1k开发一个“淘宝”网站的“深井”&#xff1f;不是来下单的&#xff0c;倒像是来许愿的……估摸着是把程序员当阿拉丁神灯。 莫非那些兼职月入3k&#xff0b;的人&#xff0c;都是托儿&#xff1f;带着…

网络编程套接字(1)—网络编程基础

目录 一、为什么需要网络编程? 二、什么是网络编程 三、网络编程中的基本概念 1、发送端和接收端 2、请求和响应 3、客户端和服务端 四、常见的客户端服务端模型 1、一问一答模型 2、一问多答模型 3、多问一答模型 4、多问多答模型 一、为什么需要网络编程? 为什么…

AI 应用之路:质疑汤姆猫,成为汤姆猫,超越汤姆猫

过去一年&#xff0c;我对 AI 应用的看法经历了这样一个过程&#xff1a;质疑汤姆猫&#xff0c;理解汤姆猫&#xff0c;成为汤姆猫&#xff0c;超越汤姆猫。 什么是汤姆猫&#xff1f;汤姆猫是 2010 年移动互联网早期的一款应用&#xff0c;迅速走红&#xff0c;又淡出视野。…

华清远见作业第四十四天——FreeRTOS(第二天)

总结DMA空闲中断接收数据的使用方法 开启DMA接收 在主函数中以DMA空闲中断的方式接收数据的函数&#xff1a;HAL_UARTEx_ReceiveToIdle_DMA 然后调用空闲中断回调函数 切记/每次接收到数据都需要重新开启接收数据的函数。 DMA的作用 DMA是直接内存访问&#xff0c;使用DMA可…

JS使用方式

JS是解释性语言&#xff0c;所以不需要搭建类似C#/Java之类的开发运行环境&#xff0c;因为他们是编译型语言。JS一般运行在浏览器中或者node环境中&#xff0c;这里都是JS引擎的功劳。 node环境使用 推荐使用nvm管理node版本&#xff0c;nrm管理代理地址。 安装node&#xf…

如何确保OKR与公司的整体战略保持一致?

深入理解公司战略 首先&#xff0c;团队或个人需要全面、深入地理解公司的整体战略和目标。这包括了解公司的长期规划、市场定位、竞争优势以及核心竞争力等方面。只有对公司的战略有清晰的认识&#xff0c;才能确保OKR与之保持一致。 如何确保OKR与公司的整体战略保持一致&a…

Navicat安装破解教程

蓝奏云下载地址https://wws.lanzoux.com/b01tqirzc或者链接https://pan.baidu.com/s/15cfQAFdQsn8xSg_2LiQZHg 提取码&#xff1a;q3rd链接&#xff1a;https://pan.baidu.com/s/1WwyCC03qcnqnWKGo-m6ZjA 提取码&#xff1a;pg9uNavicat16目前没有破解方法&#xff0c;15可以&a…

市场复盘总结 20240307

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 89% 最常用的…

leetcode:88. 合并两个有序数组

原题地址&#xff1a;https://leetcode.cn/problems/merge-sorted-array/description/ 题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&a…

CVE-2024-25600 WordPress Bricks Builder RCE-漏洞分析研究

本次代码审计项目为PHP语言&#xff0c;我将继续以漏洞挖掘者的视角来分析漏洞的产生&#xff0c;调用与利用..... 前方高能&#xff0c;小伙伴们要真正仔细看咯..... 漏洞简介 CVE-2024-25600 是一个严重的&#xff08;CVSS 评分 9.8&#xff09;远程代码执行 (RCE) 漏洞&am…

Java 8 Supplier函数式接口介绍及代码样例

介绍 供应商接口&#xff08;Supplier Interface&#xff09;是 Java 8 引入的 java.util.function 包的一部分&#xff0c;用于在 Java 中实现函数式编程。它表示一个函数&#xff0c;该函数不接收任何参数&#xff0c;但会产生一个类型为 T 的值。 T&#xff1a;表示结果的类…

Vue3+ts(day01:Vue3简介、初始化Vue3工程)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学&#xff0c;可以点心心支持一下哈&#xff08;笔记是根据b站上学习的尚硅谷的前端视频【张天禹老师】&#xff0c;记录一下学习笔记&#xff0c;用于自己复盘&#xff0c;有需要学…

基于arduino板的写字机设计

目 录 摘 要 Abstract 引 言 1 总体方案设计 1.1 系统方案设计 1.2 系统工作原理 2 硬件电路的设计 2.1 主控模块设计 2.2 驱动模块设计 2.3 时钟模块设计 2.4 总电路设计 3 软件设计 3.1 Arduino开发环境 3.2 主程序设计 3.3 抬笔落笔的子程序设计 3.4 摆臂子…

Seata 2.x 系列【2】数据库事务

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Spring Boot 版本 3.1.0 本系列Seata 版本 2.0.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 概述2. ACID 模型2.1 原子性2.2 一致性2.3 隔离性2…

Postman报错提示 Could not get any response怎么解决

在通过postman请求做接口测试的过程中&#xff0c;有时候会遇到一些报错&#xff0c;当遇到这些报错我们不要着急&#xff0c;看着具体哪里报错&#xff0c;然后进行解决 postman报错 经常使用postman的小伙伴们都应该遇到过一些报错&#xff0c;遇到报错的时候我们不要着急&…

这可是全网网工华为认证学习笔记最完整,最详细的版本,没有之一

文章篇幅较长&#xff0c;耐心看完你一定有所收获。 华为认证是什么&#xff1f; 其实就是由华为公司所提出的评价网络工程师专业能力的一个认证&#xff0c;它分为三个级别&#xff0c;分别是这个华为认证的工程师&#xff08;HCIA&#xff09;&#xff0c;华为认证的高级工程…

CTP-API开发系列之三:柜台系统简介

CTP-API开发系列之三&#xff1a;柜台系统简介 CTP-API开发系列之三&#xff1a;柜台系统简介中国金融市场结构---交易所柜台系统通用柜台系统极速柜台系统主席与次席 CTP柜台系统CTP组件名称对照表CTP柜台系统程序包CTP柜台系统架构图 CTP-API开发系列之三&#xff1a;柜台系统…

重新排序。

问题描述 给定一个数组A和一些查询 L,R求数组中第L至第 R个元素之和。 小蓝觉得这个问题很无聊,于是他想重新排列一下数组使得最终每个查 询结果的和尽可能地大。小蓝想知道相比原数组,所有查询结果的总和最多可 以增加多少? 输入格式 输入第一行包含一个整数n。 第二行包含n个…

钉钉群内自定义机器人发送消息功能实现

文章目录 钉钉群内自定义机器人发送消息功能实现1、设置webhook自定义机器人2、查看官方文档&#xff0c;使用open api3、编写业务代码4、发送成功结果如下 钉钉群内自定义机器人发送消息功能实现 1、设置webhook自定义机器人 设置关键词 添加完成后&#xff0c;获得改机器人的…