首页 > 其他分享 >VJ结营测试

VJ结营测试

时间:2024-03-03 15:34:05浏览次数:15  
标签:std ve int VJ cin 测试 using include 结营

A
这题其实自己画一下图可以发现当奇数行为每行都为W,偶数行为W与R交替出现,就可以得到满足题意的图形了。

点击查看代码
#include<bits/stdc++.h>
using namespace std;

void solve()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		if(i%2==1){
			for(int j=1;j<=n;j++) cout<<'W';
			cout<<endl;
		}
		else {
			for(int j=1;j<=n;j++){
				if(j%2==1) cout<<'W';
				else cout<<'R';
			}
			cout<<endl;
		}
		
	}
	
}

signed main()
{
	int t=1;
	while(t--)
	{
		solve();
	}
	return 0;
	
}

B
这题的思路就是你可以把它想象成找多少个不重复的线段区间,我们将每个区间按尾部端点大小进行排序,然后比较前一个区间的尾部和下一个区间的头部,若头部大于等于那个尾部,答案就加上1

点击查看代码
#include<bits/stdc++.h>
using namespace std;
struct a{
	int h;//每个区间的头和尾巴;
	int t;
};
bool cmp(a&x,a&y){
	return x.t<y.t;//让每个区间按尾部大小进行排序
}
int solu(vector<a>&ve){
	if(ve.empty()) return 0;
	int cnt=1;
	int end=ve[0].t;
	for(int i=1;i<ve.size();i++)
	{
		if(ve[i].h>=end)//后一个区间的头大于等于前一个区间的尾;
		{
			cnt++;
			end=ve[i].t;
		}
	}
	return cnt;
	
}


void solve()
{
	 int n,k;
	cin>>n>>k;
	vector<a>ve(k);
	for(int i=0;i<k;i++){
		cin>>ve[i].h>>ve[i].t;
	}
	sort(ve.begin(),ve.end(),cmp);
	cout<<solu(ve);
}
int main()
{
	int t=1;
	while(t--){
		solve();
	}
}

C
这题将故事篇幅排序一下然后算一下前缀和,在通过upper_bound找到第一个大于该数的下标即可

点击查看代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+5;
void solve()
{
	ll n,k,a[N],sum[N],b[N];
	cin>>n>>k;	
	for(int i=1;i<=n;i++) cin>>a[i];
	for(int i=1;i<=k;i++) cin>>b[i];
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++)
	{
		sum[i]=sum[i-1]+a[i];
	}
	for(int i=1;i<=k;i++)
	{
		ll m=upper_bound(sum,sum+n,b[i])-sum;
		if(sum[m]<=b[i]) cout<<n<<" ";
		else cout<<m-1<<" ";
	}
	
	
	
}

int main()
{
	int t=1;
	while(t--)
	{
		solve();	
	}

	return 0;
}

