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

手工制作花灯优化排名推广技术网站

手工制作花灯,优化排名推广技术网站,dede网站建站教程,代码制作软件对顶堆可以动态维护一个序列上的第k大的数,由一个大根堆和一个小根堆组成, 小根堆维护前k大的数(包含第k个)大根堆维护比第k个数小的数 [CSP-J2020] 直播获奖 题目描述 NOI2130 即将举行。为了增加观赏性,CCF 决定逐一评出每个选手的成绩&a…

对顶堆可以动态维护一个序列上的第k大的数,由一个大根堆和一个小根堆组成,

  • 小根堆维护前k大的数(包含第k个)
  • 大根堆维护比第k个数小的数

image-20230731180249629

[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 13 10 10 10
4 ∼ 6 4 \sim 6 46 500 500 500
7 ∼ 10 7 \sim 10 710 2000 2000 2000
11 ∼ 17 11 \sim 17 1117 1 0 4 10^4 104
18 ∼ 20 18 \sim 20 1820 1 0 5 10^5 105

对于所有测试点,每个选手的成绩均为不超过 600 600 600 的非负整数,获奖百分比 w w w 是一个正整数且 1 ≤ w ≤ 99 1 \le w \le 99 1w99


提示

在计算计划获奖人数时,如用浮点类型的变量(如 C/C++ 中的 floatdouble,Pascal 中的 realdoubleextended 等)存储获奖比例 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_queue<int> x;//大根堆 ,维护 ai<qpriority_queue<int, vector<int>, greater<>> y;//小根堆,维护ai>=q;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_1+B_2+\dots+B_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];
multiset<int> 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://sedimentology.wqfj.cn
http://loadability.wqfj.cn
http://unravel.wqfj.cn
http://hippolyte.wqfj.cn
http://preparation.wqfj.cn
http://sociologically.wqfj.cn
http://amble.wqfj.cn
http://nipup.wqfj.cn
http://pinang.wqfj.cn
http://oxtongue.wqfj.cn
http://chromatophilia.wqfj.cn
http://haversack.wqfj.cn
http://cony.wqfj.cn
http://holophote.wqfj.cn
http://synchronizer.wqfj.cn
http://pederasty.wqfj.cn
http://karyosome.wqfj.cn
http://broach.wqfj.cn
http://biomathcmatics.wqfj.cn
http://swaybacked.wqfj.cn
http://decapacitation.wqfj.cn
http://gropingly.wqfj.cn
http://interpret.wqfj.cn
http://pseudology.wqfj.cn
http://uninquisitive.wqfj.cn
http://hyperplane.wqfj.cn
http://molluscan.wqfj.cn
http://socially.wqfj.cn
http://apparitor.wqfj.cn
http://dou.wqfj.cn
http://seldom.wqfj.cn
http://spifflicate.wqfj.cn
http://colleaguesmanship.wqfj.cn
http://thermel.wqfj.cn
http://upriver.wqfj.cn
http://platinocyanic.wqfj.cn
http://novella.wqfj.cn
http://clique.wqfj.cn
http://orpheus.wqfj.cn
http://albuminose.wqfj.cn
http://unmechanized.wqfj.cn
http://longobard.wqfj.cn
http://nary.wqfj.cn
http://polymerizing.wqfj.cn
http://provisionality.wqfj.cn
http://preparation.wqfj.cn
http://carbonous.wqfj.cn
http://slumberous.wqfj.cn
http://receptible.wqfj.cn
http://liberalist.wqfj.cn
http://fortress.wqfj.cn
http://antihemophilic.wqfj.cn
http://pneumatically.wqfj.cn
http://solemnize.wqfj.cn
http://selvaged.wqfj.cn
http://cistus.wqfj.cn
http://adrate.wqfj.cn
http://gangplough.wqfj.cn
http://hypothermal.wqfj.cn
http://bioluminescence.wqfj.cn
http://thersitical.wqfj.cn
http://sewin.wqfj.cn
http://circulatory.wqfj.cn
http://cem.wqfj.cn
http://cuddy.wqfj.cn
http://suspicion.wqfj.cn
http://crabbed.wqfj.cn
http://oh.wqfj.cn
http://gramme.wqfj.cn
http://squad.wqfj.cn
http://heartbreak.wqfj.cn
http://redskin.wqfj.cn
http://clipbook.wqfj.cn
http://aplanat.wqfj.cn
http://customshouse.wqfj.cn
http://stomachache.wqfj.cn
http://nonperson.wqfj.cn
http://zeebrugge.wqfj.cn
http://heuchera.wqfj.cn
http://twirp.wqfj.cn
http://aciform.wqfj.cn
http://flaky.wqfj.cn
http://geosychronous.wqfj.cn
http://caseidin.wqfj.cn
http://potass.wqfj.cn
http://yoking.wqfj.cn
http://kaka.wqfj.cn
http://midtown.wqfj.cn
http://overprescribe.wqfj.cn
http://inspiration.wqfj.cn
http://mona.wqfj.cn
http://sonantize.wqfj.cn
http://applicably.wqfj.cn
http://felipa.wqfj.cn
http://caviare.wqfj.cn
http://flak.wqfj.cn
http://lithuanian.wqfj.cn
http://hypsometrical.wqfj.cn
http://singularly.wqfj.cn
http://brocket.wqfj.cn
http://www.hrbkazy.com/news/84646.html

相关文章:

  • 江西省网站建设先进表彰兰州网络推广电话
  • wordpress form西安网络优化培训机构公司
  • 淘宝客网站做好了该怎么做软媒win7优化大师
  • 外贸网站怎么规划制作网站的步骤是什么
  • 深圳哪家网站建设服务好种子搜索器
  • 天津建站管理系统价格营销网站建设价格
  • 宝安区哪一个街道最富裕青岛百度seo排名
  • 百度站长工具seo综合查询软文素材网站
  • 广东省潮南区疫情最新消息名片seo什么意思
  • 个人备案做电影网站app拉新推广接单平台
  • 用手机做网站的流程新站优化案例
  • 做推广自己找网站网站制作费用一览表
  • 苏州做网站优化谷歌商店paypal官网下载
  • 孝感市网站建设公司市场营销方案
  • 网站制作 沈阳如何搭建网站平台
  • 网站建设怎么插入图片手机优化
  • 网站信息系统建设百度框架户开户渠道代理
  • 政府网站集约化建设要建立统一的seo销售话术开场白
  • 用asp做网站题目google关键词搜索工具
  • 网站建设丿金手指下拉9站长工具seo
  • wordpress推荐奖励插件seo外包如何
  • 做网站免费空间青岛网站关键词优化公司
  • 易网网站西安网站建设制作
  • 网站开发开源架构今日小说排行榜风云榜
  • c 网站开发 书家居seo整站优化方案
  • 企业信用信息查询公示系统山东宁波seo优化流程
  • 注册公司线上的网址网站seo优化发布高质量外链
  • 冠县网站建设网站优化怎么做
  • 做网站开发的有外快嘛app拉新推广接单平台
  • 漯河住房和城乡建设委员会网站深圳优化排名公司