首页 > 其他分享 >Codeforces Global Round 28

Codeforces Global Round 28

时间:2024-12-20 21:31:23浏览次数:9  
标签:int ++ Global 28 Codeforces cin 33 pos Kevin

1.A. Kevin and Combination Lock

知识点:模拟

题目意思:现有一个正整数x,我们能否通过两个操作让x为0,可以就输出YES,不行就输出NO。

操作一:如果x中存在33,并且x不等于33的情况下可以删除x中的33。比如13323 -> 123。

操作二:如果x >= 33,可以让x = x - 33。

思路:

操作一去除某个位置的33,相当于减去33 * 10 ^ n。

操作二相当于减去33 * 1

如果能够通过两操作来实现让x == 0,说明x本身是33的倍数

void solve(){
	cin>>n;
	if(n % 33 == 0)cout<<"YES\n";
	else cout<<"NO\n";
}

2.B. Kevin and Permutation

知识点:构造

题目意思:要求构造一个长度为n的排列p,并要求p的n - k + 1个连续的子数组的最小值相加的和最小。

思路:想要最小,就得让小的数被尽量多的子数组包含其中。

因此构造p[k] ​= 1, p​[2k] = 2 ,…, p[kn] * k​ = [n / k]

void solve(){
	cin>>n>>k;
	vi a(n + 1);
	int l = 1, r = n;
	for(int i = 1; i <= n; i++){
		if(i % k == 0)a[i] = l ++;
		else a[i] = r --;
	}
	for(int i = 1; i <= n; i++){
		cout<<a[i]<<" \n"[i == n];
	}
}

3.C. Kevin and Binary Strings

知识点:构造

题目意思:

思路:

一:为了最大化两个串的异或和,肯定想要最大化异或和的二进制位数,为了最大化这个位数,[1, n] 必然被选择。假设我们选择的另一个串的首位为 1,若不为 1 可以把前导零全部删去。

二:找到整个串从前往后的第一个 0 的位置,我们必然想让这个位置变为 1,设第一个 0 的位置为 pos,选取n - pos + 1长度的子串对原串进行异或,更新记录能让结果最大的子串的左右端位置。

void solve(){
	cin>>s;
	int n = s.size(), pos = 0;
	for(int i = 0; i < n; i++){
		if(s[i] == '0'){
			pos = (n - i - 1);
			break;
		}
	}
	int x = 0, y = 0;
	string s1 = "";
	for(int i = 0; i < n - pos; i++){
		string s2 = "";
		for(int j = i; j <= i + pos; j++){
			if(s[j] != s[(n - pos - 1) + (j - i)])s2 += '1';
			else s2 += '0';
		}
		if(s1 < s2){
			x = i + 1;
			y = i + pos + 1;
			s1 = s2;
		}
	}
	cout<<x<<" "<<y<<" "<<1<<" "<<n<<"\n";
}

4.D. Kevin and Competition Memories

知识点:贪心 + 排序 + 二分

题目意思:有n个参赛者(Kevin是第一位),m道题目,数组a记录着n个参赛者评分(能做出题目的最大难度),数组b记录着m道题目的难度。现有一个k(1 <= k <= m),表示一场比赛由k道题目组成,一共[m / k]场(向下取整),在每场比赛中,Kevin 的排名是 1 加上解决问题数量超过他的参与者数量,求每个k的排名和。

思路:

一、如果一个人评分小于等于Kevin,那么他就不可能排在Kevin前面(不影响答案),所有可以将他评分修改为和Kevin一样的值(相当于删除)。

二、经过上一步操作,Kevin的评分目前是最低的,也就是说一道题要是Kevin能做出了,其他人也都可以做出了,全部人都可以做出来不就可以当成全部人都没做出来,可以将b[i]的值设置为无穷大,这样我们就可以得到每道题有多少人能做出来(不包括全部人都能做出来的题)。

三、枚举k,我们只需要关注每场比赛中的最简单的问题。

void solve(){
	cin>>n>>m;
	vi a(n), b(m);
	for(int i = 0; i < n; i++){
		cin>>a[i];
		a[i] = max(a[i], a[0]);
	}
	for(int i = 0; i < m; i++){
		cin>>b[i];
		if(b[i] <= a[0])b[i] = inf;
	}
	sort(a.begin(), a.end());
	sort(b.begin(), b.end(), greater<int>());
	for(int i = 0; i < m; i++){
		b[i] = a.end() - lower_bound(a.begin(), a.end(), b[i]);
	}
	for(int k = 1; k <= m; k++){
		int ans = 0;
		for(int i = k - 1; i < m; i += k){
			ans += b[i] + 1;
		}
		cout<<ans<<" \n"[k == m];
	}
}

