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 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...
随机推荐
- Jenkins Android APP 持续集成体系建设二—自动部署、执行测试任务,关联打包任务
经过上一遍博客我们知道了怎么使用Jenkins自动打包,但打完包之后,我们还需要对新包进行回归测试,确定新包有没有问题,然后才能发布包,那么,话不多说,我们先来新建个自动化回归测试任务 新包自动化回归 ...
- 更改mysql的密码
mysql> set password for 'root'@'localhost' =PASSWORD('');Query OK, 0 rows affected (0.17 sec) mys ...
- 【Linux】用find删除大于30天的文件
1.删除文件命令: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 实例命令:find /opt/soft/log/ -mt ...
- DataGridView控件使用Demo
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- CMU数据库(15-445)Lab1-BufferPoolManager
0. 关于环境搭建请看 https://www.cnblogs.com/JayL-zxl/p/14307260.html 1. Task1 LRU REPLACEMENT POLICY 0. 任务描述 ...
- [Usaco2008 Nov]Buying Hay 购买干草
题目描述 约翰的干草库存已经告罄,他打算为奶牛们采购H(1≤H≤50000)磅干草,他知道N(1≤N≤100)个干草公司,现在用1到N给它们编号.第i个公司卖的干草包重量为Pi(1≤Pi≤5000)磅 ...
- 在.NET Core 中实现健康检查
.NET Core中提供了开箱即用的运行状况检查,首先,我将在.NET Core API应用程序中执行运行状况检查,接下来,我们将使用DbContext集成SQL Server或数据库的运行状况检查, ...
- python多线程和GIL全局解释器锁
1.线程 线程被称为轻量级进程,是最小执行单元,系统调度的单位.线程切换需要的资源一般,效率一般. 2.多线程 在单个程序中同时运行多个线程完成不同的工作,称为多线程 3.并 ...
- LR_添加系统资源监控失败
1.服务开启情况:RPC.Rmote Resgistry.Network DDE.Server.Workstation.Network connection以上服务是否已开启 2.是否开了防火墙,如有 ...
- jQuery 多选与清除
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...