D
这题有几个点需要注意,开头必须是(,最后必须是 ),而且如果n为奇数就无法满足,题意应该是让我们验证正确的括号形式,(()()()()),((((()),正括号和反括号数量要相等,且从左往右数时反括号的数不能多于正括号,开一个计数指针,若计数为负数则不符合

点击查看代码
#include <bits/stdc++.h>
using namespace std;
void solve()
{
	int n,count1=0;
	string s;
	cin>>n;
	cin>>s;
	if(n%2==1) cout << "NO";
	else{
		for(int i=0;i<s.size();i++){
			if(s[i]=='(') count1++;
			if(s[i]==')') count1--;
			if(count1<0){
				cout<<"NO";
				return ;
			}
		}
		if(s[0]=='('&&s[s.size()-1]==')'&&count1==0){
			cout<<"YES";
		}
		else cout<<"NO";
	}
	
	
}

int main()
{
	solve();
	return 0;
}

E
要让总积分最高,那么只需要让队伍实力两两不相同即可,先给队伍实力按照升序排序,若下一个队伍的实力小于等于前一个队伍的实力,让下一个队伍等于前一个队伍的实力+1

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+5;
void solve()
{
	ll n,a[N],ans=0;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	sort(a,a+n);
	for(int i=1;i<n;i++){
		if(a[i]<=a[i-1]){
		ans+=a[i-1]-a[i]+1;
		a[i]=a[i-1]+1;			
		} 
	}
	cout<<ans;
	
}
int main()
{
	int t=1;
	while(t--){
		solve();
	}
	return 0;
}

F
高精度加法,模板题

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+5;
vector<int> add(vector<int>&A,vector<int>&B)
{
	vector<int>C;
	int t=0;
	for(int i=0;i<A.size()||i<B.size();i++){
		if(i<A.size()) t+=A[i];
		if(i<B.size()) t+=B[i];
		C.push_back(t%10);
		t/=10;
		
	}
	if(t) C.push_back(t);
	return C;
}



void solve()
{
	string a,b;
	cin>>a>>b;
	vector<int>A,B;
	for(int i=a.size()-1;i>=0;i--) {
		A.push_back(a[i]-'0');
	}
	for(int i=b.size()-1;i>=0;i--) B.push_back(b[i]-'0');
	auto C=add(A,B);
	
	for(int i=C.size()-1;i>=0;i--){
		cout<<C[i];
	}
}
int main()
{
	int t=1;
	while(t--){
		solve();
	}
	return 0;
}

J
这一题虽然是分类讨论cax,xat,cxt,但是有很多细节需要注意,确保每个字母的顺序是对的,先讨论cax和cxt,再讨论xat,讨论cax时注意a不可以在最末尾,讨论cxt的时候注意t不可以在c的后面,讨论xat的时候把0位留给x,从第一位开始找

点击查看代码
#include <bits/stdc++.h>
using namespace std;
void solve()
{
    int n,cntc=0,cnta=0,cntt=0,posa,posc,post;
    string s;
    cin>>s;
    for(int i=0;i<s.size();i++)
    {
        //先整个扫一遍分类讨论ca,ct,at,cat;
        if(s[i]=='c'&&cntc==0) {//找第一个c
            cntc=1;
            posc=i;
        }
        if(s[i]=='a'&&cntc==1&&cnta==0){//找第一个c后面的第一个a,cntc=1才标记,这个条件就有posa>posc了 
            cnta=1;
            posa=i;
        }
        if(s[i]=='t'&&cntc==1) {//找第一个c后面的t
            post=i;
            cntt=1;
        }
    }
    
    //cax
	if(cntc&&cnta&&posa+1<s.size()){
		cout<<posc+1<<" "<<posa+1<<" "<<posa+2; 
	}//cxt
	else if(cntc&&cntt&&posc+1<post)//最低满足c后面第二位是t即可 
	{
	 cout<<posc+1<<" "<<posc+2<<" "<<post+1;
	 } 
	 else {//xat
	 	cnta=0,cntt=0;//记得重新标记一下 
	 	for(int i=1;i<s.size();i++) //从1开始第0个位置留给x 
	 	{
	 		if(s[i]=='a'&&cnta==0){
	 			cnta=1;
	 			posa=i;
			 }	
			 if(s[i]=='t'&&cnta==1){
			 	cntt=1;
			 	post=i;
			 	break;
			 }
	}
		if(cntt&&cnta){
			cout<<1<<" "<<posa+1<<" "<<post+1;
			return;
		}
	 	cout<<-1;
	 }


}
int main()
{
    int t=1;
    while(t--)
    {
        solve();
    }
    return 0;
}

标签:std,ve,int,VJ,cin,测试,using,include,结营
From: https://www.cnblogs.com/swjswjswj/p/18050118

相关文章

  • m基于OFDM+QPSK和LDPC编译码以及LS信道估计的无线图像传输matlab仿真,输出误码率,并用
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要        无线图像传输:图像数据首先被分割成多个数据包,然后每个数据包经过LDPC编码,接着按OFDM符号映射规则将编码后的比特流映射到各个子载波上进行QPSK调制。在接收端,先利用LS信道估计恢复出......
  • Go语言精进之路读书笔记第43条——使用testdata管理测试依赖的外部数据文件
    43.1testdata目录Go语言规定:Go工具链将忽略名为testdata的目录。开发者可以在名为testdata的目录下存放和管理测试代码依赖的数据文件,数据文件可作为输入也可作为输出gotest命令在执行时会将被测试程序包源码所在目录设置为其工作目录,可以这样使用f,err:=os.Open("testda......
  • App性能测试
    App性能测试主要包含以下几点:1、响应2、内存3、cpu4、FPS(app使用的流畅度)5、GPU过度渲染6、耗电7、耗流一、响应软件的响应时间和响应速度直接影响到用户的体验度,如果一个软件,迟迟加载不出来,会直接影响到软件的日活、留存。因此对于一个软件,对响应速度测试是必不可少......
  • rewrk一个更现代的http框架基准测试实用程序
    引言    rewrk一个更现代的http框架基准测试实用程序。HTTP基准测试(HTTPbenchmarking)是一种测量和评估HTTP服务器或应用程序性能指标的活动。其目的是在特定条件下模拟大量用户请求,以测量服务器或应用程序的响应能力、吞吐量、延迟等指标,从而评估其性能表现。HTTP基准测试通......
  • selenium-grid分布式测试环境
    1.什么时候使用grid针对不同的操作系统、浏览器类型、浏览器版本并发执行用例,缩短用例执行时间(单台电脑性能不足)grid是一个庞大的、复杂的分布式组件,本身有额外的开销2.启动grid下载地址:https://www.selenium.dev/downloads/下载jar包配置jdk执行命令,启动jar包启动命......
  • 软件测试
    测试流程1.分析需求参与需求评审,减少设计阶段的缺陷;理解特性功能点;2.设计测试方案根据需求设计测试方案,包括:测试环境:操作系统、数据库、组网结构;测试工具;测试功能点及场景;是否需要性能测试、安全测试等;3.编写测试用例根据测试方案的场景,编写具体可执行的用例;预制条......
  • 接口写完想快速压力测试?试试Apipost一键压测功能
    背景研发同学在调试完成某些接口后需要验证一下高并发情况下的接口运行情况。这时候必须得跟测试同学协调一下,但这来来回回也有点麻烦,而实际上,这个工作量并不算太大。所以Apipost也是推出了一键压测功能来解决这个痛点场景。这篇文章给大家介绍Apipost的一键压测功能。使用方法......
  • C# NamedPipe传输测试
    CancellationTokenSourcects=newCancellationTokenSource();CancellationTokentoken=cts.Token;Tasktserver=Task.Run(()=>{ NamedPipeServerserver=newNamedPipeServer(); server.dowork(token); });Tasktclient=Task.Run(()=>{ Named......
  • 性能测试从零开始实施指南——流程篇
    原文链接:https://mp.weixin.qq.com/s?__biz=Mzg2NDAwMjM1NQ==&mid=2247483772&idx=1&sn=2f8bfb130fbd1dcc7e9bd5359362836e&chksm=ce714920f906c036a17f4a54d6bfe47ff4abb49ba754ec64997a1084c9f2c494bd7bff080a4c&scene=178&cur_album_id=2920123430547......
  • 弱网罗测试工具clumsy
    clumsy能在Windows平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现。 简介利用封装WinodwsFilteringPlatform的WinDivert库,clumsy能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重......