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 ...
随机推荐
- MySQL视图、触发器、事务、存储过程、内置函数、流程控制、索引
一.视图 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 如果频繁使用一张虚拟表,可以不用重复查询 3.如何使用视图 create view tea ...
- CSDN刷阅读数
今天我们来盘一下csdn,做一个小程序,为什么做这个呢?今天小编看着我的博客的阅读数,唉,惨不忍睹,没办法,只能想一些........呃呃呃呃,你懂的. 话不多说,分析一波csdn的阅读数,计数原理是 ...
- mysql 8.0.17 安装与使用
目录 写在前面 MySQL 安装 重置密码 使用图形界面软件 Navicat for SQL 写在前面 以前包括现在接到的项目,用的最多的关系型数据库就是SqlServer或者Oracle.后来因为接 ...
- linq根据英文首字母姓名排序
names.Sort((a, b) => a.name.CompareTo(b.name));
- selenium自学笔记---下拉框定位元素select
下拉框1.先定位select 然后在定位option city = driver.find_element_by_id("selCities_0") city.find_eleme ...
- PHP实现curl post和get
CURL这里就不说明了.以下是简单案例 一.POST //初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'ht ...
- localStorage的增删改查
var _localStorage = window.localStorage; undefined /* 增 */ _localStorage.name = '张泰松' "张泰松" ...
- python关于try except的使用方法
一.常见错误总结 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入 ...
- SAP成都研究院的小伙伴们庆祝公司再次获得2019年最佳雇主的场景
日前,怡安集团旗下全球领先的人力资本管理咨询机构怡安翰威特与全球高管寻聘和领导力顾问公司史宾沙旗下Kincentric共同揭晓2019年中国最佳雇主榜单.SAP中国研究院凭借企业的创新文化和多元环境, ...
- 软工个人项目———WC.exe(Java实现)
一.github地址 https://github.com/hhw-15521301615/hello-world 二.PSP表格 PSP2.1 Personal Software Process S ...