Codeforces Round #622 (Div. 2)

手把手教你用Xilinx CMAC在FPGA上实现100G UDP协议栈(附完整代码) 本文详细介绍了如何使用Xilinx CMAC IP核在FPGA上实现100G UDP协议栈,包括环境准备、CMAC配置、512位宽数据处理、时序优化及性能测试等关键步骤。通过完整的代码示例和实用技巧,帮助开发者快速掌握高速网络通信技术,适用于数据中心和云计算基础设施。 阅读详情

Codeforces Round #622 (Div. 2)

A. Fast Food Restaurant

题意

有三种食物,每个客人每样最多拿一个,每个客人拿的组合不能相同,问最多能供应多少个客人

题解

每样最多拿一个,一共有7种取法:a,b,c,ab,ac,bc,abca,b,c,ab,ac,bc,abca,b,c,ab,ac,bc,abc,用7个if判断一下就好了

代码

#include<iostream>
#include<cstdio>
using namespace std;
 
int main()
{	long _,x,y,z,i,ans;
	for(scanf("%ld",&_);_;_--){
		scanf("%ld%ld%ld",&x,&y,&z);
		if(x<y)swap(x,y);
		if(x<z)swap(x,z);
		if(y<z)swap(y,z);
		ans=0;
		if(x>=1){x--;ans++;}
		if(y>=1){y--;ans++;}
		if(z>=1){z--;ans++;}
		if(x>=1&&y>=1){x--;y--;ans++;}
		if(z>=1&&y>=1){z--;y--;ans++;}
		if(x>=1&&z>=1){x--;z--;ans++;}
		if(x>=1&&y>=1&&z>=1){x--;y--;z--;ans++;}
		printf("%ld\n",ans);
	}
	return 0;
}

B. Different Rules

题意

定义一种新的最终排名的方法,使用两场比赛的排名相加得到最终分数,再按照这个分数重新排名得到最终排名(两场比赛中没有并列排名),给出某人的两场比赛排名xxx和yyy,求可能的最大最小最终排名

题解

因为总人数nnn的范围超级大[1,109][1,10^9][1,109],所以必须是结论题。
首先是最小排名,分两种情况:
1)x+y⩽n+1x+y \leqslant n+1x+y⩽n+1
在这里插入图片描述
最优情况如图所示,排名为1

2)x+y>n+1&&y≠nx+y > n+1 \&\& y \not= nx+y>n+1&&y​=n
在这里插入图片描述
如图,绿色和红色的匹配方式不变,但是个数变了,这时前面,黄色便是能超过自己的人,N−(N−Y−1)−(N−X−1)−2=X+Y−NN-(N-Y-1)-(N-X-1)-2=X+Y-NN−(N−Y−1)−(N−X−1)−2=X+Y−N,然后+1就是最小排名了

综上,最小排名就是max(1,x+y−n+1)max(1,x+y-n+1)max(1,x+y−n+1)

接下来看最大排名,因为相等也算输,所以尽量构造相等的就好了
在这里插入图片描述
由图可知,理想状态下答案就是min(n,x+y−1)min(n,x+y-1)min(n,x+y−1)

代码

#include<iostream>
#include<cstdio>
#define max(a,b) (((a)>(b))?(a):(b))
#define min(a,b) (((a)<(b))?(a):(b))
using namespace std;

int main()
{	long _,n,x,y;
	for(scanf("%ld",&_);_;_--){
		scanf("%ld%ld%ld",&n,&x,&y);
		printf("%ld %ld\n",max(1,min(n,x+y-n+1)),max(1,min(n,x+y-1)));
	}
	return 0;
}

C2. Skyscrapers (hard version)

题意

建设大楼,要求每栋楼有限高,而且不允许存在一栋楼两边都有比他更高的楼,要求建成的楼总高度最大
ps:C1跟C2题目一样的,就不放了

题解

(按照思维上的难度,这题比B简单,题目安排的锅。。)
因为任何一栋楼都要满足题目的限制,所以可以任找一栋楼来作为起点来找规律。
对于找到的楼,向一个方向拓展时,如果是向低处的,那么这个方向上所有楼都得满足不上升,反之亦然。
由此可知,我们只需要找到一个“最高点”,向左向右全部向低处拓展就好了。
至于这个最高点,可以用dp预处理两个数组lll和rrr,分别是从左向右和从右向左一路不下降高度建楼得到的总高度,最后得到的l[i]+r[i+1]l[i]+r[i+1]l[i]+r[i+1]的最大值所在点就是“最高点”了

