AtCoder Beginner Contest 163
比赛链接:https://atcoder.jp/contests/abc163/tasks
A - Circle Pond
题意
由半径输出圆周长。
代码
#include <bits/stdc++.h>
using namespace std;
int main() {
double r; cin >> r;
cout << 2 * 3.14 * r;
}
B - Homework
题意
n 天的假期里要做 m 个任务,最终有多少天假期剩余。
代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m; cin >> n >> m;
for (int i = 0; i < m; i++) {
int t; cin >> t;
n -= t;
}
cout << max(-1, n);
}
C - management
题意
统计 n - 1 个 1~n 的数的个数。
代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n;
int cnt[n] = {};
for (int i = 0; i < n - 1; i++) {
int t; cin >> t;
++cnt[t - 1];
}
for (int i : cnt) cout << i << "\n";
}
D - Sum of Large Numbers
题意
从 10100+0、10100+1、10100+2、...、10100+n 中选取 k、k+1、k+2、...、n、n + 1 个数,问所有选取情况中有多少不同的值。
思路
选 i 个数的值个数 = 选 i 个数的最大值 - 选 i 个数的最小值 + 1。
f(n) - f(n - i) 是选后 i 个数,即选 i 个数的最大值,
f(i - 1) 是选前 i 个数,即选 i 个数的最小值,
ans 初始时为 1 是因为选 n + 1 个数只有一种情况。
代码
#include <bits/stdc++.h>
#define f(n) ((n + 1LL) * (n) / 2)
using namespace std;
const int mod = 1e9 + 7;
int main() {
int n, k; cin >> n >> k;
int ans = 1;
for (int i = k; i <= n; i++)
ans = (ans + f(n) - f(n - i) - f(i - 1) + 1) % mod;
cout << ans;
}
E - Active Infants
题意
将一个数组重新排序,每个元素的收益为 值 x 变动距离,问排序后的最大收益。
思路
先排序,然后从大到小分配元素。
dp[i][j] 表示将 i 个元素分配在左边,j 个元素分配在右边的最大收益。
代码
#include <bits/stdc++.h>
using namespace std;
long long dp[2020][2020];
int main() {
int n; cin >> n;
int a[n]; for (int &i : a) cin >> i;
int p[n]; iota(p, p + n, 0);
sort(p, p + n, [&] (int x, int y) {
return a[x] > a[y];
});
for (int i = 0; i < n; i++) {
for (int j = 0; i + j < n; j++) {
int k = i + j;
dp[i + 1][j] = max(dp[i + 1][j], dp[i][j] + 1LL * a[p[k]] * abs(p[k] - i));
dp[i][j + 1] = max(dp[i][j + 1], dp[i][j] + 1LL * a[p[k]] * abs(p[k] - (n - 1 - j)));
}
}
long long ans = 0;
for (int i = 0; i <= n; i++)
ans = max(ans, dp[i][n - i]);
cout << ans;
}
AtCoder Beginner Contest 163的更多相关文章
- 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 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...
随机推荐
- Viser报错:dodge is not support linear attribute, please use category attribute!
遇到这样的问题是因为x轴数据不能为为连续性的日期(日期格式为:YYYY-MM-DD),需要设置为分类属性(cat),有一些可能设置为timeCat,看具体情况 scale 参数支持以下类型 • ide ...
- 【Oracle】修改oracle中SGA区的大小
1.备份数据库: 2.关机,拔下电源和各种连接线,抽出机箱,打开机箱上盖,增加内存: 3.完成后按原样将各个部件及连接线恢复好,电开机,系统正常运行: 4.进入系统查看,发现内存已经顺利安装: 5.修 ...
- Os-hackNos-特权文件提权
一 信息收集 netdiscover -i eth0 -r 10.10.10.0/24 扫描ip nmap -sP 192.168.43.0/24 扫描开放的端口 使用"-sP"选 ...
- SpringBoot WebSocket技术
最近看了Spring in Action,了解了一下WebSocket和Stomp协议相关技术,并搭建了一个项目.网上的例子不完整或者描述不清,所以自己记录一下以作备忘. 一.配置 Spring Bo ...
- 在recover database时,如何决定该从哪一个SCN开始恢复
使用备份恢复的方法搭建DG库,还原数据文件后,打开数据库时报错 SQL> ALTER DATABASE OPEN READ ONLY; ALTER DATABASE OPEN READ ONLY ...
- SAP 中session和外部断点设置的区别
1 Session Breakpoints:只在当前user session的所有main session中有效 2 External Breakpoints 在abap editor或事务SICF中 ...
- mysql InnoDB架构
1.InnoDB的磁盘结构 1)系统表空间 2)用户表空间 3)rodolog 文件组 4)磁盘文件逻辑结构 文件->段->区->页->行 InnoDB对数据的存取是以页为单位 ...
- 网络可视化工具netron详细安装流程
1.netron 简介 在实际的项目中,经过会遇到各种网络模型,需要我们快速去了解网络结构.如果单纯的去看模型文件,脑海中很难直观的浮现网络的架构. 这时,就可以使用netron可视化工具,可以清晰的 ...
- 针对Fluent-Bit采集容器日志的补充
hello,之前我写过<一套标准的ASP.NET Core容器化应用日志收集分析方案>,在公司团队.微信公众号.Github上反映良好. 其中配置Fluent-bit使用Forward协议 ...
- (08)-Python3之--类和对象
1.定义 类:类是抽象的,一类事物的共性的体现. 有共性的属性和行为. 对象:具体化,实例化.有具体的属性值,有具体做的行为. 一个类 对应N多个对象. 类包含属性以及方法. class 类名: 属 ...