Codeforces Round 919 (Div. 2)

news2024/12/26 0:08:17

Problem - A - Codeforces

n个约束条件
a x
求出满足n个约束条件的整数的个数

大于等于x,取最大的
小于等于x,取最小的
然后不等于x的,记录在区间范围内的个数,减去这些

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
int n;
void solve() {
	cin>>n;
	vector<int>ans;
	int l=0,r=2e9;
	for(int i=0;i<n;i++){
		int a,x;
		cin>>a>>x;
		if(a==1) l=max(l,x);
		else if(a==2) r=min(r,x);
		else ans.push_back(x);
	}
	int sum=r-l+1;
	if(sum<0){
		cout<<0<<endl;
		return;
	}
	int cnt=0;
	for(auto v:ans){
		if(v>=l&&v<=r) cnt++;
	}
	cout<<sum-cnt<<endl;
}
signed main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t=1;
    cin>>t;
	while(t--) {
		solve();
	}
	return 0;
}

Problem - B - Codeforces

长度为n的数组a
操作:Alice删除最多k个元素,然后Bob最多将x个元素乘以-1
Alice想要全部数之和最大,Bob想要全部数之和最小

Bob肯定是尽可能的从大到小尽可能多的乘以-1,暴力枚举Alice删除的个数(从大的开始删)

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
const int N=2e5+10;
int a[N];
int pre[N];
int n,k,x;
void solve() {
	cin>>n>>k>>x;
	int sum=0;
	memset(pre,0,sizeof pre);
	for(int i=1;i<=n;i++) cin>>a[i],sum+=a[i];
	sort(a+1,a+1+n);
	for(int i=1;i<=n;i++) pre[i]=pre[i-1]+a[i];
	int ans=-2e9;
	for(int i=0;i<=k;i++){//枚举删除i个
		int r=n-i;//[r+1,n]删除
		int l=max((int)1,r-x+1);//[l,r]全变成-1
		ans=max(ans,sum-2*(pre[r]-pre[l-1])-(pre[n]-pre[r]));
	}
	cout<<ans<<endl;
}
signed main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t=1;
    cin>>t;
	while(t--) {
		solve();
	}
	return 0;
}

Problem - C - Codeforces 

 

对于x,y,x=y(mod m)等价于(x-y)mod m=0,即如果m是|x-y|的因子,那么x,y在模m的意义下同余

所以对于某个k值(k是n的因子,一个一个枚举即可),如果存在m大于等于2,满足a1,a1+k,a1+2 * k...在模m的意义下同余,a2,a2+k,a2+2 * k...在模m的意义下同余...那么k就是一个合法解,答案就加1,也就是说每隔k个的在模m的意义下同余,所以直接从头遍历,看其和其后第k个即可,然后都是模m等于0,所以m需要是它们所有的公因数,故求一个最大公因数,如果大于等于2的话就可以

还一种情况,就是每隔k个数都相等,那么最大公因数就是0,也是可行的

trick:

1.对于x,y,x=y(mod m)等价于(x-y)mod m=0,即如果m是|x-y|的因子,那么x,y在模m的意义下同余

2.a1,a1+k,a1+2 * k...在模m的意义下同余,a2,a2+k,a2+2 * k...在模m的意义下同余...也就是说每隔k个的在模m的意义下同余,所以直接从头遍历,看其和其后第k个是否同余即可,由于都是模m为0,所以m是每差k个的两数之差的绝对值的公因数

3.gcd(a,b),令a等于0,那么结果就是b,所以求很多数的最大公因数时,可以初始化为0,这样比较好

