第一次打ABC

题目简单,但我菜

E - Max GCD

可以任选两个数,一个减去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';
}

D - Gathering Children

给一个一堆’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'; }
												

最新文章

  1. 浪首登录浮层增加收藏入口项目学到的几点知识-IE7 bug、relatedTarget、字符串换行
  2. Android控件之CheckBox(复选框控件)
  3. dos攻击
  4. 从来没有天才 靠自己创造未来——Leo鉴书(29)
  5. keditor_php图片上传
  6. RCP,TCP,C/S,B/S
  7. 《C++ 标准库》读书笔记 - 第二章 Introduction to C++ and the Standard Library
  8. 工具类CTools实现字符编码转换和获取当前路径
  9. hdu 4274 Spy&amp;#39;s Work(水题)
  10. HTML &lt;td&gt; 标签的 rowspan 属性
  11. 关于chrome密码保存框的神坑,这样子解决就行
  12. 协程 及 libco 介绍
  13. Android学习之基础知识九—数据存储(持久化技术)
  14. 集群中使用chronyc同步时间
  15. 超漂亮的CSS3按钮制作教程分享
  16. android 随手记 摄像头录像
  17. 解决charles中文乱码(附代码)
  18. &lt;node.js爬虫&gt;制作教程
  19. Redis 数据结构服务器
  20. Memcached replace 命令

热门文章

  1. hive数据去重
  2. C++中的新型类型转换
  3. [多校联考2019(Round 4 T1)][51nod 1295]Xor key(可持久化trie)
  4. Java 接口和多态练习
  5. HNUSTOJ-1521 塔防游戏
  6. Slim Span (最小生成树)
  7. Rust学习笔记1
  8. Jpa/Hibernate ManyToOne 关联非主键列 延迟加载失效
  9. GitHub入门使用
  10. vue.js table组件封装