A. Soccer

------------------------题解---------------

给你开始比分和结束比分问你中间两队比分有没有相等过有可能就是YES不可能就是NO

结束时两队比分肯定>=各自队伍开始时比分,我们只需要让开始时大的先到达结束比分,再让开始时落后的比分到达结束时比分,只需要在心中模拟这个过程

最后就能写出一个O1的if 判断

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;
ll a[N],b[N],c[N];
bool vis[N];
pair<ll,ll> p[N];
int main()
{
ll t;
cin>>t;
while(t--)
{
ll a,b,c,d;
cin>>a>>b>>c>>d;
if(a<b&&c<d) cout<<"YES"<<'\n';
else if(b<a&&d<c) cout<<"YES"<<'\n';
else cout<<"NO"<<'\n'; }
}

B

-------------------------------题解-----------------------------

按照过程模拟就行,稍微优化一下把+1的过程编程x一下加到能被y整除的过程,只要每进行一次操作后x能被y整除就一直除以y

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;
ll a[N],b[N],c[N];
bool vis[N];
pair<ll,ll> p[N];
int main()
{
ll t;
cin>>t;
while(t--)
{
ll x,y,k;
cin>>x>>y>>k; /* if(x<y)
{
if(k>=y-(x%y)) cout<<1+(k-(y-(x%y)))%y<<'\n';
else cout<<x+k<<'\n';
}
else if(y-(x%y)>k) cout<<x+k<<'\n'; else
{*/
ll num=x;
num++;
k--;
int jud=0;
while(num!=1)
{ jud++;
// cout<<num<<" "<<k<<" "<<y<<endl;
if(num%y==0)
{
while(num%y==0) num=num/y;
//cout<<num<<endl;
}
else if(k>=y-(num%y))
{
k-=(y-(num%y));
num+=(y-(num%y));
while(num%y==0) num=num/y;
//
// cout<<1<<endl;
}
else break;
if(k==0) break;
}
// cout<<num<<" "<<k<<endl;
ll w=num+k;
if(num==1) w=1+(k%(y-1));
// while(w%y==0) w=w/y;
cout<<w<<'\n'; }
}

C Boring Day

-----------------------------题解----------------------------

O(n)的线性模拟一下就好 按照以下决策

设置一个sum

sum+=a[i]只要sum到了l和r的范围就立马不拿了 cnt++

超了也不拿了 cnt不变

按照这个决策模拟便是正确答案

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;
ll a[N],b[N],c[N];
bool vis[N];
pair<ll,ll> p[N];
int main()
{
ll t;
cin>>t;
while(t--)
{
ll n,l,r;
cin>>n>>l>>r;
for(ll i=1;i<=n;i++) cin>>a[i];
// sort(a+1,a+1+n);
ll sum=0;
ll cnt=0;
ll l1=1;
for(ll i=1;i<=n;i++)
{
sum+=a[i];
if(sum>=l&&sum<=r) cnt++,sum=0,l1=i+1;
else if(sum>r)
{
while(sum>r)
{
sum-=a[l1];
l1++; }
if(sum<=r&&sum>=l) cnt++,l1=i+1,sum=0; } }
cout<<cnt<<'\n'; }
}

D. Beauty of the mountains

------------------------------题解----------------------------

先把所有0与1位置上的和加起来称为sum 这需要遍历nm中 每一个kk方块中0 与 1的绝对值差 然后再看这些绝对值差(假设为有两个绝对值差分别为x,y) 则要看k1x+k2y是否能==sum

我们需要知道一个事情,只要这个sum与n个绝对值差求gcd 最后求出来的结果==1 那便是符合根据这个判断即可,,,这里这个题的关键就结束了,为了避免超时,我们还需要注意用二位前缀和优化一下记录各个区块内0和1的差值PS:比赛二位前缀和这里挂了不然出了.

点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=510;
int a[N][N];
char b[N][N];
int n,m,k;
int c[N][N];
void solve()
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(b[i][j]=='1') c[i][j]=1;
else c[i][j]= -1;
c[i][j]+=c[i][j-1]+c[i-1][j]-c[i-1][j-1];
}
} }
int main()
{
int t;
cin>>t;
while(t--)
{ cin>>n>>m>>k;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++) cin>>a[i][j];
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++) cin>>b[i][j];
}
int s1=0,s0=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(b[i][j]=='1') s1+=a[i][j];
else s0+=a[i][j]; }
} int s3=abs(s1-s0);
int jud=1;
if(s3==0)
{
cout<<"YES"<<'\n';
continue;
}
//cout<<s3<<endl;
int e=-2; solve();
/* for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cout<<c[i][j]<<" "; }
cout<<endl;
}*/
if(jud!=0){ for(int i=1;i<=n-k+1;i++)
{
for(int j=1;j<=m-k+1;j++)
{
int num=(c[i+k-1][j+k-1]-c[i-1][j+k-1]-c[i+k-1][j-1]+c[i-1][j-1]);
if(e==-2&&num!=0) e=num;
else if(num!=0) e=__gcd(e,abs(num));
//cout<<num<<endl;
// cout<<e<<endl;
}
}
}
if(s3%e==0||e==0) cout<<"YES"<<'\n';
else cout<<"NO"<<'\n'; }
}
/*
1
3 4 3
46 49 50 1
19 30 23 12
30 25 1 46
1000
0100
0010
*/