4.当所有数都等于x时,如果初始化为0的话,对它们求gcd为0,如果初始化为其中一个数时,那么对它们求gcd则为

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
const int N=2e5+10;
int a[N];
int n;
int gcd(int a,int b){
	if(b==0) return a;
	return gcd(b,a%b);
}
void solve() {
	cin>>n;
	for(int i=1;i<=n;i++) cin>>a[i];
	int ans=0;
	for(int k=1;k<=n;k++){//枚举k
		if(n%k==0){
			int tmp=0;
			for(int i=1;i+k<=n;i++){
				tmp=gcd(tmp,abs(a[i+k]-a[i]));
			}
			if(tmp>=2||tmp==0) ans++;
		}
	}
	cout<<ans<<endl;
}
signed main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t=1;
    cin>>t;
	while(t--) {
		solve();
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1388983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前后端的那些事】开源!treeSelect树形结构数据展示

文章目录 tree-selector1. 新增表单组件2. 在父组件中引用3. 父组件添加新增按钮4. 树形组件4.1 前端代码4.2 后端代码 前言&#xff1a;最近写项目&#xff0c;发现了一些很有意思的功能&#xff0c;想写文章&#xff0c;录视频把这些内容记录下。但这些功能太零碎&#xff0c…

快速前端开发01

前端开发 1 前端开发1.快速开发网站2.浏览器能识别的标签2.1 编码&#xff08;head&#xff09;2.2 title&#xff08;head&#xff09;2.3 标题2.4 div和span2.4.5 超链接2.4.6 图片小结2.4.7 列表2.4.8 表格2.4.9 input系列&#xff08;7个&#xff09;2.4.10 下拉框2.4.11 多…

PIFA天线设计经验分享

一、PIFA天线模型分析 从IFA天线的Smith圆图可以看出&#xff0c;其阻抗图随着频率的变化范围十分大&#xff0c;从端口Matrix data中的阻抗数据可以看到这一点。对于WIFI 2.4G频段的应用IFA输入阻抗频宽大致可以满足要求&#xff0c;但是对于其他带宽较宽的应用&#xff0c;该…

Hive 数据迁移

一、需求 同步集团的数据到断直连环境。 二、思路 三、同步数据&#xff08;方案&#xff09; 1、环境&#xff1a;断直连模拟环境 2、操作机器&#xff1a;ETL 机器 XX.14.36.216 3、工作路径&#xff1a;cd /usr/local/fqlhadoop/hadoop/bin 4、执行命令&#xff1a; 命令…

优思学院|质量管理应该看哪些书最好?

很多学员问我们&#xff0c;在探索质量管理博大精深的知识之旅中&#xff0c;应该看哪些书最好&#xff1f;我们推荐学员了解质量管理和精益六西格玛方法的发展史&#xff0c;从中了解质量管理思维的演变&#xff0c;及后再了解质量管理的工具和方法论&#xff08;包括从PDCA、…

系统性学习vue-vue组件化编程

vue组件化编程 对组件的理解使用组件创建组件注册组件编写组件标签注意 组件的嵌套VueComponent构造函数Vue实例与组件实例(vm与vc)一个重要的内置关系单文件组件(项目使用) 对组件的理解 就是将可以复用的模块提取为独立个体, 解决依赖关系混乱,复用率不高的问题 组件: 实现应…

CTF CRYPTO 密码学-2

题目名称&#xff1a;enc 题目描述&#xff1a; 字符 ZZZZ X XXZ ZZ ZXZ Z ZXZ ZX ZZX XXX XZXX XXZ ZX ZXZZ ZZXZ XX ZX ZZ 分析 此字段是由Z和X组成的字符&#xff0c;联想到莫斯密码是由.和-组成的所以接下来可以尝试莫斯密码解题 解题过程&#xff1a; Step1&#xff1a;…

AI编程可视化Java项目拆解第二弹,AI辅助生成方法流程图

之前分享过一篇使用 AI 可视化 Java 项目的文章&#xff0c;同步在 AI 破局星球、知乎、掘金等地方都分享了。 原文在这里AI 编程&#xff1a;可视化 Java 项目 有很多人感兴趣&#xff0c;我打算写一个系列文章拆解这个项目&#xff0c;大家多多点赞支持~ 今天分享的是第二…

四、任意文件读取漏洞

一、介绍 解释&#xff1a;任意文件读取漏洞就其本身来说就是&#xff0c;攻击者绕过网站防御者设置的防御&#xff0c;读取到了正常使用者不应该读取到的内容。网站开发者使用不同的语言&#xff0c;任意文件读取漏洞利用方式就不同。 二、不同开发语言的不同漏洞点 1.PHP …

(更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)

A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数&#xff08;2009-2023年&#xff09;参考《经济研究》中方先明&#xff08;2023&#xff09;的做法&#xff0c;将华证ESG评级进行赋值&#xff0c;指标包含C、CC、CCC、B、BB、BBB、A、AA、AAA共9个等级&#xff0c;…

使用Go语言的HTTP客户端和服务器

使用Go语言进行HTTP客户端和服务器开发是一种高效且强大的方式。Go语言的标准库提供了对HTTP协议的全面支持&#xff0c;使得创建HTTP客户端和服务器变得简单。 首先&#xff0c;让我们来看一下如何创建一个简单的HTTP服务器。在Go中&#xff0c;可以使用net/http包来创建HTTP…

抖音弹幕玩法汉字找不同让鼠标指针自动漂浮的实现原理及代码

如下图&#xff0c;抖音直播间弹幕互动玩法&#xff0c;为了增强用户的视觉感知体验&#xff0c;在里面加了一个鼠标&#xff0c;来让用户感知到自己在操作。下一节我们将背景音乐也给加上去。 我们实现的方案是用anime.js动画&#xff0c;来让一个图片在指定区域范围内随机漂浮…

WebGL开发智慧城市应用

在使用WebGL实现智慧城市应用时&#xff0c;需要考虑一系列的问题&#xff0c;以确保系统的性能、安全性和用户体验。以下是在开发WebGL智慧城市应用时需要注意的问题&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;…

从源码中分析SDS相较于C字符串的优势

文章目录 前言Type && EncodingsdsencodingcreateStringObjectcreateEmbeddedStringObject总结 createRawStringObject总结 createStringObjectFromLongDouble总结 createStringObjectFromLongLongWithOptions总结 相关操作sdscatlen总结 阈值44sds VS C字符串 前言 从…

加密经济学:Web3时代的新经济模型

随着Web3技术的迅猛发展&#xff0c;我们正迈入一个全新的数字经济时代。加密经济学作为这一时代的核心&#xff0c;不仅在数字货币领域崭露头角&#xff0c;更是重新定义了传统经济模型&#xff0c;为我们开启了一个充满创新和机遇的新纪元。 1. 去中心化的经济体系 Web3时代…

12.1、2、3-同步状态机的结构以及Mealy和Moore状态机的区别

同步状态机的结构以及Mealy和Moore状态机的区别 1&#xff0c;介绍Mealy型状态机和Moore型状态机的两种结构2&#xff0c;设计高速电路的方法 由于寄存器传输级&#xff08;RTL&#xff09;描述的是以时序逻辑抽象所得到的有限状态机为依据&#xff0c;因此&#xff0c;把一个时…

【嘉立创EDA-PCB设计指南】1.PCB基本概念及原理图绘制

前言&#xff1a;本文详解PCB基本概念以及实现MCU最小系统原理图的绘制&#xff08;原理图包括MCU芯片GD32F103C8T6、外部晶振、输出端口、USB输入口、5v转3v3稳压输出、复位按键、唤醒按键、LED&#xff09;。为本专栏后面章节实现PCB绘制做准备。 最终绘制的原理图如下所示&…

LinkedList ArrayDeque源码阅读

文章目录 LinkedList简介LinkedList例子LinkedList继承结构LinkedList代码分析成员变量方法 ArrayDeque简介ArrayDeque继承结构ArrayDeque代码分析总结参考链接 本人的源码阅读主要聚焦于类的使用场景&#xff0c;一般只在java层面进行分析&#xff0c;没有深入到一些native方法…

Java零基础教学文档servlet(3)

【AJax】 1.传统开发模式的不足 传统开发模式基于浏览器数据传输功能,页面填写数据/展示数据。浏览器通过访问一个URL地址&#xff0c;将页面的数据提交给服务器。服务器将需要展示的数据返回给浏览器&#xff0c;浏览器再进行数据解析&#xff0c;将数据呈现在用户面前。这种…

QT quick基础:加载资源文件(字体)

一、加载字体 1、准备字体库 Roboto-Regular.ttf 2、在工程下面新建文件夹fonts&#xff0c;并将字体库放到该文件夹下面。 3、在QT Create 工程中添加字体。 添加现有文件选择Roboto-Regular.ttf。 4、执行qmake 5、在.qml文件加载字体 /* 加载字体 */FontLoader {id: f…