比赛链接: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的更多相关文章

  1. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  2. AtCoder Beginner Contest 052

    没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...

  3. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  4. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

  5. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...

  6. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  7. AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】

    AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...

  8. AtCoder Beginner Contest 064 D - Insertion

    AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...

  9. AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】

    AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...

随机推荐

  1. rocketmq-cpp-client Visual Studio 2019 编译

    rocketmq-cpp-client Visual Studio 2019 编译 rocketmq-cpp-client 是rocketmq c++版本的 所以我们C++ 开发者使用此项目 构建 获 ...

  2. 【Git】5、Git如何提交代码到远程仓库

    提交代码:如何把修改后的代码提交到远程仓库 文章目录 提交代码:如何把修改后的代码提交到远程仓库 1.同步远程代码 2.检查改动文件 3.添加文件到缓存 4.提交代码 5.推送代码 6.我的整个流程 ...

  3. 网件wndr4300 ttl连接

    路由成砖而还能进入cfe或uboot等情况下,可以通过ttl快速救砖. r4300主板有TTL的接线脚,脚的顺序可以找在OpenWrt的wiki上找到. 如下图4个TTL针在左下角,从下往上分别是GN ...

  4. spring boot项目问题汇总

    spring遇到的问题汇总 有关日志的打印和日志如何使用 在实际项目中,我们的程序都是运行在linux上,有错误时也不能在本地的控制台上直观看到,所有合理打印日志对于程序员迅速定位到错误. 打印日志时 ...

  5. RabbitMQ六种工作模式有哪些?怎样用SpringBoot整合RabbitMQ

    目录 一.RabbitMQ入门程序 二.Work queues 工作模式 三.Publish / Subscribe 发布/订阅模式 四.Routing 路由模式 五.Topics 六.Header ...

  6. 如何在K8s,Docker-Compose注入镜像Tag

    最近在做基于容器的CI/CD, 一个朴素的自动部署的思路是: 从Git Repo打出git tag,作为镜像Tag ssh远程登录到部署机器 向部署环境注入镜像Tag,拉取镜像,重新部署 下面分享我是 ...

  7. EFCore 5 新特性 —— Savepoints

    EFCore 5 中的 Savepoints Intro EFCore 5中引入了一个新特性,叫做 Savepoints,主要是事务中使用,个人感觉有点类似于 Windows 上的系统还原点,如果事务 ...

  8. ovs-ofctl命令

    用于监控和管理 OpenFlow 交换机. 1. 交换机管理命令 查看交换机信息: ovs-ofctl show s1  查看交换机流表: ovs-ofctl dump-tables s1 查看端口信 ...

  9. Netty编解码器(理论部分)

    背景知识 在了解Netty编解码之前,先回顾一下JAVA的编解码: 编码(Encode):在java中称之为序列化,把内存中易丢失的数据结构或对象状态转换成另一种可存储(存储到磁盘),可在网络间传输的 ...

  10. int ping = 11; 限流 客户端验证与服务端是连接的

    int ping = 11; ZooKeeper Programmer's Guide https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgram ...