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. CentOS-7卸载了python2.7,yum不可用的解决方法

    1.mount挂载iso镜像 [root@localhost software]# mount -t iso9660 -o loop CentOS-7-x86_64-DVD-2003.iso /med ...

  2. Oracle细粒度审计策略

    场景:经常需要查看某些表做了哪些操作. Oracle中,可以添加细粒度策略来获取,如下: begin dbms_fga.add_policy(object_schema => 'portxx', ...

  3. ansible系列(26)--ansible的tags标签

    目录 1. tags标签 1.1 指定执行某个tags 1.2 指定排除某个tags 1. tags标签 默认情况下, Ansible 在执行一个 playbook 时,会执行 playbook 中所 ...

  4. js中关于return和if条件处理

    好玩的 // if (true) { // return // } // // 不会打印 // console.log('1') // if (false) { // return // } // / ...

  5. 安全高效 | AIRIOT智慧工地管理解决方案

      建筑工地施工材料.机械设备.工程车.人员各个环节管理相对复杂.建筑业也是安全事故频发的高危行业,安全管控尤为重要.建筑施工单位想要保障安全生产,做好能源消耗管控降低生产成本,需要解决掉很多现状问题 ...

  6. mongodb的备份与恢复详解

    简单 Mongodb导出与导入 1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.所以,都有如下通用选项:-h host 主机--port port 端口-u username ...

  7. linux源码编译安装软件原理

    目录 一.关于软件包 二.软件编译过程 三.编译安装常用参数 四.源码编译出错的解决思路 五.各种软件安装方法的特点 一.关于软件包 ​ 在linux中安装软件是需要安装包的,软件的安装包有各种类型: ...

  8. C#老码农的职业生涯

    开头白 大家好,我是tibos,19年10月1号由深圳回武汉的码农,目前入职武汉福禄网络,最近刷到的年终总结也比较多,赶在这最后一天,我也来凑个热闹 心路历程 -> 菜鸟入江湖 13年开启码农的 ...

  9. HttpWebRequest , HttpWebResponse 调用示例

    1, public string sendPost1(string url, string content) { string result = ""; HttpWebReques ...

  10. iOS面试题详解-开篇

    一.前言 转眼之前,已经毕业5年,从事iOS开发5年.5年的时间说长不长,却把我从刚毕业的毛头小伙子变成了现在的"中年大叔",不仅仅是外表还有心态. 一方面不愿意接收自己形体的改变 ...