当前位置: 首页 > news >正文

设计方案范本百度爱采购优化

设计方案范本,百度爱采购优化,产品设计作品网站,中文域名注册报价表对顶堆可以动态维护一个序列上的第k大的数#xff0c;由一个大根堆和一个小根堆组成#xff0c; 小根堆维护前k大的数(包含第k个)大根堆维护比第k个数小的数 [CSP-J2020] 直播获奖 题目描述 NOI2130 即将举行。为了增加观赏性#xff0c;CCF 决定逐一评出每个选手的成绩由一个大根堆和一个小根堆组成 小根堆维护前k大的数(包含第k个)大根堆维护比第k个数小的数 [CSP-J2020] 直播获奖 题目描述 NOI2130 即将举行。为了增加观赏性CCF 决定逐一评出每个选手的成绩并直播即时的获奖分数线。本次竞赛的获奖率为 w % w\% w%即当前排名前 w % w\% w% 的选手的最低成绩就是即时的分数线。 更具体地若当前已评出了 p p p 个选手的成绩则当前计划获奖人数为 max ⁡ ( 1 , ⌊ p × w % ⌋ ) \max(1, \lfloor p \times w \%\rfloor) max(1,⌊p×w%⌋)其中 w w w 是获奖百分比 ⌊ x ⌋ \lfloor x \rfloor ⌊x⌋ 表示对 x x x 向下取整 max ⁡ ( x , y ) \max(x,y) max(x,y) 表示 x x x 和 y y y 中较大的数。如有选手成绩相同则所有成绩并列的选手都能获奖因此实际获奖人数可能比计划中多。 作为评测组的技术人员请你帮 CCF 写一个直播程序。 输入格式 第一行有两个整数 n , w n, w n,w。分别代表选手总数与获奖率。 第二行有 n n n 个整数依次代表逐一评出的选手成绩。 输出格式 只有一行包含 n n n 个非负整数依次代表选手成绩逐一评出后即时的获奖分数线。相邻两个整数间用一个空格分隔。 样例 #1 样例输入 #1 10 60 200 300 400 500 600 600 0 300 200 100样例输出 #1 200 300 400 400 400 500 400 400 300 300样例 #2 样例输入 #2 10 30 100 100 600 100 100 100 100 100 100 100样例输出 #2 100 100 600 600 600 600 100 100 100 100提示 样例 1 解释 数据规模与约定 各测试点的 n n n 如下表 测试点编号 n n n 1 ∼ 3 1 \sim 3 1∼3 10 10 10 4 ∼ 6 4 \sim 6 4∼6 500 500 500 7 ∼ 10 7 \sim 10 7∼10 2000 2000 2000 11 ∼ 17 11 \sim 17 11∼17 1 0 4 10^4 104 18 ∼ 20 18 \sim 20 18∼20 1 0 5 10^5 105 对于所有测试点每个选手的成绩均为不超过 600 600 600 的非负整数获奖百分比 w w w 是一个正整数且 1 ≤ w ≤ 99 1 \le w \le 99 1≤w≤99。 提示 在计算计划获奖人数时如用浮点类型的变量如 C/C 中的 float 、 doublePascal 中的 real 、 double 、 extended 等存储获奖比例 w % w\% w%则计算 5 × 60 % 5 \times 60\% 5×60% 时的结果可能为 3.000001 3.000001 3.000001也可能为 2.999999 2.999999 2.999999向下取整后的结果不确定。因此建议仅使用整型变量以计算出准确值。 思路 模版题 k为i*w/100 使用一个大根堆x维护比第k个数小的数使用一个小根堆y来维护前k大的数 代码 #include bits/stdc.h#define int long long #define yes cout YES endl; #define no cout NO endl; #define IOS cin.tie(0), cout.tie(0), ios::sync_with_stdio(false); #define cxk 1 #define debug(s, x) if (cxk) cout #debug:( s ) x endl; using namespace std;void solve() {int n, w;cin n w;priority_queueint x;//大根堆 维护 aiqpriority_queueint, vectorint, greater y;//小根堆维护aiq;for (int i 1; i n; i) {int a;cin a;if (y.empty() || a y.top()) y.push(a);else x.push(a);int k max((int) 1, i * w / 100);while (y.size() k) x.push(y.top()), y.pop();//保持小根堆有k个元素while (y.size() k) y.push(x.top()), x.pop();cout y.top() ;} }signed main() {IOS #ifndef ONLINE_JUDGEfreopen(../test.in, r, stdin);freopen(../test.out, w, stdout); #endifint _ 1;while (_--) solve();return 0; }[ABC306E] Best Performances 题面翻译 题目描述 给定长度为 N N N 的数列 A ( A 1 , A 2 , … , A N ) A(A_1,A_2,\dots,A_N) A(A1​,A2​,…,AN​)最开始所有项均为 0 0 0。 定义函数 f ( A ) f(A) f(A) 如下 将 A A A 按照降序即使得 A A A 为广义单调递减序列排序得到 B B B。 则 f ( A ) B 1 B 2 ⋯ B K f(A)B_1B_2\dotsB_K f(A)B1​B2​⋯BK​其中 B B B 为排序后的数列 K K K 为 A A A 中不为 0 0 0 的元素个数。 现在对该数列进行 Q Q Q 次更新。对于每次更新按顺序执行以下操作并输出此时的 f ( A ) f(A) f(A) 值 将 A X i A_{X_i} AXi​​ 更改为 Y i Y_i Yi​。 题目描述 样例 #1 样例输入 #1 4 2 10 1 5 2 1 3 3 4 2 2 10 1 0 4 0 3 1 2 0 3 0样例输出 #1 5 6 8 8 15 13 13 11 1 0提示 $ 1\ \le\ K\ \le\ N\ \le\ 5\ \times\ 10^5 $$ 1\ \le\ Q\ \le\ 5\ \times\ 10^5 $$ 1\ \le\ X_i\ \le\ N $$ 0\ \le\ Y_i\ \le\ 10^9 $ 思路 可以使用对顶堆,这里涉及到修改操作因此可以使用multiset维护方便一些 a维护前k大为小根堆b维护比第k个数小的大根堆 使用res来维护前k大的和。 代码 #include bits/stdc.h#define int long long #define yes cout YES endl; #define no cout NO endl; #define IOS cin.tie(0), cout.tie(0), ios::sync_with_stdio(false); #define cxk 1 #define debug(s, x) if (cxk) cout #debug:( s ) x endl; using namespace std;const int N 5e5 10; int n, k, q, res; int w[N]; multisetint a, b;//a维护前k大小根堆 b维护比第k个数小的大根堆 void solve() {cin n k q;for (int i 1; i k; i)a.insert(0);for (int i 1; i n - k; i) b.insert(0);while (q--) {int x, y;cin x y;if (a.find(w[x]) ! a.end()) a.erase(a.find(w[x])), res - w[x];else b.erase(b.find(w[x]));w[x] y;if (!b.empty() y *b.rbegin()) a.insert(y), res y;else b.insert(y);while (a.size() k) {b.insert(*a.begin());res - *a.begin();a.erase(a.begin());}while (a.size() k) {a.insert(*b.rbegin());res *b.rbegin();b.erase(b.find(*b.rbegin()));}cout res endl;} }signed main() {IOS #ifndef ONLINE_JUDGEfreopen(../test.in, r, stdin);freopen(../test.out, w, stdout); #endifint _ 1;while (_--) solve();return 0; }
http://www.hkea.cn/news/14360381/

