闻风丧胆的算法(二)

🌈个人主页:Rookie Maker
🔥 系列专栏:算法
🏆🏆关注博主,随时获取更多关于IT的优质内容!🏆🏆  


😀欢迎来到小田代码世界~
😁 喜欢的小伙伴记得一键三连哦 ૮(˶ᵔ ᵕ ᵔ˶)ა


文章目录

  • 前言

    一、模拟算法

    1.模拟

     2.例题:

     二.暴力法

    遍历

    枚举



前言

在这里,或许你会有不一样的收获,不要一提算法就闻风丧胆,面对困难的最好的方法就是克服


一、模拟算法

1.模拟

模拟,属于入门级算法,顾名思义,就是让电脑按照题目所给出的方法来运行,最终输出所需要的结果的过程。

 2.例题:

eg1:求两个数之和

#include<iostream>
using namespace std;
//给出两个整数a,b,求和
//一步步实现
int main()
{
	int a, b = 0;
	cin >> a >> b ;//两个整数
	cout << a + b << endl;//求和
}

 eg2:国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续 n天每天收到 n 枚金币后,骑士会在之后的连续 n+1天里,每天收到 n+1枚金币。

请计算在前 k 天里,骑士一共获得了多少金币。

#include<iostream>
using namespace std;
int main()
{
    int K, sum = 0, n = 0, i = 1;
    cin >> K;
    while (n != K) 
    {
        for (int j = 1; j <= i; j++)
        {
            sum += i;
            n++;
            if (n == K)
                break;
        }
        i++;
    }
    cout << sum << endl;
    return 0;
}
//动态跟踪次数
//当k=4时,k=4 n=0
//j=1 0!=4  sum=1 n=1  执行1次
//i=2 跳出循环 j=1 j=2 执行2次
//sum=1+2+2
//第四天和往后3天的金币一样多,怎么破局!if break 

eg3:冶炼金属 - 蓝桥云课 (lanqiao.cn)

#include<bits/stdc++.h>
using namespace std;
int main()
{
  int n;
  cin>>n;
  int mn=-1,mx=1e9;
  while(n--)
  {
    int a,b;
    cin>>a>>b;
    int l=a/(b+1)+1;
    int r=a/b;
    mn=max(mn,l);//
    mx=min(mx,r);
  }
cout<<mn<<" "<<mx<<endl;
return 0;
}//模拟:设置区间

 eg4:修剪灌木 - 蓝桥云课 (lanqiao.cn)

 

#include <iostream>
using namespace std;
int main()
{
  int n;
  cin>>n;

  for(int i = 1;i<=n;i++) cout<<max(i-1,n-i)*2<<endl;//先编译成功

  return 0;
}

 二.暴力法

暴力法(也称穷举法、枚举法或蛮力法)是指采用遍历(扫描)技术,即采用一定的策略将待求解问题的所有元素依次处理一次,从而找出问题的解。暴力法是基于计算机运算速度快这一特性,在解决问题时采取的一种“懒惰” 策略。这种策略不(或者说经过很少)思考,把问题所有情况或所有过程交给计算机去一一尝试,从中找出问题的解。

遍历

for循环

日期统计 - 蓝桥云课 (lanqiao.cn)

#include <iostream>
using namespace std;
int main()
{ 
  int a[100]={5,6,8,6,9,1,6,1,2,4,9,1,9,8,2,3,6,4,7,7,5,9,5,0,3,8,7,5,8,1,5,8,6,1,8,3,0,3,7,9,2,
  7,0,5,8,8,5,7,0,9,9,1,9,4,4,6,8,6,3,3,8,5,1,6,3,4,6,7,0,7,8,2,7,6,8,9,5,6,5,6,1,4,0,1,0,0,9,4,8,0,9,1,2,8,5,0,2,5,3,3};
  int month,day,num=0;
  for(month=1;month<=12;month++){
    if(month==2){
      day=28;
    }else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
      day=31;
    }else{
      day=30;
    }
    for(int dd=1;dd<=day;dd++){
      int j=0;
      int b[8]={2,0,2,3,month/10,month%10,dd/10,dd%10};
      for(int i=1;i<100;i++){
        if(a[i]==b[j]){
          j++;
        }
        if(j==8){
          num++;
          break;
        }
      }
    }
  }
  cout<<num;
  return 0;
}

