Codeforces Round #632 (Div. 2)

这一场打的好差呀,这几次艰难上的分全部掉回去了,感觉就像一夜回到了解放前。

说实话,就是被B卡到了,没看到只能从小的放到大的。。。

Little Artem

这个构造就是只让最后一行的最后一个是W就行了,其余都设置成B。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+10;
int main(){
int t;
scanf("%d",&t);
while(t--){
int n,m;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==n&&j==m) printf("W");
else printf("B");
}
printf("\n");
}
}
return 0;
}

Kind Anton

这个题目注意看清楚题意,这个只能在序号大的身上放序号小的,所以说先把大的都处理了,再去处理小的。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=2e5+10;
int a[maxn],b[maxn];
int sum1[maxn],sum0[maxn];
int main(){
int t;
scanf("%d",&t);
while (t--){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++) {
scanf("%d",&a[i]);
sum1[i]=sum1[i-1];
sum0[i]=sum0[i-1];
if(a[i]==1) sum1[i]++;
if(a[i]==-1) sum0[i]++;
}
int flag=0;
for(int i=1;i<=n;i++) scanf("%d",&b[i]);
for(int i=n;i>=1;i--){
if(b[i]>a[i]){
if(sum1[i-1]) continue;
flag=1;
}
else if(b[i]<a[i]){
if(sum0[i-1]) continue;
flag=1;
}
}
if(!flag) printf("YES\n");
else printf("NO\n");
}
}

Eugene and an array

这个我自己写的方法非常复杂,不建议使用,来说说我看题解的方法吧。

去遍历这个给定的序列,求以 \(i\) 这个节点为右端点,满足条件的序列有多少。

因为左端点到右端点肯定是一个区间,每次就加这个区间的长度。

对于一个点 \(i\) 如果这个位置的前缀和之前出现过,那么这个左端点一定要变化,变化到不能加上这段和为0的子段,也就是之前出现过的位置+1则是这个左端点的新位置,但如果这个左端点已经在这个位置的右边了,则不需要更新。

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=5e5+10;
map<ll,ll>mp;
int main(){
int n;
scanf("%d",&n);
mp[0]=1;
ll sum=0,last=0,ans=0;
for(int i=1,x;i<=n;i++){
scanf("%d",&x);
sum+=x;
if(mp[sum]) last=max(mp[sum],last);
ans+=i-last;
mp[sum]=i+1;
}
printf("%lld\n",ans);
return 0;
}

Challenges in school №41

我觉得这个题目挺好,但是我没有做好,可惜了。最后看的题解。

题目大意:

每一个人头有偏向,左边或者右边。如果有两个人的脸面对面,则可以对这一对进行操作,即左边的脸转向左边,右边的脸转向右边,问是否有一种转向的方法使得恰好k秒转完。注意:每一秒可以把这个序列所有的都转完,也可以只选择一部分。

题解:

这个首先我们可以求出最小的时间,然后也可以求出最多的时间,只要这个k在这个时间范围内即可完成任务,那怎么构造这个方法呢?其实就是把最小的时间补到k就行了,如果小于k,那就一个一个的转,如果等于了,那就按照正常的去一次性的转。

我觉得这个代码写的很漂亮,可以看一下。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=3e6+10;
vector<int>v[maxn];
char s[maxn];
int n,k,mins,maxs; void solve(){
int p=0,num=0,cur=mins;
while(cur<k){
printf("1 %d\n",v[p][num]);
num++;
if(num==v[p].size()){
num=0;
p++;
}
else cur++;
} printf("%d",v[p].size()-num);
for(int i=num;i<v[p].size();i++){
printf(" %d",v[p][i]);
}
printf("\n");
p++;
for(;p<mins;p++){
printf("%d",v[p].size());
for(int j=0;j<v[p].size();j++){
printf(" %d",v[p][j]);
}
printf("\n");
}
} void check(int p){
for(int i=1;i<=n;){
if(s[i]=='R'&&s[i+1]=='L'){
s[i]='L',s[i+1]='R';
v[p].push_back(i);
i+=2;
}
else i++;
}
} int main(){
mins=maxs=0;
scanf("%d%d%s",&n,&k,s+1);
check(0);
while(v[mins].size()&&mins<=k){
maxs+=v[mins].size();
mins++;
check(mins);
}
// printf("mins=%d\n",mins);
if(mins<=k&&k<=maxs) solve();
else printf("-1\n");
return 0;
}

