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

三一国际网站设计搜狗搜索引擎推广

三一国际网站设计,搜狗搜索引擎推广,中国筑建网官网,敦煌网跨境电商平台题目传送门 【题目大意】 有$n$场比赛,给出你的对手每匹马的能力值和你的每匹马的能力值,每场比赛胜利则得两分,平手得一分,输了不得分。求$n$场比赛后你的最大和最小得分。 【思路分析】 其实这题原名叫泡泡堂[滑稽.jpg] 设$a$数…

题目传送门

【题目大意】

有$n$场比赛,给出你的对手每匹马的能力值和你的每匹马的能力值,每场比赛胜利则得两分,平手得一分,输了不得分。求$n$场比赛后你的最大和最小得分。

【思路分析】

其实这题原名叫泡泡堂[滑稽.jpg]

设$a$数组记录对手的马的能力值,$b$数组记录你的马的能力值,将两个数组从小到大排序。

首先分析最大得分,我们有这样的贪心策略:

1.如果当前状态下$a_{max}<b_{max}$,那么就用$b_{max}$去和$a_{max}$比,直到不满足条件

2.如果当前状态下$a_{min}<b_{min}$,那么就用$b_{min}$去和$a_{min}$比,直到不满足条件

3.当上面两个条件都不满足时,就用$b_{min}$去和$a_{max}$比,然后继续上面的步骤

最后即可得出最大得分$ans_1$

对于最小得分,我们可以发现一个规律:无论如何,$n$场比赛结束后两人的总得分为$2*n$,那么可以用上面的方法求出对手的最大得分$ans$,那么最小得分即为$ans_2=2*n-ans$

【代码实现】

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<cmath>
 6 #define g() getchar()
 7 #define rg register
 8 #define go(i,a,b) for(rg int i=a;i<=b;i++)
 9 #define back(i,a,b) for(rg int i=a;i>=b;i--)
10 #define db double
11 #define ll long long
12 #define il inline
13 #define pf printf
14 using namespace std;
15 int fr(){
16     int w=0,q=1;
17     char ch=g();
18     while(ch<'0'||ch>'9'){
19         if(ch=='-') q=-1;
20         ch=g();
21     }
22     while(ch>='0'&&ch<='9') w=(w<<1)+(w<<3)+ch-'0',ch=g();
23     return w*q;
24 }
25 const int N=100002;
26 int n,a[N],b[N],ans1,ans2;
27 int main(){
28     //freopen("","r",stdin);
29     //freopen("","w",stdout);
30     n=fr();
31     go(i,1,n) b[i]=fr();
32     go(i,1,n) a[i]=fr();
33     sort(a+1,a+1+n);sort(b+1,b+1+n);
34     rg int la=1,ra=n,lb=1,rb=n;
35     while(la<=ra&&lb<=rb){
36         while(la<=ra&&lb<=rb&&a[ra]<b[rb]) ra--,rb--,ans1+=2;
37         while(la<=ra&&lb<=rb&&a[la]<b[lb]) la++,lb++,ans1+=2;
38         if(a[ra]==b[lb]) ans1++;
39         lb++;ra--;
40     }
41     la=lb=1;ra=rb=n;
42     while(la<=ra&&lb<=rb){
43         while(la<=ra&&lb<=rb&&a[ra]>b[rb]) ra--,rb--,ans2+=2;
44         while(la<=ra&&lb<=rb&&a[la]>b[lb]) la++,lb++,ans2+=2;
45         if(a[la]==b[rb]) ans2++;
46         la++;rb--;
47     }
48     ans2=2*n-ans2;
49     pf("%d %d\n",ans1,ans2);
50     return 0;
51 }
代码戳这里

转载于:https://www.cnblogs.com/THWZF/p/11543409.html

http://www.lbrq.cn/news/2655091.html

相关文章:

  • 网站全屏轮播代码新手做外贸怎么入门
  • 高校对网站建设的重视拉新app推广接单平台
  • 黄埔网站建设公司南宁seo外包要求
  • 企业网站开发的设计流程优化大师免费版下载
  • html5网站开发公司百度推广登录平台网址
  • 对网站建设的维护百度识图查图片
  • web.py做网站百度搜索引擎优化怎么做
  • 做个商城网站怎么做便宜吗网络营销活动案例
  • 国贸做网站的公司网站如何做seo推广
  • 日本手做网站深圳最好seo
  • 网站建设行业市场规模百度推广助手电脑版
  • 深圳市住房和建设工程交易网站seo源码
  • 浏览器怎么打开网站服务器设置b站推广链接
  • 手机苗木网站源码常州seo招聘
  • 百度网址名称是什么商品seo关键词优化
  • 青岛哪个网站建设公司价格低还能好一些网络营销的方式有几种
  • 怎样做网站的快捷方式网络营销推广策略有哪些
  • 赣州网站设计哪家强简述网站建设的流程
  • 哈尔滨房地产网站建设打开一个网站
  • 黄页引流推广网站软件免费百度指数
  • 建网站建设的基本流程今日热搜第一名
  • 网络代理是什么意思班级优化大师头像
  • 网站关键词优化到首页难度软件推广赚佣金渠道
  • 自搭建网站百度竞价代运营公司
  • 嘉定区网站建设公司营销网站建设大概费用
  • wordpress去除缓存石家庄百度seo
  • 网站结构优化怎么做软文推广平台有哪些
  • 有做lol直播网站本地网络seo公司
  • 菜鸟必读 网站被入侵后需做的检测 2广告推广方式
  • 团购做的好的网站营销网页
  • C语言基础05——指针
  • 如何在 Ubuntu 24.04 LTS Linux 上安装 Azure Data Studio
  • traceroute命令调试网络
  • 代码随想录算法训练营23天 | ​​
  • axios 发请求
  • Ubuntu下搭建LVGL模拟器