当前位置:首页 > 工具 > 正文内容

2024牛客暑期多校训练营第一场题目解析与实现

访客 工具 2026年6月30日 1

题目C:动态维护序列权值

通过观察发现,每个元素a[i]在序列中经过多次操作后的权重为a[i]*i。当执行删除尾节点操作时,需从总和中减去该元素的权重;添加新元素时则将其权重累加至总和。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN=1e6+10;
ll a[MAXN];
void solve(){
    int q;cin>q;
    int cnt=0;ll total=0;
    while(q--){
        int t,v;cin>t>v;
        while(t--&&cnt>0){
            total -= a[cnt]*cnt;
            cnt--;
        }
        a[++cnt]=v;
        total += v*cnt;
        cout<(total%1000000007)<'\n';
    }
}
int main(){ios::sync_with_stdio(false);solve();}

题目H:双赛制排名计算

需分别计算队伍在两场比赛中的最优排名。通过二分查找确定基准排名后,排除具有双参赛资格的队伍干扰,最终取两场排名的最小值。

#include<bits/stdc++.h>
using namespace std;
struct Team{string name;ll score,time;};
bool cmp(Team a,Team b){return a.score!=b.score?a.score>b.score:a.time<b.time;}
void solve(){
    int n,m;cin>n>m;
    mapcount;
    Team A[n+1],B[m+1];
    for(int i=1;i<=n;i++)cin>A[i].name>A[i].score>A[i].time;
    for(int i=1;i<=m;i++)cin>B[i].name>B[i].score>B[i].time;
    sort(A+1,A+n+1,cmp);
    sort(B+1,B+m+1,cmp);
    // 二分查找逻辑省略
}

题目A:子序列位运算统计

采用组合数学方法计算满足条件的序列数量。通过预处理组合数表,结合快速幂运算,最终得到结果。

#include<bits/stdc++.h>
using namespace std;
const int MOD=1e9+7;
int C[6000][6000];
void precompute(){
    for(int i=0;i<6000;i++)C[i][0]=1;
    for(int i=1;i<6000;i++)
        for(int j=1;j<=i;j++)
            C[i][j]=(C[i-1][j-1]+C[i-1][j])%MOD;
}
void solve(){
    int n,m,q;cin>n>m>q;
    precompute();
    int ans=0;
    for(int i=1;i<=n;i++){
        int val=pow(2,i)-1;
        val=(val%MOD+MOD)*pow(2,m-1,MOD)%MOD;
        ans=(ans+val*C[n][i]%MOD)%MOD;
    }
    cout<ans<'\n';
}

题目I:光路追踪算法

利用深度优先搜索识别链式结构与环形结构。通过记录访问状态,区分不同路径类型并计算对应的镜面数量。

#include<bits/stdc.h>
using namespace std;
char grid[1010][1010];
int vis[1010][1010][4];
vector<tuple<int,int,int>> path;
void dfs(int x,int y,int dir){
    if(x<1||x>1000||y<1||y>1000)return;
    if(vis[x][y][dir])return;
    path.push_back({x,y,dir});
    vis[x][y][dir]=1;
    // 根据网格字符进行方向转换逻辑
}
void solve(){
    // 边界扫描与环形结构处理逻辑
}

题目B:特殊子序列排除

通过动态规划计算唯一合法子序列的数量,并从总方案数中扣除。核心在于构建二维DP数组,记录特殊位分配方案。

#include<bits/stdc++.h>
using namespace std;
const int MOD=1e9+7;
int dp[5005][5005];
void precompute(){
    for(int i=1;i<5005;i++)
        for(int j=1;j<=i;j++)
            dp[i][j]=(dp[i-1][j-1]+dp[i][j-1])*i%MOD;
}
void solve(){
    int n,m,q;cin>n>m>q;
    precompute();
    int ans=0;
    for(int i=2;i<=n;i++){
        int val=...; // 计算逻辑
        ans=(ans+val)%MOD;
    }
    cout<ans<'\n';
}

题目D:树状数组应用

针对模数特性设计位运算方案,使用树状数组维护前缀和。通过位拆分策略,将复杂度控制在可接受范围。

#include<bits/stdc++.h>
using namespace std;
const int MAX_BIT=21;
int tree[MAX_BIT+2];
void update(int idx,int val){...}
int query(int idx){...}
void solve(){
    int q;cin>q;
    while(q--){
        int op,val;cin>op>val;
        if(op==1)update(val,1);
        else cout<query(val)<'\n';
    }
}

相关文章

Trojan服务器搭建与配置

一、整体架构(先对齐认知)Clash Meta (PC / iOS / Android)        ↓ TLS   Trojan Server (443)        ↓     InternetTrojan 的核心是: TLS + HTTPS 流量伪装 看起来像正常网站 非常适合...

Tailscale 的详细用法

Tailscale 是一种基于 WireGuard 协议 的 零配置 VPN(虚拟私有网络)服务,让设备之间能够 安全、加密地直接连接,就像它们在同一个本地网络一样。它的核心特点是 简单、安全、跨平台。Tailscale 非常适合 没有公网 IP、两台电脑不在同一局域网 的场景。 简单来说,Tailscale 是什么?Tailscale 是一款让你的各种设备(电脑、服务器、手机...

Clash Tun 模式 导致 爱快(iKuai SD-Wan)内网域名无法访问

一、Clash  DNS 配置dns:  enable: true  listen: 0.0.0.0:53  ipv6: true  enhanced-mode: redir-host  nameserver:    - 223.5.5.5    - 223.6.6.6iKuai 内网域名 ...

深入解析Node.js运行环境与异步I/O架构

深入解析Node.js运行环境与异步I/O架构

核心定义与价值Node.js本质上是一个JavaScript运行环境,而非编程语言或应用框架。它赋予了JavaScript脱离浏览器在服务端、命令行工具及网络应用中执行的能力。其核心意义在于:用单一语言打通前后端开发壁垒。基于事件驱动与非阻塞I/O的架构特性,Node.js在处理API网关、实时通信及微服务等I/O密集型场景时表现卓越,已成为现代后端工程的主流选择。浏览器沙箱限制1995年Java...

ADO.NET SQL参数化查询的最佳实践

在 ADO.NET 中执行 SQL 查询时,参数化查询是一种关键的安全措施和性能优化手段。它通过将 SQL 命令和用户提供的数据分开处理,有效防止了 SQL 注入攻击,并有助于数据库缓存执行计划。下面总结了几种常用的参数化查询方式。 1. 使用 SqlParameter 对象(推荐) 这是最推荐的参数化查询方式。通过显式创建 SqlParameter 对象,您可以精确控制参数的类...

基于ELK的日志集中化分析系统搭建

构建统一日志管理平台的必要性 在分布式架构中,各服务节点独立运行,日志分散存储于不同主机。传统通过命令行工具如grep、awk逐个检索日志的方式,在数据量庞大时效率极低,难以实现快速定位问题。为提升运维效率,需建立集中式日志处理体系,具备日志采集、传输、存储、分析与告警能力。 ELK技术栈核心组件解析 Elasticsearch:分布式搜索引擎,支持全文检索、实时数据分析和高可用集群部署,...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。