相关文章:

  • 小说网站如何赚钱php网站建设的安全性研究
  • 福建网站建设开发软件开发 上海
  • 网站怎么看是什么程序做的网络推广有哪些
  • 网站流量功能更怎么做如何提升关键词的自然排名
  • 合肥网站开发哪家好wordpress 聚美主题
  • 做网站网页需要什么修改wordpress标题图片
  • 电子商城网站建设 模板网站名字词
  • 网站一年多少钱wordpress 点击媒体库
  • 搬家公司网站建设价格wordpress实现语言
  • jianshe导航网站整合wordpress
  • 个人介绍微电影网站模板网站怎么屏蔽ip访问
  • 二手车网站的建设社区网站免费制作
  • php网站模板自动发卡网站开发
  • 哈尔滨百度网站建设重点实验室网站建设的研究现状
  • 国外做家居类的网站教做甜点的网站
  • 许昌网站建设汉狮怎么样寻找做网站的合作伙伴北京
  • .net网站做优化联盟网
  • 只有一个域名怎么建设网站欧洲网站后缀
  • 商丘哪里做网站比较好动画设计和动漫设计
  • 图片制作动画seo编辑招聘
  • 婚纱网站排行php 学院网站
  • 主播网站怎么建设免费vi模板网站
  • 石家庄做网站和宣传的西安百度推广运营公司
  • 大连零基础网站建设培训中心注册公司带科技两个字的条件
  • 营销网站的案例分析网站建设价格差异多少
  • 网站建设项目结构分析网站备案变更单位名称
  • 谁会建设网站如何查看网站架构
  • 政务网站建设及安全重庆政务服务网
  • 怎样加入网站网络营销定位推广策划课后答案
  • asp做素材网站wordpress充值插件