前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【cf849ABC】

【cf849ABC】

作者头像
饶文津
发布2020-06-02 16:16:21
6450
发布2020-06-02 16:16:21
举报
文章被收录于专栏:饶文津的专栏饶文津的专栏

849A - Odds and Ends 问能否将序列划分为奇数个长度奇数的奇数开头奇数结尾的子区间。 一开始想dp。。不过没必要。

代码语言:javascript
复制
const int N=201000;
int n,a[N];
int main() {
	sf(n);
	rep(i,1,n+1)sf(a[i]);
	bool ans=1;
	if(a[1]%2==0||a[n]%2==0||n%2==0){
		ans=0;
	}
	puts(ans?"Yes":"No");
	return 0;
}

849B - Tell Your World

代码语言:javascript
复制
const int N=201000;
int n,y[N];
double k;
int main() {
	sf(n);
	rep(i,0,n)sf(y[i]);
	int b=-1;
	rep(i,2,n)if((ll)(y[i]-y[0])*(i-1)!=(ll)(y[i]-y[1])*i){
		b=i;break;
	}
	if(~b){
		bool ans=0,tans=1;
		rep(i,2,n)if(i!=b){
			bool t=(ll)(y[i]-y[0])*(i-1)!=(ll)(y[i]-y[1])*i;
			bool s=(ll)(y[i]-y[b])!=(ll)(y[1]-y[0])*(i-b);
			if(s && t){
				tans=0;break;
			}
		}
		ans|=tans;
		tans=1;
		rep(i,2,n)if(i!=b){
			bool t=(ll)(y[i]-y[0])*(i-b)!=(ll)(y[i]-y[b])*i;
			bool s=(ll)(y[i]-y[1])*b!=(ll)(y[b]-y[0])*(i-1);
			if(s && t){
				tans=0;break;
			}
		}
		ans|=tans;
		tans=1;
		rep(i,2,n)if(i!=b){
			bool t=(ll)(y[i]-y[1])*(i-b)!=(ll)(y[i]-y[b])*(i-1);
			bool s=(ll)(y[i]-y[0])*(b-1)!=(ll)(y[b]-y[1])*i;
			if(s && t){
				tans=0;break;
			}
		}
		ans|=tans;
		puts(ans?"Yes":"No");
	}else {
		puts("No");
	}
	return 0;
}

849C - From Y to Y

代码语言:javascript
复制
const int N=1000;
int pre[N];
int n;
char s[N*N];
int len;
int main() {
	rep(i,0,N)pre[i]=(i-1)*i/2;
	sf(n);
	if(n==0)puts("a");
	int j,c;
	while(n>0){
		j=lower_bound(pre, pre+N, n)-pre;
		if(pre[j]>n)--j;
		n-=pre[j];
		rep(i,0,j)s[len++]='a'+c;
		++c;
	}
	printf("%s",s);
	return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-09-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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