枚举

枚举出来各种情况

 刷题统计 - 蓝桥云课 (lanqiao.cn)

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main()
{
  LL a,b,n;
  cin>>a>>b>>n;
  LL res=n/(5*a+2*b)*7;
  LL d[]={a,a,a,a,a,b,b};
  n=n%(5*a+2*b);
  for(int i=0;n>0;i++)
  {
    n-=d[i];
    res++;
  }
  cout<<res<<endl;
  return 0;
}//枚举暴力解法

🎁🎁🎁今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下,您的支持就是我前进的动力! 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

在linux下conda 创建虚拟环境失败的解决方法

报错内容一&#xff1a; Solving environment: failed CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/conda-forge/noarch/repodata.json> Elapsed: - An HTTP error occurred when trying to retrieve this URL. HTTP errors are…

Redis面试题28道

1、什么是类加载器&#xff0c;类加载器有哪些&#xff1f; 1、什么是类加载器&#xff1f; 类加载器负责加载所有的类&#xff0c;其为所有被载入内存的类生成一个 java.lang.Class 实例对象。 2、类加载器有哪些&#xff1f; JVM 有三种类加载器&#xff1a; &#xff08…

二分答案 蓝桥杯 2022 省A 青蛙过河

有些地方需要解释&#xff1a; 1.从学校到家和从家到学校&#xff0c;跳跃都是一样的&#xff0c;直接看作2*x次过河就可以。 2.对于一个跳跃能力 y&#xff0c;青蛙能跳过河 2x 次&#xff0c;当且仅当对于每个长度为 y 的区间&#xff0c;这个区间内 h 的和都大于等于…

一文彻底搞懂synchronized实现原理

文章目录 1. synchronized 是什么2. synchronized 可以实现的锁3. synchronized 使用4. synchronized 底层原理4.1 作用于同步代码块4.2 作用于方法 1. synchronized 是什么 synchronized 是 Java 中实现线程同步的关键字&#xff0c;用于保护共享资源的访问&#xff0c;确保在…

TCP/IP协议、HTTP协议和FTP协议等网络协议包简介

文章目录 一、常见的网络协议二、TCP/IP协议1、TCP/IP协议模型被划分为四个层次2、TCP/IP五层模型3、TCP/IP七层模型 三、FTP网络协议四、Http网络协议1、Http网络协议简介2、Http网络协议的内容3、HTTP请求协议包组成4、HTTP响应协议包组成 一、常见的网络协议 常见的网络协议…

如何打包一个手机软件

目录 前言&#xff1a; 准备工具&#xff1a; 创建项目&#xff1a; 打包程序&#xff1a; 前言&#xff1a; 我们平时手机上使用的程序&#xff0c;或者电脑上使用的程序都可以由Web程序打包而来的&#xff0c;而打包不是一个.html文件也不是一个.js文件而是一个大型的文…

【AAOS车载系统+AOSP14系统攻城狮入门实战课】:正式上线了(二百零三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

Blender怎么样启动默认移动和Cavity效果

在使用Blender的过程中&#xff0c;有一些特殊的技巧很重要。 比如默认地设置blender打开时&#xff0c;就是移动物体&#xff0c;这样怎么样设置的呢&#xff1f; 需要在界面里打开下面的菜单: 这样就找到默认设置的地方&#xff0c;把下面的移动勾选起来&#xff0c;这样点…

使用注意力机制的 LSTM 彻底改变时间序列预测

目录 一、说明二、LSTM 和注意力机制简介三、为什么要将 LSTM 与时间序列注意力相结合&#xff1f;四、模型架构训练与评估 五、验证六、计算指标七、结论 一、说明 在时间序列预测领域&#xff0c;对更准确、更高效的模型的追求始终存在。深度学习的应用为该领域的重大进步铺…

深度学习pytorch实战第P2周:CIFAR10彩色图片识别

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊](https://mtyjkh.blog.csdn.net/)** 零、引言&#xff08;温故而知新&#xff…

C++算法 —— 前缀和

一、【模版】前缀和 1.链接 【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) 2.描述 3.思路 前缀和的思想其实就是一种简单的动态规划&#xff0c;以i位置记录从头位置到i位置的和&#xff0c;然后间接的求一段连续区间的数组和&#xff0c;时间复杂度是O&#xff08;n&…

