AtCoder Beginner Contest 161
比赛链接:https://atcoder.jp/contests/abc161/tasks
AtCoder Beginner Contest 161
第一次打AtCoder的比赛,因为是日本的网站终于不用倒时差了233。
A - ABC Swap
可以直接按照交换后的顺序输出。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<c<<' '<<a<<' '<<b;
return 0;
}
B - Popular Vote
最后一个测试点会卡取下整的误差,可以通过变换不等式来避免。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m;cin>>n>>m;
int a[n];for(int &i:a) cin>>i;
int sum=accumulate(a,a+n,0);
int cnt=0;
for(int i:a)
if(4*m*i>=sum) ++cnt;
cout<<(cnt>=m?"Yes":"No")<<"\n";
return 0;
}
C - Replacing Integer
$N$ 通过不断地减 $K$ 最后一定会在 $[0,K)$ 之内,此时输出 $min(N,K-N)$ 即可。
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long n,k;cin>>n>>k;
cout<<min(n%k,k-n%k);
return 0;
}
D - Lunlun Number
对每个数的最后一位从小到大进行扩展,操作 $k$ 次即可。
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long k;cin>>k; queue<long long> q;
for(long long i=1;i<=9;i++)
q.push(i); long long ans;
while(k--){
ans=q.front();
q.pop(); long long m=ans%10; if(m>0) q.push(ans*10+m-1);
q.push(ans*10+m);
if(m<9) q.push(ans*10+m+1);
}
cout<<ans; return 0;
}
E - Yutori
思路参考自:Harris-H
正反向模拟一遍分别存储第 $i$ 次工作的最早和最晚天数,若二者相等说明该天必须工作。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k,c;cin>>n>>k>>c;
string s;cin>>s; int a[k]={},b[k]={}; for(int i=0,j=0;i<n&&j<k;i++)
if(s[i]=='o')
a[j++]=i,i+=c; for(int i=n-1,j=k-1;i>=0&&j>=0;i--)
if(s[i]=='o')
b[j--]=i,i-=c; for(int i=0;i<k;i++)
if(a[i]==b[i])
cout<<a[i]+1<<"\n"; return 0;
}
F - Division or Substraction
若 $N$ 最终可以变为 $1$,$K$ 需要满足:$\frac{N}{K^n}$${\%K=1}$。
- 当 $n=0$ 时,$N\%K=1$,此时的 $K$ 为 $N-1$ 的因子。
- 当 $n>0$ 时,只有枚举不大于 $\sqrt{N}$ 的因子K,才有可能得到 $\frac{N}{K^n}$${\%K=1}$。
最后再讨论一下 $K=1$ 和 $K=N$ 的情况即可。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll n;cin>>n; set<ll> st;
for(ll i=2;i*i<=n;i++){
if(n%i==0){
ll t=n;
while(t%i==0) t/=i;
if(t%i==1) st.insert(i);
}
}
for(ll i=1;i*i<=n-1;i++){
if((n-1)%i==0){
st.insert(i);
st.insert((n-1)/i);
}
}
st.erase(1);
st.insert(n); cout<<st.size()<<"\n"; return 0;
}
AtCoder Beginner Contest 161的更多相关文章
- AtCoder Beginner Contest 100 2018/06/16
A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...
- AtCoder Beginner Contest 052
没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...
- AtCoder Beginner Contest 053 ABCD题
A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...
- AtCoder Beginner Contest 136
AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...
- AtCoder Beginner Contest 137 F
AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...
- AtCoder Beginner Contest 076
A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...
- AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】
AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...
- AtCoder Beginner Contest 064 D - Insertion
AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...
- AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】
AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...
随机推荐
- .netcore 急速接入第三方登录,不看后悔
新年新气象,趁着新年的喜庆,肝了十来天,终于发了第一版,希望大家喜欢. 如果有不喜欢看文字的童鞋,可以直接看下面的地址体验一下: https://oauthlogin.net/ 前言 此次带来得这个小 ...
- 【Flutter】布局类组件之对齐和相对定位
前言 如果只想简单的调整一个子元素在父元素中的位置的话,使用Align组件会更简单一些. 接口描述 const Align({ Key key, // 需要一个AlignmentGeometry类型的 ...
- python基础学习总结
python管理cisco设备:http://www.linuxeye.com/program/1680.html 学习:https://www.liaoxuefeng.com/wiki/001431 ...
- LeetCode 371两数之和
题目描述: 不使用运算符 + 和 - ,计算两整数 a .b 之和. 思路: 既然不能使用运算符操作就要考虑到,位运算的加法. 加法有进位的时候和不进位的时候 ...
- Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间
Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...
- spring cloud gateway 日志打印
从api请求中获取访问的具体信息,是一个很常见的功能,这几天在研究springcloud,使用到了其中的gateway,刚好将研究的过程结果都记录下来 0. Version <parent> ...
- docker 数据卷的挂载和使用
容器之间的数据共享技术, Docker容器产生的数据同步到本地 卷技术 --> 目录挂载, 将容器内的目录挂载到服务器上 使用命令来挂载 -v # 可以挂载多个目录 docker run -it ...
- kubernets之卷
一 卷的由来以及种类和常用的卷的类型 前面介绍了大部分都是pod的管理以及在集群内部和集群外部如何访问pod,但是我们也了解到,pod是有生命周期的,当pod所在节点下线,或者等其他原因原因导致pod ...
- C#使用OracleParameter操作数据库
public static int GetScalar(string sql,params OracleParameter [] OracleParms) { using (OracleConnect ...
- kafka(二)基本使用
一.Kafka线上集群部署方案 既然是集群,那必然就要有多个Kafka节点机器,因为只有单台机器构成的kafka伪集群只能用于日常测试之用,根本无法满足实际的线上生产需求. 操作系统: kafka由S ...