2021CCPC华为云挑战赛

A.对象存储调度问题

贪心问题,使用优先队列(大顶堆)存一下分条,然后从小的对象开始填充。如果碰到无法填充的情况直接输出"No",因为堆顶元素是堆里最大的,它装不下后面的也一样装不下。

#include <bits/stdc++.h>
using namespace std;const int N = 1e5 + 10;
int a[N], b[N];priority_queue<int> q;signed main(){int t = 0; cin >> t;while(t--){int n, m, flag = 1; cin >> n >> m;while (!q.empty()) q.pop();for (int i = 1; i <= n; i++) cin >> a[i];sort(a + 1, a + 1 + n);for (int i = 1, x; i <= m; i++){cin >> x;q.push(x);}for (int i = n; i; i--){int now = q.top(); q.pop();if (a[i] > now){cout << "No" << endl;flag = 0;break;}now -= a[i];if (now) q.push(now);}if(!flag) continue;cout << "Yes" << endl;}return 0;
}

B.卷业务模型分析

“这个序列是由两个给定的特征序列中的一个通过线性变换加上一定的随机抖动得来的。”

我们先分析一下样例:

显然,A1A1A1序列跟BBB序列根本不存在线性变换的近似关系。那么我们考虑如何去判定AAA序列和BBB序列之间的关系:

我们给出任意一个不单调函数,对其所有的点做kkk倍乘变换,不难发现对于k>0k>0k>0每个点切线的斜率是一定在变大、k<0k < 0k<0斜率在变小,极值点除外。

我们可以在一个初始的[−∞,+∞][-∞,+∞][−∞,+∞]取值范围上寻找kkk的合适范围:通过三分法确定一个kkk的大致范围,也就是通过三分法,每次比较偏差,找到最佳范围;再在该范围内找到一个最佳的kkk,偏移量中位数为bbb,就能找到最大偏差了。

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e5 + 10;
const ll MIN = -1e15 - 10, MAX = 1e15 + 10;
int a1[N], a2[N], b[N], n = 0;ll calc1(int x) {ll maxn = MIN, minn = MAX;for (int i = 1; i <= n; i++)maxn = max(maxn, b[i] - 1ll * x * a1[i]), minn = min(minn, b[i] - 1ll * x * a1[i]);return (maxn - minn) / 2;
}ll calc2(int x){ll maxn = MIN, minn = MAX;for (int i = 1; i <= n; i++) maxn = max(maxn, b[i] - 1ll * x * a2[i]), minn = min(minn, b[i] - 1ll * x * a2[i]);return (maxn - minn) / 2;
}ll work1() {int l = -1e6 + 10, r = 1e6 + 10;while (r - l >= 5) {int lmid = l + ((r - l) / 3), rmid = r - ((r - l) / 3);if (calc1(lmid) > calc1(rmid)) l = lmid;else r = rmid;}ll flag = 0, ans = 0;for (int i = l; i <= r; i++) {ll now = calc1(i);if (!flag || now < ans)ans = now, flag = 1;}return ans;
}ll work2() {int l = -1e6 + 10, r = 1e6 + 10;while (r - l >= 5) {int lmid = l + (r - l) / 3, rmid = r - (r - l) / 3;if (calc2(lmid) > calc2(rmid)) l = lmid;else r = rmid;}ll flag = 0, ans = 0;for (int i = l; i <= r; i++) {ll now = calc2(i);if (!flag || now < ans)ans = now, flag = 1;}return ans;
}signed main(){ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t = 0; cin >> t;while(t--){cin >> n;for(int i = 1; i <= n; i++) cin >> a1[i];for(int i = 1; i <= n; i++) cin >> a2[i];for(int i = 1; i <= n; i++) cin >> b[i];if(work1() < work2()) cout << 1 << endl;else cout << 2 << endl;}return 0;
}

