2022百度之星程序设计大赛 - 初赛 - 第二场 1001 和

这篇具有很好参考价值的文章主要介绍了2022百度之星程序设计大赛 - 初赛 - 第二场 1001 和。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

problem

百度之星程序设计大赛试题,# ICPC,算法,图论,c++
百度之星程序设计大赛试题,# ICPC,算法,图论,c++

solution

题意:

  • 给出长为n的序列,q次询问区间是否存在<=k个数之和>=x。
  • n,q < 1e5, k <10.

思路:文章来源地址https://www.toymoban.com/news/detail-568458.html

  • 因为要和>=x,所以让和尽可能大,即判断区间中最大的k个数之和是否大于x即可。
  • 即区间最大,倒数第2大,倒数第3大,倒数第k大之和即可,k<10,可以暴力。
  • 对于区间从小到大第x个数(即第x大的数),主席树板子即可,复杂度O(qklogn)。
#include<bits/stdc++.h>
using namespace std;
const int N = 100000 + 5;

int a[N], b[N], rt[N * 20], ls[N * 20], rs[N * 20], sum[N * 20];
int n, k, tot, sz, ql, qr, x, q, T;
int kk, xx;

void Build(int& o, int l, int r){
    o = ++ tot;
    sum[o] = 0;
    if(l == r) return;
    int m = (l + r) >> 1;
    Build(ls[o], l, m);
    Build(rs[o], m + 1, r);
}
void update(int& o, int l, int r, int last, int p){
    o = ++ tot;
    ls[o] = ls[last];
    rs[o] = rs[last];
    sum[o] = sum[last] + 1;
    if(l == r) return;
    int m = (l + r) >> 1;
    if(p <= m)  update(ls[o], l, m, ls[last], p);
    else update(rs[o], m + 1, r, rs[last], p);
}
int query(int ss, int tt, int l, int r, int k){
    if(l == r) return l;
    int m = (l + r) >> 1;
    int cnt = sum[ls[tt]] - sum[ls[ss]];
    if(k <= cnt) return query(ls[ss], ls[tt], l, m, k);
    else return query(rs[ss], rs[tt], m + 1, r, k - cnt);
}
void work(){
    scanf("%d%d", &ql, &qr);
    int len = (qr-ql+1);
    int res = 0;
    for(int i = len; i > len-kk; i--){
        //从小到大第i个数
        int ans = query(rt[ql - 1], rt[qr], 1, sz, i); 
        res += b[ans];
    }
    if(res >= xx)printf("Y\n");
    else printf("N\n");
}
int main(){
    scanf("%d%d%d%d", &n, &q, &kk, &xx);
    for(int i = 1; i <= n; i ++) scanf("%d", a + i), b[i] = a[i];
    sort(b + 1, b + n + 1);
    sz = unique(b + 1, b + n + 1) - (b + 1);
    tot = 0;
    Build(rt[0],1, sz);
    for(int i = 1; i <= n; i ++)a[i] = lower_bound(b + 1, b + sz + 1, a[i]) - b;
    for(int i = 1; i <= n; i ++)update(rt[i], 1, sz, rt[i - 1], a[i]);
    while(q --)work();
    return 0;
}

到了这里,关于2022百度之星程序设计大赛 - 初赛 - 第二场 1001 和的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【2022级研究生人工智能高级语言程序设计考试说明】

    考试题共包括4道大题: 第一大题:分类和回归----(7选1) 第二大题:降维和聚类----(6选1) 第三大题:API调用(课程中学习过的所有云平台)----(11选1) 第四大题:深度学习项目----(10选1) 题目采取随机分配方式,请查阅 人工智能高级语言程序设计考试-题目分配表 ,

    2024年02月11日
    浏览(60)
  • 全量知识系统 程序详细设计之“ AI操作系统” (百度搜索的Q&A)

    Q1. 今天讨论的题目是:全量知识系统 程序详细设计之“ AI操作系统”..本篇是基于前面的文章给出的系统核心(一个恰当的组织)之上的一个扩展,并在此基础上给出整个全量知识系统 (以下简称“全知系统”)程序详细设计大纲 全量知识系统(全知系统)程序详细设计大

    2024年04月09日
    浏览(75)
  • 基于微信小程序的宝宝成长记录分享系统设计与实现,java面试题百度云

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新Java开发全套学习资料》,

    2024年04月24日
    浏览(44)
  • 全量知识系统 程序详细设计 “智能”分类及标注的主题词架构(Q&A百度搜索)

    今天聊聊全量知识系统 程序详细设计中对“智能”的解读。先概列如下: 机器智能MI(计算智能-脑智)“部件part” 人工智能AI(感知智能-心智)”组件group” 机体智能OI  (认知智能-元智)  “零件order” 每一行由三段组成。每一段都和“主题”有关: 使用的格式及角色(“

    2024年04月22日
    浏览(57)
  • 手把手教会 VS2022 设计 Winform 高DPI兼容程序 (net461 net6.0 双出)

    C# Winform高DPI字体模糊. 高DPI下(缩放100%), UI设计器一直提示缩放到100%, 如果不重启到100%,设计的控件会乱飞. 新建.Net Windows窗体应用 (Winform)工程 选择.Net6.0 将窗体尺寸定为 1000 x 1000 , 用于后面检测缩放是否正确 添加一个按钮 , 尺寸定为 150 x 50 添加一个图片框 , 尺寸定为 300 x

    2024年02月07日
    浏览(43)
  • 基于SSM的百度地图新冠疫情风险区域管理系统设计与实现+54362(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

    随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设新冠疫情风险区域管理系统 。 本设计主要实现集人性化、高效率、便捷

    2024年02月03日
    浏览(39)
  • 百度之星-- 文心一言

             #百度##文心一言##AI#       自从chartGPT为代表的AI迅速崛起,百度公司也推出了属于我们国家自己的AI产品--文心一言;好骄傲嘞!!!文心一言是百度全新一代知识增强大语言模型,简单来说就是我们日常生活中各种数据啊,信息啊全喂给他,让他吃,然后消

    2024年02月12日
    浏览(38)
  • 首届数据安全大赛初赛web

    访问src得到源码 第一步需要伪造admin用户 可以看到都是通过jwt进行加密解密 很容易想到jwt的几种攻击方式,可以参考下文章 https://blog.csdn.net/miuzzx/article/details/111936737 首先试下改为none 一开始还以为是原型链污染,然后发现不太一样。 类似于一个套娃,如果键值是Object,又会

    2023年04月08日
    浏览(38)
  • 2021 RoboCom 世界机器人开发者大赛-本科组(初赛)

    比赛介绍 比赛信息 比赛官网:https://www.robocom.com.cn/ 报名流程:https://www.robocom.com.cn/content.html?cid=386 工信部发文:https://www.robocom.com.cn/content.html?cid=367 中国教育学会清单:https://m.cahe.edu.cn/site/content/14825.html 编程赛道通知:https://www.robocom.com.cn/content.html?cid=369 赛制说明: CAIA数

    2024年02月16日
    浏览(45)
  • 2021 RoboCom 世界机器人开发者大赛-高职组(初赛)

    编程题得分:100  总分:100 目录 7-1 机器人打招呼 (5分) 输入格式: 输出格式: 输入样例: 输出样例: 7-2 人脸识别 (10分) 输入格式: 输出格式: 输入样例 1: 输出样例 1: 输入样例 2: 输出样例 2: 7-3 月份输出 (10分) 输入格式: 输出格式: 输入样例: 输出样例: 7-4 字

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包