Kate and imperfection

这个题目其实一看是稍微有一点点的思路的,但是不知道如何去处理。

首先很明确的是把素数和1都放进去,这个是 \(gcd=1\) 的情况,然后就是考虑 \(gcd=2\) 的情况了。

这个怎么构造呢?首先我每放一个数,则这个数的所有的因子都已经在这个集合里面了,所以这个数的产生的贡献就是这个数的最大因子。如果这个数有一个因子没有放进这个集合,那么我就可以先放这个因子,再放这个数。

没有说的很清楚,等官方题解出来再补充吧。

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=5e5+10;
int pri[maxn],cnt,v[maxn];
void init() {
cnt = 0;
memset(v,0,sizeof(v));
for (int i = 2; i < maxn; ++i) {
if (!v[i]) {
v[i] = i;
pri[cnt++] = i;
}
for (int j = 0; j < cnt; ++j) {
if (1ll * i * pri[j] >= maxn) break;
v[i * pri[j]] = pri[j];
if (i % pri[j] == 0) break;
}
}
} int main(){
init(),v[1]=1;
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++) v[i]=i/v[i];
sort(v+1,v+1+n);
for(int i=2;i<=n;i++) printf("%d ",v[i]);
printf("\n");
return 0;
}

Codeforces Round #632 (Div. 2)的更多相关文章

  1. Codeforces Round #632 (Div. 2) 题解

    空山新雨后,天气晚来秋. 明月松间照,清泉石上流. 竹喧归浣女,莲动下渔舟. 随意春芳歇,王孙自可留.--王维 A. Little Artem 网址:https://codeforces.com/co ...

  2. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  3. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  4. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  5. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  6. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  7. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

  8. Codeforces Round #262 (Div. 2) 1004

    Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...

  9. Codeforces Round #371 (Div. 1)

    A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...

随机推荐

  1. AJ学IOS 之CoreLocation指南针小应用

    AJ分享,必须精品 一:效果图示 简单的用到CoreLocation获取方位做的指南针小应用 二:制作思路 具体用到了CoreLocation相关的知识,请看上一篇博客有写 然后获取方向不需要进行授权 ...

  2. 选择IT行业的自我心得,希望能帮助到各位!(四)

    俗话说,只有尝过人生的苦,吃过人生的亏,你才能吃一见长一智,人生教会了我们该如何去吃亏,该如何做人,该如何和人打交道,生活会让我们低下无数的头,就看你怎么去面对这些曲折该如何告诉自己不能就被这样打到, ...

  3. 计算机视觉中的对象检测,Python用几段代码就能实现

    目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...

  4. 阿里Canal框架数据库同步-实战教程

    一.Canal简介: canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL(也支持mariaDB). 二.背景介绍: ...

  5. django.template.exceptions.TemplateDoesNotExist: login.html报错

    前言 在某一次按以前的步骤使用Django    “django.template.exceptions.TemplateDoesNotExist: login.html”错误,在以为是html文件出 ...

  6. 架构师修炼之微服务部署 - Docker简介

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是 ...

  7. C#获取文件夹内文件包括子文件(递归)实例

    这个在我工作上,写了一次工具项目,用上的. static ArrayList FileList = new ArrayList();//这个必须写在方法外, static ArrayList GetA ...

  8. Apache jena SPARQL endpoint及推理

    一.Apache Jena简介 Apache Jena(后文简称Jena),是一个开源的Java语义网框架(open source Semantic Web Framework for Java),用 ...

  9. pytorch seq2seq闲聊机器人beam search返回结果

    decoder.py """ 实现解码器 """ import heapq import torch.nn as nn import con ...

  10. ubuntu17.10安装lnmp安装包的核心问题-gcc版本、g++版本

    大致碰到的问题都是这样,不是php安装失败,就是MySQL安装失败,或者Nginx也安装失败 基本上是花式报错.后来在军哥的论坛中找到了这个帖子:https://bbs.vpser.net/viewt ...