首页 > 其他分享 >【CodeForces训练记录VP】Codeforces Round 933 (Div. 3)

【CodeForces训练记录VP】Codeforces Round 933 (Div. 3)

时间:2024-10-25 13:10:51浏览次数:7  
标签:cin int Codeforces long CodeForces VP solve ans se

https://codeforces.com/contest/1941

训练情况

50min后罚坐

反思

C题刚开始思路错了,以为是删字符串最后面,然后漏考虑掉两字符串部分拼接的情况

A题

直接模拟,求 \(a_i + b_j \le k\) 的对数。

#include <bits/stdc++.h>
#define int long long

using namespace std;

void solve(){
	int n,m,k; cin>>n>>m>>k;
	vector<int> a(n + 1);
	vector<int> b(m + 1);
	for(int i = 1;i<=n;i++) cin>>a[i];
	for(int i = 1;i<=m;i++) cin>>b[i];
	int ans = 0;
	for(int i = 1;i<=n;i++){
		for(int j = 1;j<=m;j++){
			if(a[i] + b[j] <= k) ans++;
		}
	}
	cout<<ans<<endl;
}

signed main(){
	int T; cin>>T; while(T--)
	solve();
	return 0;
}

B题

我们考虑倒着思考,如果数组能最后删成全零,那它一定是由若干个 \([1,2,1]\) 这样子加起来的,所以我们就可以从左往右贪心,能删掉的尽量删掉,如果最后剩下的数不是 \(0\),答案就是 NO,否则就是 YES。

#include <bits/stdc++.h>
#define int long long

using namespace std;

void solve(){
	int n; cin>>n;
	vector<int> a(n + 3);
	for(int i = 1;i<=n;i++) cin>>a[i];
	for(int i = 1;i<=n;i++){
		if(a[i] > 1){
			int mi = min(a[i - 1],a[i + 1]);
			a[i-1] -= mi;
			a[i+1] -= mi;
			a[i] -= mi*2;
		}
	}
	bool flag = true;
	for(int i = 1;i<=n;i++) if(a[i]) flag = false;
	if(flag) cout<<"YES"<<endl;
	else cout<<"NO"<<endl;
}

signed main(){
	int T; cin>>T; while(T--)
	solve();
	return 0;
}

C题

我们发现想让子串 piemap 消失,我们肯定考虑要删中间的那个字符,比如 ppppieeee 这种,显然只能删中间的字符,删头尾的两个字符反而操作次数更多,所以对于每个 piemap 只需要操作一次,把中间的字符删掉,然后我们只需要统计 piemap 子串出现的次数即可,注意一下子串匹配到了指针要往下跳

hack数据

mapie

答案是 \(1\),删掉 p 即可

#include <bits/stdc++.h>
#define int long long

using namespace std;

void solve(){
	int n; cin>>n;
	string s; cin>>s;
	int ans = 0;
	for(int i = 0;i<n - 2;i++){
		string ss = s.substr(i,3);
		if(ss == "map" || ss == "pie") ans++,i+=2;
	}
	cout<<ans<<endl;
}

signed main(){
	int T; cin>>T; while(T--)
	solve();
	return 0;
}

D题

我们发现最后要输出可能的人数,并且人的编号要单调递增,容易想到使用 set 集合来维护,所以我们只要一轮一轮的维护,每一轮将上一轮可能接到球的人取出来模拟即可,如果为 ? 则顺时针和逆时针都跑一遍,注意一下顺时针和逆时针的环,减一取模加一即可。

#include <bits/stdc++.h>
#define int long long

using namespace std;

void solve(){
	int n,m,x; cin>>n>>m>>x;
	set<int> ans;
	ans.insert(x);
	for(int i = 1;i<=m;i++){
		set<int> se;
		int c; string s;
		cin>>c>>s;
		if(s == "0") for(auto j:ans) se.insert((j+c-1)%n+1);
		else if(s == "1") for(auto j:ans) se.insert((n+j-c-1)%n+1);
		else if(s == "?"){
			for(auto j:ans) se.insert((j+c-1)%n+1);
			for(auto j:ans) se.insert((n+j-c-1)%n+1);
		}
		ans = se;
	}	
	cout<<ans.size()<<endl;
	for(auto i:ans) cout<<i<<" ";
	cout<<endl;
}

