Atcoder
文章平均质量分 62
FearLessNOMAD
I stand in the corner like a tired boxer
展开
-
Atcoder Beginner Contest 254D 题解
我们以n = 6为例,那么最大的完全平方就是36,36的前一半平方根内的因子就是1, 2, 3, 4, 6,而我们想通过,6直接就能找出这五个因子,6的因子只有1,2,3,6没有4,但是6的因子,两两相乘就能得到2 * 2= 4,这样36的前一半因子就构造完毕了。这时候 i 的因子就全部找到了,然后我们用刚才说的用 i 的因子两两相乘得到 i 以内,i^2的全部因子,此时pr存的即为所求,我们可以测一下pr的输出验证是否是想要的结果。原创 2023-08-09 09:18:38 · 124 阅读 · 0 评论 -
Atcoder Beginner Contest 307D 题解
给定一个长度为n的字符串,我们每次选取一个被括号( )包围的子串从该串中去掉,要求该子串中除了首尾字符不再包含 '(' 和 ')',输出这个串最后的样子。原创 2023-08-01 09:01:12 · 99 阅读 · 0 评论 -
Atcoder Beginner 238(MPC2022) - D 二进制枚举+构造
题意:问是否可以找到两个非负整数 x 和 y 使得按位与运算得到 a 且加和得到 s思路:捋一个大体思路,首先看数据,都是LL而且还有1e5个查询,那必然是二进制枚举了。其次按位与没法逆向,所以我们逆向处理加和。首先要想两个数按位与结果是a,那么a中是1的二进制位,x、y 也必须满足这个位置是1,所以标记a是1的二进制位vis[bit] = 1。那么我们分别把x、y 拆成 a 加上某个数p1、p2,那么p1和p2对于a是1的二进制位就要反过来置为0即后续操作对标记取反 ( !vis[bit] )原创 2022-03-20 13:33:17 · 372 阅读 · 0 评论 -
ATcoder Beginner 234D
题意:给定n和k(1 <= k <= n <= 5e5),输入的n个数为1 ~ n的乱序,求前k个数,前k + 1个数,...,前n个数中第k大的数分别是多少思路:这题顺着想就不方便操作,因为要不断往序列里加入一些数,就算用优先队列也处理不了5e5的数据量,根据每次更新的序列做O(n)的线性时间选择也不现实,都是很繁琐且细节难实现的做法。但是倒着处理就很顺手,我们可以先处理前n个数也就是所有数中的第k大,因为这n个数分别就是1~n,所以n个数里的第k大一定是 ans = n原创 2022-03-18 22:53:33 · 297 阅读 · 0 评论 -
AtCoder Beginner Contest 233D 后缀和+二分
链接:D - Count Interval题意:给定n个数及k的值,问这个序列中,能找到多少段闭区间,使得闭区间内所有数字求和是k。思路:数据比较大(n是2e5,|k|是1e15),处理一段区间的和,我们首先会想到用前后缀和来加加减减,这里我们具体用后缀和处理,通过求出下标id的后缀和 last[id](不含id本身),我们可以知道一段闭区间 [L, R]中所有元素的和为 a[L] + last[L] - last[R],我们需要让这个值等于给定的k。第二步思路就是怎么找这些元素和等..原创 2021-12-29 00:55:17 · 186 阅读 · 0 评论 -
Atcoder - 162D 枚举
<Atcoder - 162D> 枚举https://atcoder.jp/contests/abc162/tasks/abc162_d题意:给定一个只由字符 'B','G','R' 组成的一个串S,求满足下列条件的三元组{Si,Sj,Sk}的个数:(1) Si != Sj && Si != Sk && Sj != Sk(2) j -...原创 2020-04-14 11:01:31 · 363 阅读 · 0 评论 -
Atcoder - 156D 组合数 / Lucas定理
<Atcoder - 156D>https://atcoder.jp/contests/abc156/tasks/abc156_d题意:有n束花,需要从其中挑出若干束,但是不能挑a束或b束,问多少种选法。即求:ans = (2 ^ n) - C(n, a) - C(n, b) - 1思路:<法一> 组合数AC代码:#include <...原创 2020-04-10 12:36:08 · 323 阅读 · 0 评论 -
Atcoder - 161D 数位dp
<Atcoder - 161D> 数位dphttps://atcoder.jp/contests/abc161/tasks/abc161_d题意:定义一种数 lun number:该数任意相邻的两个数位差的绝对值不超过1比如 123,234,12121,1010 都是 lun number;而 256,18,102 都不是 lun number输入1e5以内的 k ...原创 2020-04-06 14:46:24 · 418 阅读 · 0 评论 -
Atcoder - 129D vector应用
<Atcoder - 129D>vector应用https://atcoder.jp/contests/abc129/tasks/abc129_d题意:给定一个由.和#组成的矩阵,在点处选择一个位置放灯,灯光可以在该点处向上下左右四个方向发射,但是碰到#就停止,问可以被灯光辐射到的最大点数。看下样例1,题意就清楚了,选(2,2)放灯,算上自己最多可以辐射8个点。...原创 2020-03-30 14:00:38 · 322 阅读 · 0 评论 -
Atcoder - 151D BFS最短路问题
<Atcoder - 151D> BFShttps://atcoder.jp/contests/abc151/tasks/abc151_d题意:求任意两个可互相到达的点的最短路的最大值。思路:几乎是板子题,小范围数据直接暴力,碰到点就进行bfs,bfs停止的条件就是走不动了,也就是当前点(i, j)能走到的最远距离且是到达最远处的最短路径。不断维护到这个最远处的最短...原创 2020-03-24 15:09:34 · 423 阅读 · 0 评论 -
Atcoder Grand 036 - A 叉积
<Atcoder Grand 036 - A> 叉积https://atcoder.jp/contests/agc036/tasks/agc036_a题意:已知面积S,在第一象限内构造3个坐标,使得三点连线围成的三角形面积为S/2,打印坐标。思路:S = ad - bc,先将一点定在原点(0,0),另外两点坐标是(a, b)和(c,d)。ad必然不小于S,初始化a ...原创 2020-03-22 14:17:56 · 278 阅读 · 0 评论 -
Atcoder - 091C 扫描线 and Atcoder - 062D 优先队列 + 前后缀和
<Atcoder - 091C> 扫描线https://atcoder.jp/contests/abc091/tasks/arc092_a题意:有n个红点,n个蓝点,所选的红点和蓝点能够成友好的条件是:红点的横纵坐标分别小于蓝点的横纵坐标。取过的点不能重复取,问最多能构成几对友好。思路:定义结构体,将所有红点蓝点统一按照x升序排列。然从后往前扫,碰到蓝点就传入set...原创 2020-03-22 11:52:19 · 588 阅读 · 0 评论