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. maven的环境配置

    将maven压缩包解压到一个空文件夹中.比如:D盘中的maven文件夹(D:\maven\apache-maven-3.6.3) 注意:路径中不要包含中文.空格.数字等字符 2.新建变量名: MAVE ...

  2. JWT 构建Rails API 授权登录

    目录 安装jwt组件 创建base_controller.rb控制器 配置路由 用户登陆-api接口 验证用户token信息-api接口(*) 参考下面的连接 使用Rails构建JSON-API ht ...

  3. SpringBoot-EasyExcel导出数据(带图片)

    前言 EasyExcel 是阿里巴巴开源的一个Java操作Excel的技术,和EasyPoi一样是封装Poi的工具类. 但是不同的地方在于,在EasyExcel中解决了Poi技术读取大批量数据耗费内存 ...

  4. nim 3. 各种集合

    其实我挺想先去学习一下nim的模块系统,毕竟我决定暂时放弃学习golang,就是因为感觉他的模块和包方面的设计,不像c#+nuget的组合那么舒服. 但是这里还是先学习一下集合吧,感觉这方面nim很有 ...

  5. JS实现跟随鼠标移动的div,和一串跟随鼠标的div,鼠标移入移出实现图片的颜色淡入淡出

    1.一直跟着鼠标移动的div:原理是div的left和top值有oEvent.clientX+scrollLeft鼠标指针向对于浏览器页面(或客户区)的水平坐标+元素中滚动条的水平偏移 <!DO ...

  6. jeecg-boot中分页接口用自定义sql和实体实现

    1.controller实现 @RequestMapping(value = "/list", method = RequestMethod.GET) public Result& ...

  7. Django自定义模板标签与过滤器

    title: Django自定义模板标签与过滤器 date: 2024/5/17 18:00:02 updated: 2024/5/17 18:00:02 categories: 后端开发 tags: ...

  8. CentOS7 防火墙(firewall)的命令详解

    复制代码 安装:yum install firewalld 1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status ...

  9. WPF新建viewModel实例化成员的注意事项

    不要用表达式体去初始化一个用做数据源(比如ItemSource)的引用类型成员.比如这种 public List<MainWindowItem> Items => new List& ...

  10. wxdown 公众号离线文章保存(GO语言开发)

    简介 本来一开始用 nodejs 写的,考虑大小.易操作.高性能.跨平台以及环境等问题,我就想能不能搞个不需依赖开发语言环境就能运行的.所以我就选择 go并且它本身就具备以上优点.作者本身是java开 ...