signed main(){
	int T; cin>>T; while(T--)
	solve();
	return 0;
}

标签:cin,int,Codeforces,long,CodeForces,VP,solve,ans,se
From: https://www.cnblogs.com/longxingx/p/18502294

相关文章

  • Codeforces Round 972 (Div. 2)
    CodeforcesRound972(Div.2)总结A#include<bits/stdc++.h>usingnamespacestd;intn;chara[]={'a','e','i','o','u'};voidsolve(){cin>>n;intx=n/5,y=n%5;for(inti=0;i<5;......
  • CodeForces - 788C - 完全背包
    题目表示(x1*a[1]+x2*a[2]+...+xk*a[k])/((x1+x2+...+xk)*1000)=n/1000,可以推出(x1*a[1]+x2*a[2]+...+xk*a[k])=n*(x1+x2+...+xk),进而得出(x1*(a[1]-n)+x2*(a[2]-n)+...+xk*(a[k]-n))=0,这样处理之后就和我之前......
  • Codeforces Round 980 (Div. 2)
    CodeforcesRound980(Div.2)总结A简单小学算数题。如果\(b\lea\),直接输出\(a\)。否则,列方程\(a-x=b-2x\),\(x=b-a\),输出\(a-x\),即\(2a-b\)。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<c......
  • XCVU9P 板卡设计原理图:616-基于6U VPX XCVU9P+XCZU7EV的双FMC信号处理板卡 高性能数字
    一、板卡概述     板卡基于6UVPX标准结构,包含一个XCVU9P高性能FPGA,一片XCZU7EVFPGA,用于IO扩展接口,双路HPCFMC扩展高速AD、DA、光纤接口等。是理想应用于高性能数字计算,光纤加速的板卡。板卡全工业级芯片,满足高低温要求。 二、处理板技术指标  ●  主FPGA......
  • 开启Python包管理新纪元:探索devpi的神奇之处
    开启Python包管理新纪元:探索devpi的神奇之处1.背景介绍:为何选择devpi?在Python开发中,依赖管理是不可或缺的一环。devpi,一个强大的工具,它不仅仅是一个PyPI代理和缓存服务器,更是一个完整的包管理解决方案。它允许开发者构建本地或私有的包索引,极大地简化了依赖管理和包发布......
  • [算法题解] Codeforces round 979 --D. QED's Favorite Permutation
    题目链接:https://codeforces.com/contest/2030/problem/D题目:题解:FavotitePermutation即每个数满足i=p[i];此题中,p数组每次询问后保持不变,s根据询问而改变。因此每次需要进行交换的数的位置是相同的,只需要检验s变更后,操作能否满足交换需求与否。故创建需数组need,预处理nee......
  • 基于KU115+ZU19EG+C6678 的高性能6U VPX 载板
    基于KU115+ZU19EG+C6678的高性能6UVPX载板,板载2个HPC形式的FMC连接器(用于外部信号扩展)。板卡选用了1片Xilinx公司的KintexUltraScale系列FPGA家族中的XCKU115-2FLVA1517I和1片ZynqUltraScale+MPSoC家族的XCZU19EG-2FFVC1760I以及1片TI公司的DSP芯片T......
  • YOLO11改进:卷积变体系列篇 | DCNv3可形变卷积基于DCNv2优化 | CVPR2023
     ......
  • [CSP-S2020] VP
    【比赛地址】省流:\(100+100+70+55\to100+100+70+0,325\to270\)[CSP-S2020]儒略日乱搞。这道题太恶心了,场上用了\(1h\)才做出来。代码过于抽象,不放了。[CSP-S2020]动物园非常简单的黄题。#include<bits/stdc++.h>usingnamespacestd;unsignedlonglongn,m,c,k......
  • Codeforces Round 966 (Div. 3) A - G
    linkvp赛时过了ABD,CE没做出来,唐完了eee感觉自己真的可以退役了A-PrimaryTaskB-SeatinginaBusC-NumericStringTemplate这题很简单,开两个map扫一遍就可以了,但是赛时我只开了一个,然后居然没调出来qwq,降智D-RightLeftWrong很显然的贪心,最左边配对......