abc136
第一次打ABC
题目简单,但我菜
可以任选两个数,一个减去1,一个加上1,可以操作$0,\cdots,K$次,求操作后数组最大GCD
枚举数组之和的因子,试图找到符合题意的最大因子
check(x)
对x取模,然后排下序,前面的减到0后面的加到x,枚举分界点,看能不能找到减去的与加上的相等的位置
维护一个前缀和,即满足$sum[i]==(n-i)\times x-sum[n]+sum[i]$的位置
#include<bits/stdc++.h>
typedef long long ll;
#define pair<int,int> P
#define sc(N) scanf("%lld",&N);
using namespace std;
ll A[];
ll B[]; ll K;ll N;
bool check(ll x)
{
ll t=;
for(int i=;i<=N;i++){
B[i]=(A[i-])%x;
}
sort(B+,B+N+);
for(int i=;i<=N;i++){
B[i]+=B[i-];
}
for(int i=;i<=N;i++){
if(B[i]==x*(N-i)-B[N]+B[i]){
if(B[i]<=K)return true;
}
if(B[i]>K)return false;
}
return false;
}
int main()
{ sc(N);
sc(K);
ll t=;
for(int i=; i<N; i++)
{
sc(A[i]);
t+=A[i];
}
sort(A,A+N);
ll ans=;
ll x;
for(ll i=; i*i<=t; i++)
{
if(t%i==)
{
x=t/i;
if(check(x))
{
ans=x;
break;
}
else if(check(i))
{
ans=i;
} }
}
cout<<ans<<'\n';
}
给一个一堆’L‘,'R'的字符串s,每个位置站一个小人,按着脚下’L‘,’R‘的方向来走,求10^100步后,每个位置有多少小人
#include<bits/stdc++.h>
typedef long long ll;
#define pair<int,int> P
#define sc(N) scanf("%lld",&N);
using namespace std;
int N;
string s;
int A[]; int main()
{
cin>>s;
int n=s.length();
int j=;
for(int i=; i<n;)
{
// cout<<i<<endl;
if(s[i]=='R')
{
while(s[i+j]=='R')
{
j++;
} int k=i+j;i=i+j;
while(j>)
{
if(j&)A[k-]++;
else A[k]++;
j--;
} }
else
i++; } for(int i=n-; i>=;)
{
//cout<<i<<endl;
j=;
if(s[i]=='L')
{
while(s[i-j]=='L')
{
j++;
}
//i=i-j;
int k=i-j;i=i-j;
while(j>)
{
if(j&)A[k+]++;
else A[k]++;
j--;
} }
else
i--; }
for(int i=;i<n;i++){
cout<<A[i]<<' ';
}
cout<<'\n'; }
abc136的更多相关文章
- 【atcoder】Enclosed Points [abc136F]
题目传送门:https://atcoder.jp/contests/abc136/tasks/abc136_f 题目大意:在平面上有$n$个点我们,定义一个点集的权值为平面上包含这个点集的最小矩形所包 ...
- ABC136E Max GCD
Thinking about different ways of thinking. --- LzyRapx 题目 思路比较容易想到. Observations: 每次操作过后和不变. 枚举和的因子 ...
随机推荐
- APIView的流程分析
APIView的流程分析 1.入口,因为视图类的继承APIView()的 as_view()是一个绑定类的方法 2.进入as_view(),正好这个as_view()有个返回值 返回的是dispat ...
- HttpURLConnection 发送http请求帮助类
java 利用HttpURLConnection 发送http请求 提供GET / POST /上传文件/下载文件 功能 import java.io.*; import java.net.*; im ...
- [Jupyter Notebook] 01 这么多快捷键,我可顶不住!先记个八成吧
0. 一些说明 为了入门 Python3 安装了 Anaconda,它集成了 Jupyter Notebook 1. 调出快捷键表 打开 Jupyter Notebook,新建一个 Python3(我 ...
- Java中字符编码和字符串所占字节数 .
首 先,java中的一个char是2个字节.java采用unicode,2个字节来表示一个字符,这点与C语言中不同,C语言中采用ASCII,在大多数 系统中,一个char通常占1个字节,但是在0~12 ...
- CSRF Failed: CSRF token missing or incorrect
Django设置本身没有关闭CSRF Django设置已经关闭CSRF,可能是由于两个项目都使用同一个端口,调试的时候就会出现Cookie里面csrftoken重用的问题,清理Cookie就好
- P2217 [HAOI2007]分割矩阵
传送门 首先均方差公式: $\sigma = \sqrt{\sum_{i}^{K}\frac{(sum[i]-\bar{sum})^2}{n}}$ 其中 $\bar{sum}$ 为小矩阵的平均值,显然 ...
- mac安装卸载brew
1.安装 访问https://brew.sh,copy图中的命令到命令行中,进行下载安装 2.卸载 官方版本的卸载: /usr/bin/ruby -e "$(curl -fsSL https ...
- 各类无次数限制的免费API接口,再也不怕找不到免费API了
各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免 ...
- Matlab 2019a 下载和安装步骤
目录 1. 安装包下载 + 多套数学建模视频教程 2. 安装步骤 1. 安装包下载 + 多套数学建模视频教程 参考:https://blog.csdn.net/COCO56/article/detai ...
- Qt下载(多种下载通道+所有版本)
http://c.biancheng.net/view/3851.html Qt 体积很大,有 1GB~3GB,官方下载通道非常慢,相信很多读者会崩溃,所以建议大家使用国内的镜像网站(较快),或者使用 ...