基于多模态单细胞数据构建共表达网络-MuSeGNN

本篇来自于MuSe-GNN: Learning Unified Gene Representation From Multimodal Biological Graph Data的补充材料。主要目的是从多模态数据中构建共表达网络。作者概述了使用CS-CORE&#xff0c;scTransform和SPARK-X进行预处理步骤和网络构建的算法细节。 目前存在大量用于图谱…

ESP32 引脚分配

请注意&#xff0c;以下引脚分配参考适用于流行的 30 引脚ESP32 devkit v1开发板。 仅输入引脚 GPIO34~39是GPIs–仅输入的管脚。这些引脚没有内部上拉或下拉电阻。它们不能用作输出&#xff0c;因此只能将这些管脚用作输入&#xff1a;GPIO 34、GPIO 35、GPIO 36、GPIO 39 S…

利用nginx-http-flv-module实现三种直播

目录 一、说明 二、目标 三、实现 四、直播地址 一、说明 此文在《流媒体服务器的搭建(支持hls)》《搭建nginx-http-flv-module直播系统》之后编写,很多详细内容需要参考它。 流媒体服务器的搭建(支持hls)

【解读Kubernetes架构】全面指南,带你掌握Kubernetes的设计原理与构成!

了解 Kubernetes 架构&#xff1a;综合指南 前言一、什么是 Kubernetes 架构&#xff1f;1.1、控制平面1.2、工作节点 二、Kubernetes 控制平面组件2.1、kube-api服务器2.2、etcd2.3、kube-scheduler2.4、Kube 控制器管理器2.5、云控制器管理器 &#xff08;CCM&#xff09; 三…

Web APIs简介 Dom

JS的组成 API API 是一些预先定义的函数&#xff0c;目的是提供应用程序与开发人员基于软件或硬件得以访问一组例程的能力&#xff0c;而又无需访问源码&#xff0c;或理解内部工作机制的细节 简单理解&#xff1a;API是给程序员提供的一种工具&#xff0c;以便能更轻松的实现…

车载电子电器架构 —— 工程EOL诊断

车载电子电器架构 —— 工程EOL诊断 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己…

数据的统计描述

data.info() 提供了关于数据框的简要摘要&#xff0c;包括&#xff1a; 索引类型数据列的数量非空值的数量&#xff08;针对每列&#xff09;每列的数据类型&#xff08;例如&#xff0c;int64, float64, object等&#xff09;内存使用情况提供了哪些列可能包含缺失值&#xff…

flink on yarn

前言 Apache Flink&#xff0c;作为大数据处理领域的璀璨明星&#xff0c;以其独特的流处理和批处理一体化模型&#xff0c;成为众多企业和开发者的首选。它不仅能够在处理无界数据流时展现出卓越的实时性能&#xff0c;还能在有界数据批处理上达到高效稳定的效果。本文将简要…

Linux文件IO(4):目录操作和文件属性获取

目录 1. 前言 2. 函数介绍 2.1 访问目录 – opendir 2.2 访问目录 – readdir 2.3 访问目录 – closedir 2.4 修改文件访问权限 – chmod/fchmod 2.5 获取文件属性 – stat/lstat/fstat 2.5.1 文件属性 – struct stat 2.6 文件类型 – st_mode 3. 代码练习 3.1 要求 3.2 代…