ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AtCoder Beginner Contest 192 完整题意+题解

2021-02-20 23:01:24  阅读:277  来源: 互联网

标签:10 le 题意 AtCoder 题解 atcoder jp contests submissions


目录

题解

A

给你一个数 \(X\)(\(1\le X\le 10^5\)),求最小的 \(Y>X\) 使得 \(Y\) 是 \(100\) 的倍数。

直接判定即可。

B

给一个字符串,判断是否满足奇数位上是小写字母,偶数位上是大写字母。

也可以直接判定。

C

称一次操作为将一个数赋值为这个数的各个数字按照从大到小的排列顺序得到的数,减去从小到大排序得到的数。

给定 \(N\)(\(1\le N\le 10^9\)),求 \(K\)(\(1\le K\le 10^5\))次操作后的数。

直接暴力模拟 \(O(K\log^2 N)\) 即可。

https://atcoder.jp/contests/abc192/submissions/20296501

D

给定整数 \(X\)(\(1\le X\le 10^{60}\))和 \(M\)(\(1\le M\le 10^{18}\)),设 \(d\) 是 \(X\) 最大的一位数。

求对于所有的 \(a>d,a\in\mathbb{Z}\),\(a\) 进制数 \(X\) 所代表的数的个数,同时 \((X)_a\le M\)。

首先,对于所有 \(len(X)>1\) 的情况,\(a\) 的个数与题意中所求一一对应。而 \(len(x)=1\) 只需特判。

注意到这样的 \(a\) 一定在一个连续区间内,左端点固定,则可以二分右端点求得数量。

同时,long long 相乘可能会爆,要用 __int128(AtCoder 支持) 或龟速乘判。

https://atcoder.jp/contests/abc192/submissions/20318733

E

\(N\)(\(1\le N\le 10^5\))个点,\(M\)(\(1\le M\le 10^5\))条无向边。设初始时刻为 \(0\),则进入某条边的时刻必须为 \(xK_i\)(\(x\in\mathbb{N}\),可以在节点停留),消耗时间为 \(T_i\)(\(1\le K_i,T_i\le 10^9\))。求 \(X\) 到 \(Y\) 的最短路,不连通则输出 -1

注意到时间仍然是越短越好,满足 dijkstra 的基本条件,直接跑,改一下松弛条件即可。

https://atcoder.jp/contests/abc192/submissions/20326035

F

\(N\)(\(1\le N\le 100\))个数 \(A_i\)(\(1\le A_i\le 10^7\)),要求选出若干个数(假设 \(x\) 个,分别为 \(A_{a_1},A_{a_2},\cdots,A_{a_x}\)),要求 \(\sum A_{a_i}\equiv X\pmod{x}\)(\(10^9\le X\le 10^{18}\))且 \(\dfrac{X-\sum A_{a_i}}{x}\) 最小,求出最小值。

枚举所有可能的 \(x\),分别进行 DP。

设 \(f_{i,j,k}\) 为前 \(i\) 个数选了 \(j\) 个,\(\bmod{x}\) 的余数为 \(k\) 的 \(\sum A_{a_i}\) 最大值,则:

\[f_{i,j,k}=\max\{f_{i-1,j,k},f_{i-1,j-1,(k-a_i)\bmod{x}}+a_i\} \]

总复杂度 \(\mathcal{O}(n^4)\)。

https://atcoder.jp/contests/abc192/submissions/20345725

评价

可以说是一场比较中规中矩的 abc 了。总体难度不是特别大。

D 是卡得最久的一题,各种边界讨论比较繁琐,但也不是很麻烦。F 是赛时唯一没有 A 的题,赛后发现是初始值和特判的问题。

标签:10,le,题意,AtCoder,题解,atcoder,jp,contests,submissions
来源: https://www.cnblogs.com/5ab-juruo/p/abc192-statement_solution.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有