CSP - S 2024 模拟赛6补题报告

news2024/11/15 8:23:39

C S P   −   S    2024   模拟赛 6   补题报告 2024 年 8 月 5 日 − 2023 年 8 月 5 日 b y    邓时飏 CSP \ - \ S \ \ 2024 \ \ 模拟赛6 \ \ 补题报告 \\ 2024年8月5日 - 2023年8月5日 \\ by \ \ \ 邓时飏 CSP  S  2024  模拟赛6  补题报告202485202385by   邓时飏

一、做题情况

  • 第一题比赛 100 100 100 / 100 100 100 ,赛后通过

  • 第二题比赛 10 10 10 / 100 100 100 ,赛后通过

  • 第三题比赛 10 10 10 / 100 100 100 ,赛后通过

  • 第四题比赛 20 20 20 / 100 100 100 ,赛后通过

  • 比赛得分 140 140 140 / 400 400 400 ,赛后补题 340 340 340 / 400 400 400

二、题解报告

T1:

题面:

在这里插入图片描述
在这里插入图片描述

做法:

统计剩下的数字,在从小到大的插入就行

附:AC代码
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;
int n,m,a[maxn],p[maxn],f[maxn],j = 1,k = 1,w,h,e = 1;
int main(){
	freopen("seq.in","r",stdin);
	freopen("seq.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(int i = 1; i <= m; i++){
		scanf("%d",&a[i]);
		p[a[i]] = 1;
	}
	for(int i = 1; i <= n; i++){
		if(p[i] != 1){
			f[j] = i;
			j++;
		}
	}
	for(int i = 1; i <= n; i++){
		if(w == m){
			printf("%d\n",f[k]);
			k++;
		}
		else if(h == n-m){
			printf("%d\n",a[e]);
			e++;
		}
		else if(f[k] < a[e]){
			printf("%d\n",f[k]);
			k++;
			h++;
		}else {
			printf("%d\n",a[e]);
			e++;
			w++;
		}
	}
	return 0;
}

T2:

题面:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

做法:

我们可以通过遍历括号序列来计算当前序列的深度,并记录需要修改的括号对数量来降低深度,使其不超过 L

附:AC代码
#include<bits/stdc++.h>
#define for1(i,a,b) for( int i=(a);i<=(b);i++)
using namespace std;
int n,l,dep,tot;
char a[1000005];
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    freopen("bracket.in","r",stdin);
    freopen("bracket.out","w",stdout);
    cin>>n>>l;
    for1(i,1,n) cin>>a[i];
    for1(i,1,n){
        if(a[i]=='(') dep++;
        else dep--;
        if(dep<0){
            tot++;
            dep+=2;
        }else if(dep>l){
            tot++;
            dep-=2;
        }
    }
    cout<<tot;
    return 0;
}

T3:

题面:

在这里插入图片描述
在这里插入图片描述

做法:

我们可以使用一个优先队列(最小堆)来实现这个贪心选择过程。在每次选择任务时,将最小的基础时间任务拿出来,并计算其完成所需的总时间。如果总时间不超过 T,则完成该任务并更新剩余时间和已完成任务数量。

