AtCoder Beginner Contest 125 解题报告
那天晚上刚好有事就咕了。
最近的那一场E题还不会写。F题全场又只过了三个?留坑吧...
#include <cstdio>
using namespace std; inline int read() {
int x = , f = ; char ch = getchar();
while (ch < '' || ch > '') { if (ch == '-') f = -; ch = getchar(); }
while (ch >= '' && ch <= '') { x = x * + ch - ; ch = getchar(); }
return x * f;
} int main() {
int a = read(), b = read(), t = read();
printf("%d\n", t / a * b);
return ;
}
#include <cstdio>
#include <algorithm>
using namespace std; inline int read() {
int x = , f = ; char ch = getchar();
while (ch < '' || ch > '') { if (ch == '-') f = -; ch = getchar(); }
while (ch >= '' && ch <= '') { x = x * + ch - ; ch = getchar(); }
return x * f;
} const int N = ;
int a[N]; int main() {
int sum = ;
int n = read();
for (int i = ; i <= n; i++) a[i] = read();
for (int i = , x; i <= n; i++) {x = read(), a[i] -= x; if (a[i] > ) sum += a[i]; }
printf("%d\n", sum);
return ;
}
题意:给一个序列,能把其中一个数变成任意数,要求之后所有数字的GCD最大
思路:刚开始把所有质因子都求出来,然后 >= n - 1 的质因子相乘,可惜第三组样例就不过了。因为有的质因子不止一个。这种情况就比较麻烦了。
由于$C^{n-1}_{n} = n$ 题目相当于让你求任意$n - 1$个数中的GCD最大的那一组,所以所有答案的情况只有$n$种
开两个数组,$g1[i]$表示从1到$i$的GCD $g2[i]$表示$i$到$n$的GCD $ans=\max \left( \gcd \left( g_{1}\left[ i-1\right] ,g2\left[ i+1\right] \right) \right)$
#include <bits/stdc++.h>
#define ll long long
using namespace std; inline int read() {
int x = , f = ; char ch = getchar();
while (ch < '' || ch > '') { if (ch == '-') f = -; ch = getchar(); }
while (ch >= '' && ch <= '') { x = x * + ch - ; ch = getchar(); }
return x * f;
} const int N = 1e5 + ;
int g1[N], g2[N], a[N];
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; } int main() {
int n = read();
for (int i = ; i <= n; i++) a[i] = read();
g1[] = a[]; g2[n] = a[n];
for (int i = , j = n - ; i <= n; i++, j--) g1[i] = gcd(a[i], g1[i-]), g2[j] = gcd(a[j], g2[j+]);
// for (int i = 1; i <= n; i++) printf("%d %d\n" , g1[i], g2[i]);
int ans = max(g1[n], max(g1[n-], g2[]));
for (int i = ; i <= n; i++) {
ans = max(gcd(g1[i-], g2[i+]), ans);
}
printf("%d\n", ans);
return ;
}
题意:一个序列,能进行$n$次操作,每次对$a_{i}$和$a_{i+1}$都乘上-1,求最后序列和最大
思路:首先从1开始往后,如果这一位小于0,那么对它和它后面的数乘上-1,这样到$n-1$位置,最后序列至多有一个为负,即$a_{n}$,如果$a_{n}$为负,就肯定可以把这个负号传递给绝对值最小的那个数字,如果为正就直接是答案了。
#include <bits/stdc++.h>
#define ll long long
using namespace std; inline ll real() {
ll x = , f = ; char ch = getchar();
while (ch < '' || ch > '') { if (ch == '-') f = -; ch = getchar(); }
while (ch >= '' && ch <= '') { x = x * + ch - ; ch = getchar(); }
return x * f;
} const int N = 1e5 + ;
ll a[N]; int main() {
ll ans = ;
ll n = real();
for (int i = ; i <= n; i++) a[i] = real();
for (int i = ; i <= n - ; i++) {
if (a[i] < ) a[i+] *= -, a[i] *= -;
ans += a[i];
}
ans += a[n];
ll temp = *min_element(a + , a + n);
if (a[n] < ) ans = max(ans, ans - * a[n] - * temp);
printf("%lld\n", ans);
return ;
}
AtCoder Beginner Contest 125 解题报告的更多相关文章
- AtCoder Beginner Contest 122 解题报告
手速选手成功混进rated only里面的前30名,但是总排名就到110+了... A - Double Helix #include <bits/stdc++.h> #define ll ...
- AtCoder Beginner Contest 146解题报告
题目地址 https://atcoder.jp/contests/abc146/tasks 感觉没有什么有意思的题... 题解 A #include <bits/stdc++.h> usi ...
- Atcoder Beginner Contest 124 解题报告
心态爆炸.本来能全做出来的.但是由于双开了Comet oj一个比赛,写了ABC就去搞那个的B题 还被搞死了. 回来写了一会D就过了.可惜比赛已经结束了.真的是作死. A - Buttons #incl ...
- AtCoder Beginner Contest 118 解题报告
A - B +/- A #include <bits/stdc++.h> int main() { int a, b; std::cin >> a >> b; b ...
- AtCoder Beginner Contest 120 解题报告
为啥最近都没有arc啊... A - Favorite Sound #include <algorithm> #include <iostream> #include < ...
- AtCoder Beginner Contest 117 解题报告
果然abc都是手速场. 倒序开的qwq. D题因为忘记1e12二进制几位上界爆了一发. A - Entrance Examination 就是除一下就行了... 看样例猜题意系列. #include& ...
- AtCoder Beginner Contest 132 解题报告
前四题都好水.后面两道题好难. C Divide the Problems #include <cstdio> #include <algorithm> using names ...
- AtCoder Beginner Contest 129 解题报告
传送门 写了四个题就跑去打球了.第五题应该能肝出来的. A - Airplane #include <bits/stdc++.h> using namespace std; inline ...
- AtCoder Beginner Contest 127 解题报告
传送门 非常遗憾.当天晚上错过这一场.不过感觉也会掉分的吧.后面两题偏结论题,打了的话应该想不出来. A - Ferris Wheel #include <bits/stdc++.h> u ...
随机推荐
- Go语言(环境的搭建)
一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...
- Java面试题及答案汇总(一)
Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Ru ...
- ASP.NET WebApi 学习与实践系列(1)---如何创建 WebApi
写在前面 最近在做一个app的时候发现需要写后台服务.所以,在考虑是使用webapi还是使用webserver来写这个后台服务的时候.爱纠结的我,最后还是选择了使用webapi来写这个后台服务. 原因 ...
- .NET Core的SqlSugar上手使用小例子
开始直接建个空的WEB项目-建Controllers文件夹-开启MVC-添加NuGet程序包SqlSugarCore public class Startup { // This method get ...
- .Net Core WebApi(2)—Swagger
上一个版本的入门Swagger提示不够完整,这章着重完善和优化 Swagger用于将我们编写的接口自动生成规范化的文档,便于进行测试和对接 一.创建Swagger 1.1 Nuget 安装 ...
- Java跳出多重循环的方法
我们一般用break和cuntinue来控制单个循环,但是如果遇到有多个循环的情况呢,比如下面这个: for (int i=0; i<10; i++) { for (int j=0; j< ...
- ES5和ES6的继承
ES5继承 构造函数.原型和实例的关系:每一个构造函数都有一个原型对象,每一个原型对象都有一个指向构造函数的指针,而每一个实例都包含一个指向原型对象的内部指针, 原型链实现继承 基本思想:利用原型让一 ...
- 长期作业:web框架源码剖析
Tornado框架 1.1. 手动安装 1.2. 从简单的开始:分析红框部分的源码 Django框架
- Java 之 request 案例——用户登录
用户登录案例需求: 1.编写login.html登录页面 username & password 两个输入框 2.使用Druid数据库连接池技术,操作mysql,db1数据库中user表 3. ...
- android之自定义viewGroup仿scrollView的两种实现(滚动跟粘性)
最近一直在研究自定义控件,一般大致分为三种情况:自绘控件,组合控件,继承控件.接下来我们来看下继承控件.在此借鉴一位博主的文章,补充粘性的实现效果,并且加注自己的一些理解.大家也可以查看原文博客.an ...