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

蓝桥杯备战刷题three(自用)

  1.合法日期

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{map<string,int>mp;int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};for(int i=1;i<=12;i++){for(int j=1;j<=days[i];j++){string s=to_string(i)+to_string(j);mp[s]=1;}}string m,d;cin>>m>>d;m+=d;if(mp[m])cout<<"yes"<<endl;else cout<<"no"<<endl;return 0;
}

 2.删除字符

#include <iostream>
#include <string>
using namespace std;
//使字典序最小,即删掉字典序大的
//可以删除q次
//在删除每一次时,把每一个字母删掉都试一下是不是比之前的小,如果是则贡献答案
int main()
{string s;cin>>s;string s1,s2,s3;s2=s3=s;int q;cin>>q;while(q--){for(int i=0;i<s.size();i++){s3=s;//原来的(保证每次for循环挑选出一位)s1=s3.erase(i,1);//从i开始删除1位if(s1<s2)//s2表示上一个答案{s2=s1;}}s=s2;//for循环结束后更新s}cout<<s<<endl;return 0;
}

 3.最小谈判

#include <iostream>
#include <queue>
using namespace std;
const int N=1000+10;
int n;
int ans;
priority_queue<int,vector<int>,greater<int>>q;//小根堆
int main()
{cin>>n;for(int i=1;i<=n;i++){int x;cin>>x;q.push(x);}while(q.size()!=1){if(q.size()==1)break;//每次取出最小的两个int t1=q.top();q.pop();int t2=q.top();q.pop();ans+=(t1+t2);q.push(t1+t2);}cout<<ans<<endl;return 0;
}

 4.排列小球

#include <iostream>
using namespace std;
//有限制地枚举方案,采用dfs可以进行搜索和回溯
int sum;//三个小球的总数量
int a[3];//三个小球各自的数量
int ans;//答案即方案数
void dfs(int sum,int x,int last)
{//sum为目前还未放入进行排列的小球的数量,x为目前要放入小球的数量,//last为上次放小球的小球颜色if(sum==0){//若能够全部放完则记录一次答案ans++;return;}for(int i=0;i<3;i++)//枚举三种颜色的小球,看那种符合题意{if(i==last)//颜色相同则跳过continue;//找到不同颜色的for(int j=x+1;j<=a[i];j++)//从x+1开始枚举{a[i]-=j;dfs(sum-j,j,i);a[i]+=j;//恢复现场}}
}
int main()
{for(int i=0;i<3;i++){cin>>a[i];sum+=a[i];}dfs(sum,0,-1);cout<<ans<<endl;return 0;
}

 5.灌溉

#include <iostream>
using namespace std;
const int N=110;
int a[N][N];
int b[N][N];
int n,m,t,k,ans;
int dx[]={-1,1,0,0};
int dy[]={0,0,-1,1};
int main()
{cin>>n>>m>>t;while(t--){int x,y;cin>>x>>y;a[x][y]=1;b[x][y]=2;//为出水管}cin>>k;for(int g=1;g<=k;g++){for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i][j]==1){for(int p=0;p<4;p++){int xx=i+dx[p];int yy=j+dy[p];if(xx<1||xx>n||yy<1||yy>m)continue;b[xx][yy]=1;}}}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(b[i][j]==2||b[i][j]==0)continue;a[i][j]=b[i][j];}}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i][j]==1)ans++;}}cout<<ans<<endl;return 0;
}

6.受伤的皇后

#include <iostream>
using namespace std;
const int N=15;
int a[N];//a[i]=j表示第i行中放在了第j列
int n;
int ans;
bool isvalid(int row,int i)
{//判断已经放好的前row-1行是否可行for(int j=1;j<row;j++){if(a[j]==i||(row+i==a[j]+j&&row-j<3)||(row-i==j-a[j]&&row-j<3))return false;}return true;
}
//注意:反对角线:x+y==定值;正对角线:x-y==定值
void dfs(int row)//代码前row-1行已经放好,现在要放第row行
{if(row==n+1)//前面n行已经放好了{ans++;return;}for(int i=1;i<=n;i++)//枚举是否可行的列{if(isvalid(row,i)){a[row]=i;dfs(row+1);a[row]=0;}}
}
int main()
{cin>>n;dfs(1);//表示前0行已经摆好了就OK//注意不能是dfs(0),表示前0-1行已经摆好了,不行!!cout<<ans<<endl;return 0;
}

7.跳跃

#include <iostream>
using namespace std;
const int N=110;
const int MIN=-1e9;
int f[N][N];
int n,m;
//注意9个方向!(特别是后三个)
int dx[]={-1,-2,-3,0,0,0,-1,-1,-2};
int dy[]={0,0,0,-1,-2,-3,-1,-2,-1};
//动态规划的思想
int main()
{cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>f[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){//找到可以从9个方向下来中的最大值int temp=MIN;for(int k=0;k<9;k++){int xx=i+dx[k];int yy=j+dy[k];if(xx<1||xx>n||yy<1||yy>m)continue;temp=max(temp,f[xx][yy]);}if(temp!=MIN)//找到了才进行更新{f[i][j]+=temp;}}}cout<<f[n][m]<<endl;return 0;
}

8.逆序对数

#include <iostream>
using namespace std;
// 求逆序对-->归并排序
int q[]={87,39,35,1,99,10,54,1,46,24,74,62,49,13,2,80,24,58,8,14,83,23,97,85,3,2,86,10,71,15};
int temp[33];
int ans=0;
void merge_sort(int q[],int l,int r)
{if (l >= r)return ;int mid= (l + r) / 2;merge_sort(q, l, mid);merge_sort(q, mid + 1, r);int k = 0, i = l, j = mid + 1;while (i <= mid && j <= r){if (q[i] <= q[j])temp[k++] = q[i++];//注意等号!!else{temp[k++] = q[j++];ans += mid - i + 1;}}while (i <= mid)temp[k++] = q[i++];while (j <= r)temp[k++] = q[j++];for (i = l, j = 0; i <= r; i++, j++)q[i] = temp[j];//注意赋值!}
int main()
{merge_sort(q,0,29);cout<<ans<<endl;return 0;
}

相关文章:

蓝桥杯备战刷题three(自用)

1.合法日期 #include <iostream> #include <map> #include <string> using namespace std; int main() {map<string,int>mp;int days[13]{0,31,28,31,30,31,30,31,31,30,31,30,31};for(int i1;i<12;i){for(int j1;j<days[i];j){string sto_strin…...

密码学——二次剩余

引言 二次剩余在许多密码学算法和数论问题中具有重要的作用,这个概念涉及到同余方程等概念。 同余 学习二次剩余的概念,首先要了解同余方程的概念,首先默认研究范围为整数,假设 f ( x ) f(x) f(x)是一个整系数多项式,我们讨论是否有整数值x满足同余式 f (...

10.7、华为数通HCIP-DataCom H12-821单选题:121-140

121、关于OSPF特性描述错误的是:D A、OSPF采用链路状态算法。 B、每个路由器通过泛洪 LSA 向外发布本地链路状态信息 C、每台 OSPF 设备都会收集其它路由器发来的LSA 所有的LSA 放在一起便组成了链路状态数据库LSDB, D、OSPF 区域0中所有路由器的 LSDB 都相同。 E、每台…...

多租户篇 | MatrixOne与MySQL全面对比

MySQL 是经典的关系型数据库管理系统&#xff0c;以其简单易用的特性在中小型业务系统中广受开发人员的喜爱。但是MySQL的架构也具有一定的局限性&#xff0c;在需要具备"隔离性"的业务&#xff0c;例如 SaaS 系统或微服务架构等对"数据隔离"及"资源隔…...

python Matplotlib Tkinter-->导出pdf报表

环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 reportlab 4.0.9 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk import tkinter as tk import tkinter.messagebox as messagebox impor…...

react-组件基础

1.目标 能够使用函数创建组件 能够使用class创建组件 能够给React元素绑定事件 能够使用state和setState() 能够处理事件中的this指向问题 能够使用受控组件方式处理表单 2.目录 React组件介绍 React组件的两种创建方式 React事件处理 有状态组件和无状态组件 组件中的state…...

The authenticity of host ‘github.com (20.205.243.166)‘ can‘t be established.

1、运行git clone报错&#xff1a; The authenticity of host github.com (20.205.243.166) cant be established. ECDSA key fingerprint is SHA256:p2QAC1TJYererOttrVc98/R1BWERWu3/LiyFdHfQM. Are you sure you want to continue connecting (yes/no/[fingerprint])? 这个…...

arduino uno R3驱动直流减速电机(蓝牙控制)

此篇博客用于记录使用arduino驱动直流减速电机的过程&#xff0c;仅实现简单的功能&#xff1a;PID调速、蓝牙控制 1、直流减速电机简介2、DRV8833电机驱动模块简介3、HC-05蓝牙模块简介电机转动测试4、PID控制5、蓝牙控制电机 1、直流减速电机简介 我在淘宝购买的电机&#x…...

智能家居控制系统(51单片机)

smart_home_control_system 51单片机课设&#xff0c;智能家居控制系统 使用及转载请标明出处&#xff08;最好点个赞及star哈哈&#xff09; Github地址&#xff0c;带有PPT及流程图 Gitee码云地址&#xff0c;带有PPT及流程图 ​ 以STC89C52为主控芯片&#xff0c;以矩阵键…...

软考高级系统分析师之 URL 知识点和例题

一、AI 解读 URL&#xff08;统一资源定位器&#xff09;的结构是网络上定位资源的一种方式。一个典型的URL由几个部分组成&#xff1a; 协议&#xff08;Scheme&#xff09;: 定义了用于访问资源的协议类型&#xff0c;如http、https、ftp等。例如&#xff0c;在 http://www.…...

vmware虚拟机centos中/dev/cl_server8/root 空间不够

在使用vmware时发现自己的虚拟机的/dev/cl_server8/root空间不够了&#xff0c;没办法安装新的服务。所以查了一下改空间的办法。 1.在虚拟机关闭的状态下&#xff0c;选中需要扩容的虚拟机->设置->硬件-> 硬盘->扩展->填写扩大到的值。 2.打开虚拟机&#xff…...

C++/数据结构:AVL树

目录 一、AVL树的概念 二、AVL树的实现 2.1节点定义 2.2节点插入 三、AVL树的旋转 3.1新节点插入较高左子树的左侧&#xff1a;右单旋 3.2新节点插入较高右子树的右侧&#xff1a;左单旋 3.3新节点插入较高左子树的右侧---左右&#xff1a;先左单旋再右单旋 3.4新节点插…...

Mysql数据库_max_allowed_packet参数详解

本文目录 参数含义查看max_allowed_packet参数值修改max_allowed_packet参数值修改配置文件方式&#xff08;需要重启&#xff09;直接修改配置方式&#xff08;不需要重启&#xff09;注意事项 出现场景 参数含义 max_allowed_packet参数指的是MySQL服务端或者客户端接收一次…...

【数仓】Hadoop集群配置常用参数说明

Hadoop集群中&#xff0c;需要配置的文件主要包括四个 配置核心Hadoop参数&#xff1a; 编辑core-site.xml文件&#xff0c;设置Hadoop集群的基本参数&#xff0c;如文件系统、Hadoop临时目录等。 配置HDFS参数&#xff1a; 编辑hdfs-site.xml文件&#xff0c;设置HDFS的相关参…...

【go从入门到精通】什么是go?为什么要选择go?

go的出生&#xff1a; go语言&#xff08;或Golang&#xff09;是Google开发的开源编程语言&#xff0c;诞生于2006年1月2日下午15点4分5秒&#xff0c;于2009年11月开源&#xff0c;2012年发布go稳定版。Go语言在多核并发上拥有原生的设计优势&#xff0c;Go语言从底层原生支持…...

MySQL篇—执行计划介绍(第二篇,总共三篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux&#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&#xff0c;并且也会默默的点赞收藏加关注❣…...

nest.js使用nest-winston日志一

nest-winston文档 nest-winston - npm 参考&#xff1a;nestjs中winston日志模块使用 - 浮的blog - SegmentFault 思否 安装 cnpm install --save nest-winston winstoncnpm install winston-daily-rotate-file 在main.ts中 import { NestFactory } from nestjs/core; im…...

LeetCode刷题笔记之二叉树(四)

一、二叉搜索树的应用 1. 700【二叉搜索树中的搜索】 题目&#xff1a; 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和一个整数值 val。你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则返回 null 。代码&a…...

【MATLAB源码-第150期】基于matlab的开普勒优化算法(KOA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 开普勒优化算法&#xff08;Kepler Optimization Algorithm, KOA&#xff09;是一个虚构的、灵感来自天文学的优化算法&#xff0c;它借鉴了开普勒行星运动定律的概念来设计。在这个构想中&#xff0c;算法模仿行星围绕太阳的…...

最佳实践:Websocket 长连接状态如何保持

WebSocket 是一种支持通过单个 TCP 连接进行全双工通信的协议&#xff0c;相较于传统的 HTTP 协议&#xff0c;它更适合需要实时交互的应用场景。此协议在现代 Web 应用中扮演着至关重要的角色&#xff0c;尤其是在需要实时更新和通信的场合下维持持久连接。本文将探讨 WebSock…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...