前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Codeforces Round #564 (Div. 2) A到C D待补

Codeforces Round #564 (Div. 2) A到C D待补

作者头像
用户2965768
发布2019-06-20 19:16:26
3620
发布2019-06-20 19:16:26
举报
文章被收录于专栏:wymwym

A.签到题

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;
int main()
{
	int x,y,z;
	cin>>x>>y>>z;
	if(x>y+z){
		printf("+\n");
	}else if(y>x+z){
		printf("-\n");
	}else if(x==y&&z==0){
		printf("0\n");
	}else printf("?\n");
	
	return 0;
 } 

B.只要计算出每个点到(1,1)的距离存下来。然后最后一个点和(1,1)符合则所有都符合。

求出行数,再构造就行。

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;
int a[1001][1001];
int main()
{
	for(int i=1;i<=1000;i++)
		for(int j=1;j<=1000;j++)
			a[i][j] = i+j-2;
	int n,tn;
	cin>>n; tn = n - 1;
	if(tn%2==1)tn++;
	tn=(tn+2)/2;//tn行 
	printf("%d\n",tn);
	
	int cnt = 1;
	for(int i=1;i<=tn;i++)
		for(int j=1;j<=tn;j++){
			if(a[i][j]>=cnt-1){
				printf("%d %d\n",i,j);
				cnt++;
				if(cnt==n+1)break;
			}
			if(cnt==n+1)break;
		}
	
	return 0;
 } 

C.

序列有两种情况求解:

1.序列从1到最后有序,只要把手中牌插入就行;

2.否则要全部拿出到手中,再按顺序插入,不过全部拿到手中不是说要同时拿到手中

比如

11 0 0 0 5 0 0 0 4 0 0 11 9 2 6 0 8 1 7 0 3 0 10

是将前七个拿出,再放1,2,放2时3就被拿出来了。 这个过程就是找 插入0的最小个数再加上n。

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;
struct No{
	int va,id;
}pipl[200005];
int hand[200005],xu[200005];
int n,tp,ans = 0,an;
bool judge2(){
	int tx = pipl[1].id,tf=1;
	an = tx - 1;
	int hand2[200005];
	for(int i=1;i<=n;i++)hand2[i] = hand[i];
	
	for(int i=tx+1;i<=n;i++){
		if(xu[i]!=xu[i-1]+1)return false;
	}
	tf = xu[n]+1; 
	int id=1;
	while(tf<=n){
		if(hand2[tf]==1){
			tf++;  if(id<tx)hand2[xu[id]]=1; id++;
		}else return false;
	}
	return true;
}
int main()
{
	cin.tie(0);
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>tp; hand[tp] = 1;
	}
	for(int i=1;i<=n;i++){
		cin>>xu[i];	pipl[xu[i]].id = i; pipl[xu[i]].va = xu[i];
	}
	if(judge2()){//判断是否可以直接插入 
		printf("%d\n",an);
		return 0; 
	}
	for(int i=1;i<=n;i++)
		if(hand[i]!=1){//不可直接插入则算出 最小最多无效用次数,即放0的个数 
			ans = max(ans,pipl[i].id - (i-1));
		}
	printf("%d\n",n+ans);
	return 0;
} 
/*
3
0 2 0
3 0 1
*/

D.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年06月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档