代码

#include<iostream>
#include<cstdio>
#include<stack>
#define min(a,b) (((a)<(b))?(a):(b))
#define ll long long
#define def 500010
using namespace std;

stack<ll>sta;
ll a[def],l[def],r[def];

int main()
{	ll n,i,maxx,minn;
	scanf("%lld",&n);
	for(i=1;i<=n;i++)
		scanf("%lld",&a[i]);
	for(i=1;i<=n;i++){
		while(!sta.empty()&&a[i]<a[sta.top()])
			sta.pop();
		if(sta.empty())
			l[i]=i*a[i];
		else
			l[i]=(i-sta.top())*a[i]+l[sta.top()];
		sta.push(i);
	}
	while(!sta.empty())sta.pop();
	for(i=n;i>=1;i--){
		while(!sta.empty()&&a[i]<a[sta.top()])
			sta.pop();
		if(sta.empty())
			r[i]=(n-i+1)*a[i];
		else
			r[i]=(sta.top()-i)*a[i]+r[sta.top()];
		sta.push(i);
	}
	maxx=1;
	for(i=1;i<n;i++)
		if(l[i]+r[i+1]>l[maxx]+r[maxx+1])
			maxx=i;
	minn=a[maxx];
	for(i=maxx;i>=1;i--){
		minn=min(minn,a[i]);
		a[i]=minn;
	}
	minn=a[maxx+1];
	for(i=maxx+1;i<=n;i++){
		minn=min(minn,a[i]);
		a[i]=minn;
	}
	for(i=1;i<=n;i++)
		printf("%lld ",a[i]);
	printf("\n");
	return 0;
}
Codeforces Round #622 (Div. 2) A题【Fast Food Restaurant】题解 在我的博客食用效果更佳!https://www.cbw2007.tk/articles/CF-622-div2-A-sol/,更多见在不同的网站浏览本站内容 原题链接:Problem - A - Codeforces或CF1313A Fast Food Restaurant - 洛谷 | 计算机科学教育新生态 简化题意 一共有3种食物A、B、C,每一种食物可以选至多1个或不选(也就是说要么不... 阅读详情

相关推荐

SRAM ECC原理与应用:从汉明码到高可靠嵌入式系统设计

在嵌入式系统与高可靠性计算领域,内存数据完整性是系统稳定运行的基石。软错误(Soft Error)由宇宙射线或芯片内部粒子引发,可能导致存储单元发生位翻转,进而引发程序跑飞或数据损坏。为应对这一物理层挑战,错误校验与纠正(ECC)技术应运而生,其核心原理基于扩展汉明码,通过增加校验位实现单错误纠正、双错误检测(SECDED)能力。这项技术通过硬件透明纠错,在提升系统可靠性的同时,几乎不影响访问性能。在汽车电子、工业控制及航空航天等对安全性要求极高的场景中,ECC已成为保障长期稳定运行的关键硬件机制。本文聚焦

weixin_28728265的博客 529

Codeforces 622

http://codeforces.com/problemset/problem/622/A 这题必须得mark一下,就是由于自己的马虎,没有算一下数组,导致数组开小了,致使不出结果,runtimeerro,还wrong了一发,直接用乘法表达式的形式也可以#include<bits/stdc++.h> using namespace std; #define ll long long const

yp_2013的博客 439

Java8动态生成SFunction:基于字段名的Lambda表达式实践

本文深入探讨了在Java8中如何基于字段名动态生成SFunction,以解决MyBatis Plus的LambdaQueryWrapper在动态查询场景下的局限性。通过核心原理LambdaMetafactory的解析和手把手的代码实现,展示了如何将字符串字段名转换为类型安全的Lambda表达式,从而实现真正动态、类型安全的查询条件构建与通用数据处理,显著提升代码的灵活性与安全性。

sss66的博客 953

Codeforces Round #622 (Div. 2)ABC1

