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

【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]的存储状态

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

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

相关文章

代码学习记录35

随想录日记part35 t i m e &#xff1a; time&#xff1a; time&#xff1a; 2024.04.03 主要内容&#xff1a;今天开始要学习动态规划的相关知识了&#xff0c;今天的内容主要涉及三个方面&#xff1a; 最后一块石头的重量 II &#xff1b;目标和 &#xff1b;一和零 。 1049…

Linux基础篇:文件系统介绍——根目录下文件夹含义与作用介绍

Linux文件系统介绍——文件夹含义与作用 Linux文件系统是一个组织和管理文件的层次结构。它包括了目录、子目录和文件&#xff0c;这些都是按照一定的规则和标准进行组织的。以下是Linux文件系统的一些关键组成部分&#xff1a; 1./bin&#xff1a; 该目录包含了系统启动和运…

抽象类与接口(3)(接口部分)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&…

TiDB单机版安装和连接访问

TiDB单机版安装和连接访问 1、下载 $wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz 2、解压缩 $tar -zxvf tidb-latest-linux-amd64.tar.gz 3、启动TiDB 启动PD $./bin/pd-server --data-dirpd --log-filepd.log 启动tikv $./bin/tikv-server --pd…

基于深度学习的扑克牌识别软件(网页版+YOLOv8_v7_v6_v5代码+训练数据集)

摘要&#xff1a;本文深入研究了基于YOLOv8/v7/v6/v5的扑克牌识别软件&#xff0c;核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行性能指标对比&#xff1b;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码&#xff0c;及基于Streamlit的…

NASA数据集——1983 ——2016 年期间北美森林地点的野外地块特征数据、衍生的地上和地下燃烧碳以及获取的火灾气象指数(FWI)

文件修订日期&#xff1a;2022-05-04 数据集版本: 1 简介 该数据集综合了 1983 年至 2016 年期间美国阿拉斯加、西北地区和加拿大萨斯喀彻温省被烧毁的北方森林地点的野外地块特征数据、衍生的地上和地下燃烧碳以及获取的火灾气象指数&#xff08;FWI&#xff09;系统组件。…

基于 Quartz.NET 可视化任务调度平台 QuartzUI

一、简介 QuartzUI 是基于 Quartz.NET3.0 的定时任务 Web 可视化管理&#xff0c;Docker 打包开箱即用、内置 SQLite 持久化、语言无关、业务代码零污染、支持 RESTful 风格接口、傻瓜式配置、异常请求邮件通知等。 二、部署 QuartzUI 从 2022 年到现在没有提交记录&#xf…

计算机网络:局域网的数据链路层

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

SQLyog连接数据库8.0版本解析错误问题解决方案

问题描述&#xff1a; 解决方案&#xff1a; alter userrootlocalhostidentified with mysql_native_password by 密码; 再次连接就可以了。

Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件

Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件 AutoCAD 2024 开始原生支持 Apple Silicon&#xff0c;性能提升至 2 倍 请访问原文链接&#xff1a;https://sysin.org/blog/autodesk-autocad/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处…

Express框架搭建项目 node.js

文章目录 引言Express框架介绍express安装环境准备写一个简单的项目展示 文章总结 引言 Express是一个基于Node.js平台的轻量级Web应用框架&#xff0c;它提供了简洁的API和丰富的功能&#xff0c;使得开发者能够快速地构建Web服务器和API。本文将带领大家从零开始&#xff0c…

【初阶数据结构】——leetcode:160. 相交链表

文章目录 1. 题目介绍2. 思路1&#xff1a;暴力求解算法思想代码实现 3. 思路2&#xff1a;快慢指针算法思想代码实现 1. 题目介绍 链接: link 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&…

文件批量重命名管理,一键将图片的名称进行统一重命名,高效管理文件

在数字时代&#xff0c;我们的生活中充满了各种文件&#xff0c;特别是图片文件。随着时间的推移&#xff0c;我们可能会遇到这样的问题&#xff1a;文件命名不规范&#xff0c;难以快速找到需要的图片。这时&#xff0c;一款强大的文件批量重命名管理工具就显得尤为重要。 首…

简约好用的TCPUDP小工具

csdn下载地址&#xff1a; https://download.csdn.net/download/a876106354/89077745

RUST语言流控制语句使用示例

1.判断语句 单条件判断: let mut x128;//声明一个32位整数x512;//修改变量原来的值为新值//如果 ... 否则//判断变量x是否大于256if x>256 {println!("x>256,x{}",x);}else {println!("x<256,x{}",x);}let is_ok:bool true;//rust中不用()if i…

前端三剑客 —— CSS (第三节)

目录 上节回顾&#xff1a; 1.CSS使用有以下几种样式; 2.选择器 1.基本选择器 2.包含选择器 3.属性选择器 [] 4.伪类选择器 &#xff1a; 5.伪元素选择器 ::before :after 3.常见样式的使用 常见样式参考表 一些特殊样式 媒体查询 自定义字体 变换效果 translate&…

2024年湖北中级职称报名时间是什么时候呢?

甘建二十年耕耘职称&#xff0c;关于职称大小事都了解 2024年湖北部分地区职称报名都已经结束了&#xff0c;恩施、十堰、黄冈、黄石、东湖高新上半年、襄阳国企事业单位和副高职称&#xff0c;这些地方的报名都截止了&#xff0c;一年一次&#xff0c;错过了有的没有第二次的话…

基于python的matplotlib库绘制折线图

代码 import matplotlib.pyplot as plt# New data for CIDEr metric beam_sizes [1, 3, 5, 7] CIDEr_new [35.2, 35.6, 38.1, 37.6]# Creating the plot for CIDEr vs Beam Size with the updated data plt.figure(figsize(10, 6)) plt.plot(beam_sizes, CIDEr_new, marker^…

pygame三角形重心坐标填充 沿x轴旋转

import pygame from pygame.locals import * import sys import math# 初始化Pygame pygame.init()# 设置窗口大小 width, height 800, 600 screen pygame.display.set_mode((width, height)) pygame.display.set_caption(3D Triangle Fill with Barycentric Coordinates)# 定…

Samba 总是需要输入网络凭证

输入网络凭证&#xff1a; 用户名是 cat /etc/samba/smb.conf&#xff0c;查看 valid users mxw 为用户名。而不是其他账号名或者用户名&#xff0c;更不是登录计算机时的计算机名&#xff1b; 密码是 需要记住安装samba服务器时&#xff0c;自己设置的password&#xff1…