程序笔记   发布时间:2022-07-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ARC 103大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

C ////

奇偶分类然后就是送分题,代码懒得写了。

D Robot Arms

非常强的二进制拆分,见代码。(题解自己看去)

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cString>
using namespace std;
inlinE int read()
{
	int x=0,f=1;char c=getchar();
	while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
	while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+(c^48);c=getchar();}
	return x*f;
}
vector<int> v;
void sol(int x,int y)
{
	for(int i=0;i<v.size();i++)
	{
		int s=v[i];
		if(abs(X)>abs(y))
		{
			if(x<0)x+=s,putchar('L');
			else x-=s,putchar('R');
		}
		else
		{
			if(y<0)y+=s,putchar('D');
			else y-=s,putchar('U');
		}
	}
	putchar('n');
}
const int n=1010;
int x[n],y[n],c[2];
int main()
{
	int n=read();
	for(int i=1;i<=n;i++)x[i]=read(),Y[i]=read(),c[x[i]+Y[i]&1]++;
	if(c[0]&&c[1])return puts("-1"),0;
	for(int i=30;i>=0;i--)v.push_BACk(1<<i);
	if(c[0])v.push_BACk(1);
	printf("%dn",(int)v.size());
	for(int i=0;i<v.size();i++)printf("%d ",v[i]);putchar('n');
	for(int i=1;i<=n;i++)sol(x[i],Y[i]);
	return 0;
}

E Tr/ee

感觉这个 E 比 D 简单,因为我都能想出来。。。

有解当且仅当:

  1. (forall 1le i<n,s_i=s_{n-i})
  2. (s_1=s_{n-1}=1)
  3. (s_n=0)
  4. @H_489_31@

    (s_i=1) 的下标拎到一个 (p_1,p_2,cdots,p_m) 里,那么弄一个长度为 (m) 的链,并且第 (i)(2<ile m))个点挂上 (p_i-p_{i-1}-1) 个点。这样是 (n-1) 个点,往第 (m) 个点再挂一个即可。

    #include<bits/stdc++.h>
    using namespace std;
    inlinE int read()
    {
    	int x=0,f=1;char c=getchar();
    	while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
    	while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+(c^48);c=getchar();}
    	return x*f;
    }
    const int n=1e5+10;
    char s[n];int p[n],c; 
    int main()
    {
    	scanf("%s",s+1);
    	int n=strlen(s+1);
    	if(s[1]=='0'||s[n-1]=='0'||s[n]=='1')return puts("-1"),0;
    	for(int i=1;i<n;i++)if(s[i]!=s[n-i])return puts("-1"),0;
    	for(int i=1;i<=n;i++)if(s[i]^48)p[++c]=i;
    	int m=c;
    	for(int i=2;i<=c;i++)
    	{
    		printf("%d %dn",i,i-1);
    		for(int j=1;j<=p[i]-p[i-1]-1;j++)printf("%d %dn",i,++m);
    	}
    	printf("%d %dn",c,++m);
    	return 0;
    }
    

    F Distance Sums

    一场四道题的比赛出两道构造题,这合理吗?这合理吗????

    大佬总结

    以上是大佬教程为你收集整理的ARC 103全部内容,希望文章能够帮你解决ARC 103所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。