标签:int,++,Global,28,Codeforces,cin,33,pos,Kevin
From: https://blog.csdn.net/hsjwhe/article/details/144618357

相关文章

  • Codeforces Global Round 28 Editorial(A-F)
    连掉了五场分,但是该打还是要打。反正也不会更差了。problemset官方中解A我A就不会了,但是随便猜了一个结论过了。复制一下题解:考虑移除连续33实际减少的数是多少,就会发现减少的也是33倍数,所以原本就要整除才行B呃一开始构造错了。。把最小数间隔k排然后别的数随便塞C\(O(......
  • Codeforces Global Round 28 # D
    D.KevinandCompetitionMemories一、题意概述有n个选手和m个问题,给出每个选手的rating---a(n+1),和题目对应的rating---b(m+1),根据rating大小判断选手能否做出这一题。现在将所有题目分成[  ]组,求每组Kevin的排名,求其和,算出和的最小值;输出m个最小值,k分别等于1,2,···......
  • GB28181视频监控国标平台/视频监控平台Liveweb视频云解决方案
    GB28181视频监控国标平台Liveweb是基于国标GB28181协议、支持多路设备同时接入的视频监控/视频云服务平台,支持对多平台、多终端分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。国标GB28181平台Liveweb可提供视频直播监控、云端录像、云存储、检索回放、智能告警、语音对讲、......
  • 国标GB28181流媒体视频融合与汇聚管理系统方案
    流媒体视频融合与汇聚管理系统可以实现对各类模块化服务进行统一管理和配置等操作,可实现对应用服务的整合、管理及共享,以标准接口的方式,业务平台及其他第三方业务平台可以方便地调用各类数据,具有开放性和可扩展性。在流媒体视频融合与汇聚管理系统建设方案中,除了基础的架构设计......
  • Codeforces Global Round 28 / cf contest 2048 题解
    比赛链接A.KevinandCombinationLock观察操作难度(个人感觉)★☆☆☆☆注意到两个操作都不改变\(\%33\)的值,因此要求原数\(\%33==0\),显然这是充分的。B.KevinandPermutation观察操作难度(个人感觉)★☆☆☆☆一个点的"势力范围"是以\([p,p+k)\)为右端点的......
  • Codeforces Global Round 28 : C. Kevin and Binary Strings O(n)解法
    题目地址https://codeforces.com/contest/2048/problem/C题意:给定一个字符串,字符串第一个是1,其他的都是0或1。问如何从该字符串中取两段,使得两段异或最大,两段可以重叠字符串的长度设为size因为字符串第一个是1,所以必定有一段是1sizeO(n)解法:第一段连续的0的长度设为cnt,第......
  • LiteGBS国标GB28181视频平台接入的摄像头怎么开启onvif协议?
    随着视频监控技术的发展,ONVIF协议已成为连接视频监控设备的重要标准。LiteGBS国标GB28181视频平台通过支持ONVIF协议,能够实现与多种品牌和型号的安防摄像头的无缝对接。开启摄像头的ONVIF协议,是确保摄像头能够被平台识别和控制的前提。那么在实际应用中如果想要开启onvif协议,应......
  • 国标GB28181软件LiteGBS设备接入指南:摄像头怎么通过GB28181协议对接到监控平台中?
    在现代安防监控系统中,国标GB28181协议扮演着至关重要的角色,它为视频监控设备与监控平台之间的互联互通提供了标准化的解决方案。LiteGBS国标GB28181设备管理软件作为符合国标GB28181的视频平台,通过该协议能够实现对摄像头的高效管理和控制。在实际应用中,如果想要通过GB28181协议......
  • 国标GB28181公网直播LiteGBS录像机如何配置报警联动语音提示?
    在现代安防监控系统中,报警联动功能是提高安全响应效率的关键技术之一。国标GB28181协议作为视频监控领域的重要标准,为实现设备间的互联互通提供了基础。LiteGBS国标GB28181软件录像机作为一款符合GB28181协议的设备,其配置报警联动语音提示的功能对于提升监控系统的实用性和响应速......
  • 2024-2025-1 20241328 《计算机基础与程序设计》第十三周学习总结
    2024-2025-120241328《计算机基础与程序设计》第十三周学习总结作业信息作业课程2024-2025-1-计算机基础与程序设计作业要求2024-2025-1计算机基础与程序设计第十三周作业作业目标无教材学习内容总结《C语言程序设计》第12章知识点总结12.1文件的基本概......