A. Fast Food Restaurant 贪心,易得先用一种菜肴,再用第二种菜肴,再用第三种 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define INF 0x3f3f3f3f int main(){ int t;cin>>t; while(t--)...

YeHosea的博客 549

树莓派烧录验证失败:跳过验证步骤实现成功启动的实用技巧

本文针对树莓派烧录系统时常见的验证失败问题,提供了跳过验证步骤实现成功启动的实用技巧。通过分析Windows与Linux文件系统差异导致的SD卡验证报错,指导用户在烧录完成后立即关闭验证窗口,或使用BalenaEtcher等第三方工具规避问题,确保树莓派正常启动。

yyy34的博客 947

qt医疗信息系统(HIS)

**UI 组件**: QWidget、QTextBrowser、QTableWidget、QGraphicsView 等。- **网络通信**: Qt Network (TCP/IP)- **DICOM 处理**: DCMTK 3.6.7。- **数据库**: SQLite (轻量、跨平台)**数据库文件**: `hospital.db`- **开发框架**: Qt 6 (C++)- 医疗影像 (DICOM) 查看器。**医疗影像 (DICOM) 查看器****电子病历 (EMR) 浏览器**

寒寒豆豆软件公司的博客 336

CF1313 C2. Skyscrapers (hard version)

C2. Skyscrapers (hard version) 题意: 求一个新的序列,使得其合最大,要求新的序列满足该序列的最大值左右两边(可以只有一边)呈非升序列。 思路: 单调栈 C1 n小模拟暴力O(n^3)也过了 C2是在C1的基础上优化。 我们遍历i,默认i为最小值,求左侧的面积(假设宽都为1) 再反向遍历求右侧每个i对应点的面积 将两个面积加起来-掉i那块的面积(不然的话会算两个i那块...

11eyes 678

基于python CNN卷积神经网络模型实现6类别垃圾分类 毕业设计 附完整代码数据

基于python CNN卷积神经网络模型实现6类别垃圾分类 毕业设计 附完整代码数据

1665

Codeforces Round #622 (Div. 2)—B—Different Rules

B. Different Rules time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Nikolay has only recently started in competitive programming, b...

wait 1406

第八届传智杯WPS智能办公能力挑战赛练习题库

本文是关于WPS Office软件操作知识的选择题汇总,内容涵盖WPS文字、表格和演示三大组件的常用功能。主要包括:云文档协同编辑、文本框插入、幻灯片打印设置、数据排序与筛选、函数应用(如SUMIF、COUNT)、动画效果设置、格式刷使用、页眉页脚设置、单元格引用类型等基础操作要点。同时涉及计算机基础概念如二进制、ROM存储器等。题目以单选和多选形式呈现,附带详细答案解析,全面检验用户对WPS办公软件的功能掌握程度和实际操作能力,适用于办公软件技能培训和水平测试。

qq_73044452的博客 1427

HFSS实战项目——Ku波段微带发夹线滤波器

保姆级教程!!!看完必会,非常详细!!!Ku频段5阶切比雪夫微带线带通滤波器的仿真实例。首先介绍了滤波器的技术指标和基本理论知识,重点介绍了滤波器的耦合系数和外部品质因数。建立了谐振器的设计模型、耦合系数与谐振器间距的设计模型、外部品质因数与抽头位置的设计模型和滤波器整体电路的模型。详细介绍了谐振器设计模型的建立步骤。

2401_87464239的博客 3040

寒假刷题36:Codeforces Round #622 (Div. 2) B. Different Rules

题目链接: Codeforces Round #622 (Div. 2) B. Different Rules 题目解析: 这次B题好像坑了不少人,最后过的人数还没C1多(让本菜鸡恰了一波烂分) 结论:⟨max(1,min(n,x+y−n+1)),min(n,x+y−1)⟩ 这里有详细分类讨论过程http://codeforces.com/blog/entry/74146和我当时分类...

int_lyy的博客 293

【异常】OpenClaw 上下文溢出问题(100% context used 309.9k/200k`)排查与解决

摘要:OpenClaw 运行出现"100% context used 309.9k/200k"报错,表示上下文窗口超出200k Token限制。解决方法包括:1) 重启服务或新建会话清空缓存;2) 修改配置文件提升context_window值;3) 长期优化如限制历史对话轮数、分批处理长文本。该问题通常由输入过长或多轮对话累积导致,需控制单次输入量在阈值内。

奶爸的编程之路,也就一周冷个三天 3236

寒假刷题38: Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version)

题目链接: Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version) 题目解析: 在C1中,我们让每一个点作为顶点,然后遍历数组,这在C2中显然会超时,现在考虑如何优化. 在遍历的过程中,如果一个点可建造的高度h[i]大于等于当前可建造的最大高度maxhigh,显然不用更新maxhigh.只有当h[i]<maxhigh...

int_lyy的博客 286

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Codeforces Round #622 (Div. 2) Feb/23/2020 17:05UTC+8

Codeforces Round #622 Div. 2A. Fast Food RestaurantB. Different Rules(思维)C1. Skyscrapers (easy version)(暴力)C2. Skyscrapers (hard version)(单调栈) 比赛链接 https://codeforces.com/contest/1313 比赛记录 https://blog.csdn.net/cheng__yu_/article/details/105395197 A. Fast

qq_17080419的博客 223

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Codeforces Round #622 (Div. 2)解题报告

Codeforces Round #622 (Div. 2) 【A.Fast Food Restaurant】 【题目大意】 有ABC3种饺子,个数分别为a,b,c,现在问你这些饺子最多可以给多少个人享用,且满足 1.每个客人享用的的每种饺子数目不超过1 2.每个客人享用的饺子必须不同 3.每个客人至少要享用一个饺子 【解题思路】 可以将所有情况列举出来,客人享用的饺子种类可能为: A,B,C,A...

weixin_44211980的博客 343

寒假刷题37: Codeforces Round #622 (Div. 2)C1. Skyscrapers (easy version)

题目链接: Codeforces Round #622 (Div. 2)C1. Skyscrapers (easy version) 题目解析: 通过分析题目可以知道,最终情况一定是一个倒V字形 分别让每一个点作为最高点,记录当前可建造的最高高度maxhigh,同时向左右两边遍历,更新maxhigh并求出以此时的答案,最后所有答案取最大值即可 时间复杂度O(n^2) AC代码: #...

int_lyy的博客 307

Codeforces Round #622(Div.2)

A题: 题意:三种食物有个数限制,上菜,每次上菜跟以前的样式不能一样(食物的种类及个数各不相同),且每种食物最多用一次,问最多能上几次。 思路:这道题的话,对a,b,c排序,然后枚举上菜种类就可以了,注意最多能上7盘菜。 AC代码: #include <bits/stdc++.h> typedef long long ll; const int maxx=10010; cons...

菜鸡的博客 223

Codeforces Round #622 (Div. 2) C2. Skyscrapers (hard version)

C2. Skyscrapers (hard version) 题目传送门: C2. Skyscrapers (hard version) 题目大意: 有n栋楼,每栋楼最高为hi,不允许存在一栋楼两边都有比他更高的楼,要求建成的楼的总高度最大。 思路: 1.用单调栈。 延续C1的想法,我们要找到一个最高点,然后向左向右全部都向低处扩展。这个最高点将序列分成了两个部分,从左到右是非递减序列,从右到左是非递减序列。那么我们利用单调栈的思想,求出每个数向左所影响的区间和向右所影响的区间,分别从左往右和从右往左求一

稚始稚终的博客 277

Codeforces Round #622 (Div. 2) A~C

链接:https://codeforces.com/contest/1313 A 已知有三道菜叫a,b,c吧 每个客人至少要一道菜,这三道菜都最多要个 ,给你三道菜的数量,问最多招待几个客人。 三道最多有七种组合情况,分别是 a,b,c,a+b,a+c,b+c,a+b+c. 所以排序后 先找一道菜的情况再找两道菜的情况最后三道菜 #include <bits/stdc++.h> usi...

qq_45288870的博客 256

Codeforces Round #622 (Div. 2) B、C

B. Different Rules time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Nikolay has only recently started in competitive programming, but already qu...

0xFFFFINF 197
上一篇: Codeforces Round #620 (Div. 2)
下一篇: 博客搬家了
冲鸭零零柒
博客等级 码龄10年 5粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值