【蓝桥杯第十四届省赛B】(部分详解)

news/2025/2/14 6:59:04/

【01串的熵】

https://www.lanqiao.cn/problems/3498/learning/?subject_code=1&group_code=4&match_num=14&match_flow=1&origin=cup

#include <iostream>
#include<cmath>
using namespace std;
int main()
{double n=23333333;double sum=0;for(int x=0;x<=n/2;x++){sum=0;sum-=x*(x/n)*log2(x/n)+(n-x)*(n-x)/n*log2((n-x)/n);if(sum>11625907.5&&sum<11625907.6){cout<<x;break;}}return 0;
}

填空题难度还行,没有考虑每次循环都要初始化sum为0(出来挨打)(小数记得double一下)

【日期统计】

https://www.lanqiao.cn/problems/3492/learning/?subject_code=1&group_code=4&match_num=14&match_flow=1&origin=cup

#include <iostream>
using namespace std;int main()
{int array[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 count = 0;int monthday[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//方便一一对照月份for (int month = 1; month <= 12; month++){for (int day = 1; day <= monthday[month]; day++){int k = 0;int date[8] = {2, 0, 2, 3, month / 10, month % 10, day / 10, day % 10};//0几的内种for (int i = 0; i < 100; i++){if (array[i] == date[k])k++;if (k == 8){count++;break;}}}}cout << count;return 0;
}

很久之前写的了,今天又敲了一遍。先循环构造对照数组,再一一比对就o了(少了个日期,朕说怎么过不了,被自己蠢笑啦~(比心)爱笑的小女孩自从学算法之后更爱笑了)

【字串简写】

https://www.lanqiao.cn/problems/3514/learning/?subject_code=1&group_code=4&match_num=14&match_flow=1&origin=cup

#include <iostream>
#include<string>
using namespace std;
int main()
{int k;cin>>k;string s;char c1,c2;cin>>s>>c1>>c2; long long cnt=0,res=0;for(int i=0,j=k-1;j<s.length();i++,j++)//{if(s[i]==c1)cnt++;if(s[j]==c2)res+=cnt;}cout << res;return 0;
}

LL 必须永远被坚定地选择,第一次做有个bug就是不能同时满足等于c1和c2,这样就只会筛选长度为4的串了,所以得先筛一个存着,碰到第二个就加一下

【冶炼金属】

#include <iostream>
#include<algorithm>
using namespace std;
using LL=long long;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);// vo=x;LL n,a,b,x,y,vmin,vmax;cin>>n; for(int i=1;i<=n;i++){cin>>a>>b;   x=a/b;       y=a/(b+1)+1; vmin=max(vmin,y);vmax=min(vmax,x);}cout<<vmin<<" "<<vmax;return 0;
}

在这里插入图片描述

【飞机降落】

感觉难起来了

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define LL long long
LL t[15],d[15],l[15];
LL n;
bool flag;
bool biao[15];
void dfs(LL pos,LL cnt){if(n==pos){flag=true;return;}for(LL i=1;i<=n;++i){if(biao[i]==false&&cnt<=t[i]+d[i]){biao[i]=true;dfs(pos+1,max(cnt,t[i])+l[i]);biao[i]=false;if(flag) return;}}
}
int main(void){LL tt;cin>>tt;while(tt--){cin>>n;for(LL i=1;i<=n;++i){cin>>t[i]>>d[i]>>l[i];}flag=false;for(LL i=1;i<=n;++i){biao[i]=false;}dfs(0,0);if(flag) cout<<"YES"<<endl;else cout<<"NO"<<endl;}
}

【接龙数列】

线性dp

#include <iostream>
using namespace std;
using LL=long long;
const LL N=1e5+3;
int dp[10];
int main()
{int n;cin>>n;int ma=0;string s;for(int i=0;i<n;i++){cin>>s;int x=s[0]-'0';int y=s[s.size()-1]-'0';dp[y]=max(dp[x]+1,dp[y]);ma=max(ma,dp[y]);}cout<<n-ma;// 请在此输入您的代码return 0;

在这里插入图片描述

dp[y]=max(dp[x]+1,dp[y])
如果首位和前面存的末位相同的话说明可以形成接龙数列,在末位存储上++;如果不能就重新形成一个接龙数列
以第五个数据为例,以3开头以2结尾,3!=2,如果选择则重新开辟以3为首的存储,如果不选还是保持之前dp[2]的存储状态


http://www.ppmy.cn/news/1404548.html

相关文章

【与C++的邂逅】---- 函数重载与引用

关注小庄 顿顿解馋(▿) 喜欢的小伙伴可以多多支持小庄的文章哦 &#x1f4d2; 数据结构 &#x1f4d2; C 引言 : 上一篇博客我们了解了C入门语法的一部分&#xff0c;今天我们来了解函数重载&#xff0c;引用的技术&#xff0c;请放心食用 ~ 文章目录 一. &#x1f3e0; 函数重…

【python】python 测试,为什么我们需要测试,pytest的使用

为什么需要测试 &#x1f525;测试&#xff0c;软件开发的秘密武器&#x1f525; ✨大家好&#xff0c;今天就来跟大家聊聊软件开发中的一项超级重要的环节——测试&#xff01;&#x1f440; &#x1f3af;测试&#xff0c;是软件开发的灵魂&#xff0c;是确保代码正确运行…

C#面:虚函数和抽象函数的区别

C#中的虚函数和抽象函数都是实现多态性的重要概念&#xff0c;但它们有一些区别。 定义方式&#xff1a; 虚函数&#xff1a;在基类中使用 virtual 关键字定义&#xff0c;可以在派生类中被重写。抽象函数&#xff1a;在抽象类或接口中使用abstract 关键字定义&#xff0c;必…

LeetCode 977 有序数组的平方(双指针法)

给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输入&#xff1a;nums [-4,-1,0,3,10] 输出&#xff1a;[0,1,9,16,100] 解释&#xff1a;平方后&#xff0c;数组变为 […

项目实战:电影评论情感分析系统

目录 1.引言 2.数据获取与预处理 3.构建文本分类模型&#xff08;使用LSTM&#xff09; 4.结果评估与模型优化 4.2.结果评估 4.2.模型优化 5.总结 1.引言 在本篇文章中&#xff0c;将通过一个完整的项目实战来演示如何使用Python构建一个电影评论情感分析系统。涵盖从数…

基于Keras, OpenCv, PyQt5表情检测系统

1. 前言 在这个人工智能成为超级大热门的时代&#xff0c;人脸表情识别已成为其中的一项研究热点&#xff0c;而卷积神经网络、深度信念网络和多层感知器等相关算法在人脸面部表情识别领域的运用最为广泛。面部的表情中包含了太多的信息&#xff0c;轻微的表情变化都会反映出人…

深度学习:基于PyTorch的模型解释工具Captum

深度学习&#xff1a;基于PyTorch的模型解释工具Captum 引言简介示例安装解释模型的预测解释文本模型情绪分析问答 解释视觉模型特征分析特征消融鲁棒性 解释多模态模型 引言 当我们训练神经网络模型时&#xff0c;我们通常只关注模型的整体性能&#xff0c;例如准确率或损失函…

Ubuntu20.04安装MatlabR2018a

一、安装包 安装包下载链接 提取码&#xff1a;kve2 网上相关教程很多&#xff0c;此处仅作为安装软件记录&#xff0c;方便后续软件重装&#xff0c;大家按需取用。 二、安装 1. 相关文件一览 下载并解压文件后&#xff0c;如下图所示&#xff1a; 2. 挂载镜像并安装 2…