2021CCPC华为云挑战赛相关推荐

  1. 【2021CCPC华为云挑战赛-1006】【HDU-7092】仓颉造数 数学

    2021CCPC华为云挑战赛-1006 仓颉造数 赛时没做出来,当我推出大概结论的时候已经16:02了,这里还是打算把题解写一下,因为感觉官方题解概括性很强所以部分同学 (指我这个菜鸡) 可能看不懂, ...

  2. 2021CCPC华为云挑战赛:HDU 7091 重叠的子串(SAM + 线段树合并)

    重叠的子串 给定一个长度为n(1≤∣s∣≤105)n(1 \le \mid s \mid \le 10 ^ 5)n(1≤∣s∣≤105)的只由小写字母构成的字符串sss,有m,(1≤m≤106)m, ...

  3. 2021CCPC华为云挑战赛热身赛

    A. 题目链接 https://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1001&cid=1030 题意:简单来说必须立足于当前 ...

  4. 2021CCPC华为云挑战赛部分题解

    1001.对象存储调度问题 1001 将 n 个大小为2的整数次幂的数放到 m 个一定空间的分条内,问能否放入. 思路: 首先可以用贪心的思想,把最大的数据往剩余空间最大的分条内放,将数据从大到小排序 ...

  5. 2021CCPC华为云挑战赛1006

    主要是记一点自己不会的东西 这道题化简后就是判断分数a/b化为最简分数后的分数c/d,c+d是否为2的n次方 是就yes,否则no 首先a,b最大公约数,函数gcd 其次判断a是否为2的n次方:a&a ...

  6. 2021CCPC华为云挑战赛 卷业务模型分析

    卷业务模型分析 题目链接 写的时候根本没有想到是最小二乘法,把高中知识全忘了,害 知道是最小二乘法后,那么|B[i]-(k*A[i]+b)|<=10,就可以等价于找到由A1与B ,A2与B所得到 ...

  7. 华为云数据库TaurusDB性能挑战赛,50万奖金等你来拿!

    [摘要] 奔跑吧数据库!华为云TaurusDB性能挑战赛正式开始报名啦!50万大奖等你拿!不管你是大牛还是新手,华为云数据库都欢迎你来挑战,来这里,一决高下,大显身手,感受最火热的数据库技术氛围,开启 ...

  8. 训练、标注成本节省90%!华为云自动化AI开发平台ModelArts 3.0发布,从训练数据到模型落地一站式打通...

    鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 今年的华为,着实遭遇了不小的困难. 尤其是供应链,包括芯片方面的打击,让华为轮值董事长郭平坦承"的确对华为的生产.运营带来了很大困 ...

  9. IEEE Fellow、AI大牛田奇加入华为云!他为何而来?“加速AI基础研究落地”

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 云+AI正在驱动的数字化.智能化变革趋势,现如今与新基建相辅相成,早已深入人心. 作为面向企业.行业和产业的基础变革,华为云入局时,最被外界 ...

最新文章

  1. ​2018深度学习引用数最高的十大论文
  2. 思科交换机PXE响应巨慢,甚至无响应问题
  3. c# 多线程中lock用法的经典实例
  4. clion variable set
  5. mybatis和spring整合时这个报错,应该这样解决!
  6. 实验10 SQL Server 数据备份/恢复
  7. Python之数据分析(间接联合排序、所有最值相关函数、有序插入、定积分、插值器对象)
  8. matlab闭式网络潮流计算,闭式网络潮流计算.ppt
  9. mars java安卓视频教程下载_mars老师[Android开发视频教学].01_18 文件下载 源码
  10. cdr添加节点快捷键_CDR快捷键大全(精编排).doc
  11. 日本日野汽车因尾气数据造假问题受到调查
  12. spyglass 学习笔记之cdc check
  13. 【codevs1419】藤原妹红 树形DP
  14. 8月9日开始报名,但这些软考科目下半年不考
  15. 使用workflow客制出货通知单
  16. 【蓝桥杯嵌入式主板G4】第三章 点亮一个LED
  17. SpringBoot的Bean Definition 生成过程(源码分析)
  18. Linux里面的oa环境是什么,Linux下oa环境搭建
  19. 大数据早报:甲骨文公司投资4300万美元在总部建高中 18项全球互联网领先科技成果公布中国占6成 (12.6)...
  20. 子曾经曰过,今天应该要振奋精神了。

热门文章

  1. 富斯FS-T6 APM飞控四种飞行模式设置方法_MIX混控设置
  2. 软件工程 - 基于UML的面向对象设计报告模板
  3. AGX NVIDIA Jetpack4.5.1装机指南
  4. Mac 配置 java 8_mac系统下载、安装、使用Java8教程
  5. 移动互联网的七宗败案
  6. 完美的大学生活,从加入吉他社开始,老司机教你如何选入门吉他!
  7. Enet语义分割笔记
  8. 电池比较的黑莓,Android,苹果和Windows智能手机
  9. 玩计算机游戏的英文,玩电脑游戏英语作文
  10. Windows windows7 关闭隧道适配器