附:AC代码
#include<bits/stdc++.h>
#define MAXN 100010
using namespace std;
typedef long long ll;
ll n,tt;
struct rw{
    ll t,p;
}a[MAXN];
ll f[MAXN];
bool cmp(rw a,rw b){return a.p>b.p;}
int main(){
    freopen("work.in","r",stdin);
    freopen("work.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);    
    memset(f,0x3f,sizeof f);
    cin >> n>> tt;
    for(int i=1;i<=n;i++) cin >> a[i].t;
    for(int i=1;i<=n;i++) cin >> a[i].p;
    sort(a+1,a+n+1,cmp);
    f[0]=0;
    for(int i=1;i<=n;i++){
        for(int j=24;j>=1;j--){
            f[j]=min(f[j],f[j-1]+a[i].t+(j-1)*a[i].p);
        }
    }
    for(int i=1;i<=n;i++){
        if(f[i]>tt){
            cout << i-1;
            return 0;
        }
    }
    cout << n;
    return 0;
}

T4:

题面:

在这里插入图片描述
在这里插入图片描述

做法:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

附:AC代码
#include<bits/stdc++.h>

typedef std::pair<int,int> pii;
const int MAXN = 200011;

int deg[MAXN],cross[MAXN];
bool del[MAXN],tag[MAXN];
std::vector<int>g[MAXN],sp;
std::set<pii>S;
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;++i)
    {
        int u,v;
        scanf("%d%d",&u,&v);
        g[u].emplace_back(v),g[v].emplace_back(u);
        ++deg[u],++deg[v];
    }
    for(int i=1;i<=n;++i)S.insert(pii(deg[i],i));
    while(S.size()&&S.begin()->first!=(--S.end())->first)
    {
        int u=S.begin()->second;
        //printf("get %d\n",u);
        S.erase(S.begin());
        del[u]=1;
        for(auto v:g[u])
        {
            if(del[v])continue;
            S.erase(pii(deg[v],v));
            --deg[v];
            S.insert(pii(deg[v],v));
        }
    }
    for(auto P:S)sp.emplace_back(P.second);
    // printf("SP:");
    // for(auto x:sp)printf("%d ",x);
    // puts("");
    int x=sp[0];
    if(deg[x]+1!=sp.size())
    {
        puts("0");return 0;
    }
    int ans=0,err=0,sc=0;
    for(int u=1;u<=n;++u)
        for(auto v:g[u])
            if(del[u]&&del[v])++err;
            else if(!del[u]&&del[v])++cross[u],++sc;
    err>>=1;
    if(err==0)++ans;
    for(int u=1;u<=n;++u)
        if(del[u])
        {
            //printf("u=%d\n",u);
            int c=0,ex=0,cc=0;
            for(auto v:g[u])
                if(!del[v])++c,tag[v]=1,cc+=cross[v];
                else ++ex;
            //printf("c=%d,ex=%d\n",c,ex);
            if(c==sp.size()&&err==ex)++ans;
            else if(c+1==sp.size()&&err==ex&&cc==sc)++ans;
        }
    for(auto x:sp)
        if(!cross[x]&&!err)++ans;
    printf("%d\n",ans);
    return 0;
}

四、赛后总结

提升实力,控制时间。

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

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

相关文章

zotero安装与使用

文献管理工具&#xff09; Zotero软件官网https://www.zotero.org/download&#xff0c;不修改安装位置&#xff0c;默认安装就行&#xff1b;安装完成官网直接邮箱注册一个账号&#xff0c;软件登陆账号:编辑-首选项-同步 修改论文保存位置&#xff0c;有从其它电脑拷贝过来的…

强力巨彩又上新了!室内LED全彩显示屏尽“显”新体验

随着显示技术的进步和万物互联时代的到来&#xff0c;LED全彩显示屏在广告传媒、体育场馆、交通诱导、舞台演出等领域的应用持续扩大。强力巨彩更新迭代&#xff0c;室内LED全彩显示屏再次上新&#xff0c;其融合前沿GOB镀膜工艺&#xff0c;在防护性、成像质量、互动体验及设计…

视频美颜SDK与直播美颜插件在实时视频中的应用

视频美颜技术作为提升视频质量的重要手段&#xff0c;已经成为了许多视频和直播应用中不可或缺的一部分。本篇文章&#xff0c;笔者将探讨视频美颜SDK与直播美颜插件在实时视频中的应用&#xff0c;并分析其在用户体验和技术实现方面的重要性。 一、视频美颜SDK的应用场景 视…

el-tree懒加载状态下实现搜索筛选(纯前端)

1.效果图 &#xff08;1&#xff09;初始状态 &#xff08;2&#xff09;筛选后 2.代码 <template><div><el-inputplaceholder"输入关键字进行过滤"v-model"filterText"input"searchValue"></el-input><el-tree…

AI人工智能 时间序列数据介绍

AI人工智能 时间序列数据介绍 预测给定输入序列中的下一个是机器学习中的另一个重要概念。 本章为您提供有关分析时间序列数据的详细说明。 时间序列数据介绍 时间序列数据表示处于一系列特定时间间隔的数据。 如果我们想在机器学习中构建序列预测&#xff0c;那么必须处理连续…

DDei在线设计器-加载数据

加载数据 本示例演示了怎样加载已有的JSON到设计器中。 如需了解详细的API教程以及参数说明&#xff0c;请参考DDei文档 外部数据JSON demo.vue <script setup lang"ts"> import DDeiEditorView from "ddei-editor"; import { DDeiCoreStandLayou…

魔塔社区程序的`datasets.utils`导入`_datasets_server`错误问题的解决办法

运行魔塔社区的的一个识别图像文件中文字的模型程序&#xff1a; 出现如下的错误提示&#xff1a; from datasets.utils import _datasets_server,file_utils ImportError: cannot import name _datasets_server from datasets.utils (D:\PycharmProjects\minicpm_cuda_test\ve…

C语言指针详解(三)目录版

C语言指针详解&#xff08;三&#xff09;目录版 1、字符指针变量1.1、字符指针变量的一般应用1.2、常量字符串1.3、常量字符串与普通字符串的区别1.3.1 常量字符串的不可修改性1.3.2 常量字符串的存储 2、数组指针变量2.1、数组指针变量定义2.2、数组指针变量的初始化 3、二维…

数据科学家必须掌握的12个Python功能

Python 已经成为数据科学家的必选语言&#xff0c;从数据处理到机器学习&#xff0c;它几乎无所不能。本文将探讨一些Python特性&#xff0c;这些特性不仅能帮助你编写更高效、更易读、更易维护的代码&#xff0c;还特别适合数据科学的需求&#xff0c;使你的代码简洁且优雅。 …

选择 websim网站:一个用自然语言快速构建生成功能齐全的网站

Websim AI 是一个前沿的网站创建平台&#xff0c;旨在通过人工智能技术彻底改变网页设计流程。用户只需用自然语言描述他们的愿景&#xff0c;即可快速生成功能齐全的网站。该工具非常适合从初学者到经验丰富的开发人员使用&#xff0c;可以快速生成应用程序、网站原型或试验网…

【LLM大模型】“提示工程”的技术分类

尽管大模型非常强大&#xff0c;但仍然有着自身的局限。大模型可以生成看起来非常值得信赖的内容并引用外部资源&#xff0c;但是&#xff0c;大模型本身并不能直接访问互联网也不能访问互联网的资源。偏见往往会使大模型产生某些定型的内容。当被问到一个不知道答案的问题时&a…

在Pxe环境下使用kickstart自动化批量安装Linux系统

一、环境准备 1.rhel7.9操作系统 2.开启主机图形 systemctl set-default graphical.target reboot 如果你的服务器安装了图形&#xff0c;直接切换启动级别5&#xff1a; init 5 3.配置好ip&#xff0c;网关&#xff0c;dns地址 nmcli connection add ifname eth0 con-na…

初学Ubuntu及遇到的问题

初学Ubuntu及遇到的问题 Ubuntu的安装 1.安装VMware Workstation Pro&#xff08;网上有很多资料&#xff0c;本文就不细说啦~~~&#xff09; 2.在Ubuntu官网下载iso文件>https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/ iso文件随便放在哪个位置&#xff…

免费【2024】springboot 电影院订票信息管理系统的设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

计算机毕业设计选题推荐-教务管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

六点建议有效防止晶振老化

晶振作为电子设备中的关键元件&#xff0c;其稳定性直接影响到整个系统的性能。晶振老化是导致其性能下降的主要原因之一。为了延长晶振的使用寿命&#xff0c;以下六点建议将帮助您有效防止晶振老化。 防止晶振老化的六点建议 1.避免裸手触碰&#xff1a; 不要用裸手直接触…

蓝牙耳机哪个品牌质量最好最耐用?4款主流品牌开放式耳机测评

开放式蓝牙耳机现在确实是很火爆啊。2023年期间&#xff0c;中国蓝牙耳机市场的整体销量约为8552万台&#xff0c;同比增长了7.5%。其中&#xff0c;开放式耳机市场销量达到了652万台&#xff0c;同比增长了130.2%。那其实这些数据就表明了开放式蓝牙耳机在中国市场正迅速增长&…

java.net.BindException: 地址已在使用

java.net.BindException: 地址已在使用&#xff0c;也可以说是端口被占用&#xff0c;通常出现在启动服务的时候。 安装netstat&#xff1a; sudo yum install net-tools 1、出错地方如图所示&#xff1a; 2、执行netstat -alnp | grep 8125 3、kill - 9 1899

Linux学习第58天:Regmap API 实验

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 本章思维导图如下&#xff1a; 一、Regmap API简介 1、什么是Regmap 寄存器设置 Linux 下使用 i2c_transfer 来读写 I2C 设备中的寄存器&#xff0c; SPI 接口的话使…

Java:设计模式(单例,工厂,代理,命令,桥接,观察者)

模式是一条由三部分组成的通用规则&#xff1a;它代表了一个特定环境、一类问题和一个解决方案之间的关系。每一个模式描述了一个不断重复发生的问题&#xff0c;以及该问题解决方案的核心设计。 软件领域的设计模式定义&#xff1a;设计模式是对处于特定环境下&#xff0c;经常…