Codeforces Round 955 (Div. 2, with prizes from NEAR!) codeforces div2 955的更多相关文章

  1. Codeforces Round #427 (Div. 2) Problem D Palindromic characteristics (Codeforces 835D) - 记忆化搜索

    Palindromic characteristics of string s with length |s| is a sequence of |s| integers, where k-th nu ...

  2. Codeforces Round #427 (Div. 2) Problem C Star sky (Codeforces 835C) - 前缀和

    The Cartesian coordinate system is set in the sky. There you can see n stars, the i-th has coordinat ...

  3. Codeforces Round #427 (Div. 2) Problem A Key races (Codeforces 835 A)

    Two boys decided to compete in text typing on the site "Key races". During the competition ...

  4. Codeforces Round #425 (Div. 2) Problem C Strange Radiation (Codeforces 832C) - 二分答案 - 数论

    n people are standing on a coordinate axis in points with positive integer coordinates strictly less ...

  5. Codeforces Round #258 (Div. 2)[ABCD]

    Codeforces Round #258 (Div. 2)[ABCD] ACM 题目地址:Codeforces Round #258 (Div. 2) A - Game With Sticks 题意 ...

  6. Codeforces Round #500 (Div. 2) [based on EJOI]

    Codeforces Round #500 (Div. 2) [based on EJOI] https://codeforces.com/contest/1013 A #include<bit ...

  7. Codeforces Round #518 (Div. 2) [Thanks, Mail.Ru!]

    Codeforces Round #518 (Div. 2) [Thanks, Mail.Ru!] https://codeforces.com/contest/1068 A #include< ...

  8. Codeforces Round #261 (Div. 2)[ABCDE]

    Codeforces Round #261 (Div. 2)[ABCDE] ACM 题目地址:Codeforces Round #261 (Div. 2) A - Pashmak and Garden ...

  9. Codeforces Round #547 (Div. 3) 题解

    Codeforces Round #547 (Div. 3) 题目链接:https://codeforces.com/contest/1141 A,B咕咕了... C. Polycarp Restor ...

  10. Codeforces Round #546 (Div. 2) 题解

    Codeforces Round #546 (Div. 2) 题目链接:https://codeforces.com/contest/1136 A. Nastya Is Reading a Book ...

随机推荐

  1. FFmpeg开发笔记(十八)FFmpeg兼容各种音频格式的播放

    ​FFmpeg结合SDL可以播放音频文件,也能播放视频文件中的音频流,<FFmpeg开发实战:从零基础到短视频上线>一书第10章的示例程序playaudio.c支持播放mp3和aac两种格 ...

  2. 羽夏壳世界—— PE 结构(下)

    写在前面   此系列是本人一个字一个字码出来的,包括代码实现和效果截图. 如有好的建议,欢迎反馈.码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作.如想转载,请把我的转载信息附在文章后 ...

  3. Ubuntu的apt-get/yarm/wget命令详解

    目录 一.查看本机是否安装软件 二.apt-get 三.yum 四.wget apt-cache和apt-get是apt包的管理工具, 他们根据/etc/apt/sources.list里的软件源地址 ...

  4. Consul启动闪退

    一.问题概述 在Windows10下载了consul,解压完后,点击consul.exe出现闪退,其实闪退也不影响使用 二.解决方案 方案1: 按理说第一种方法就可以解决问题:在环境变量的系统变量中的 ...

  5. CSS样式第四篇

    ​针对现在网站的图片过大问题,可以用相应的工具进行压缩,并且可对图片进行切割处理. 1.如果一个页面的图片过大,可以对其切割,代码<img src="1.jpg">&l ...

  6. Android 开发中脚本 提高效率工具

    在安卓开发中我们常常需要获取日志,通常我们可以通过adb logcat 命令获取日志.同样,我没有可以通过脚本获取.其实质也是通过adb命令实现,只是把命名写入bat文件中,在win系统中直接双击就可 ...

  7. Windows有自带的远程桌面 为啥还要商业远程桌面

    网上有一类观点:最好的远程桌面就是windows自带的远程桌面. 那我们打破砂锅问到底,亲手实践下看看. 首先,我们来到了windows官网-远程桌面介绍页面. 如何使用远程桌面 设置你想要连接以使其 ...

  8. java netty 实现 websocket 服务端和客户端双向通信 实现心跳和断线重连

    java netty 实现 websocket 服务端和客户端双向通信 实现心跳和断线重连 maven依赖 <dependency> <groupId>io.netty< ...

  9. centos7系统的七个运行级别和设置默认运行级别

    一.系统七个运行级别概述 0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的 1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录 2 ...

  10. golang http client 长连接vs短连接基准测试

    package main import ( "io/ioutil" "net/http" "strings" "testing&q ...