自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FrozenAllen的博客

一命二运三风水,四积阴德五读书

  • 博客(102)
  • 收藏
  • 关注

原创 Atcoder Beginner Contest 307D 题解

给定一个长度为n的字符串,我们每次选取一个被括号( )包围的子串从该串中去掉,要求该子串中除了首尾字符不再包含 '(' 和 ')',输出这个串最后的样子。

2023-08-01 09:01:12 80

原创 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 152

原创 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 382

原创 Atcoder - 151D BFS最短路问题

<Atcoder - 151D> BFShttps://atcoder.jp/contests/abc151/tasks/abc151_d题意:求任意两个可互相到达的点的最短路的最大值。思路:几乎是板子题,小范围数据直接暴力,碰到点就进行bfs,bfs停止的条件就是走不动了,也就是当前点(i, j)能走到的最远距离且是到达最远处的最短路径。不断维护到这个最远处的最短...

2020-03-24 15:09:34 384

原创 Codeforces - 1305C 同余 + 鸽巢原理 and Codeforces - 982C 树上dfs

<Codeforces - 1305C> 同余 + 鸽巢原理http://codeforces.com/problemset/problem/1305/C题意:给定n个数,n个数两两做差取绝对值,所有差的绝对值做累乘,再对m取模,求这个模的值。思路:如果n > m,则n个数中必有至少两个数对m同余,模就是0,如果n < m,m又是1e3范围内的,直接暴力...

2020-03-22 13:40:47 297

原创 Codeforces - 1295D 欧拉函数 and Codeforces - 1270C 构造

<Codeforces - 1295D> 欧拉函数http://codeforces.com/contest/1295/problem/D题意:给出a和m,在[0,m)内选一个x,满足gcd(a, m) = gcd(a + x, m),问x取值有多少种。思路:设g = gcd(a, m)令a = xg, m = yg题设gcd(xg, yg) = (xg + z...

2020-03-22 12:31:22 281

原创 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 516

原创 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 101

原创 今日题解(春招)

网易二轮笔试的前两题

2022-04-22 00:58:40 211 1

原创 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 339

原创 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 275

原创 Codeforces - 1335E1 枚举 + vector应用

<Codeforces - 1335E1>枚举 + vector应用http://codeforces.com/contest/1335/problem/E1题意:cas个查询,每个查询给定一个数列,让你删除其中一些元素,使得这个数列变成 {aa...a}{bb...b}{aa...a} 型的回文串,求这个回文串的最大长度。比如数列121333121删除黑色两个2以后...

2020-04-16 10:49:44 272

原创 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 333

原创 Codeforces - 1334C 贪心

<Codeforces - 1334C> 贪心http://codeforces.com/contest/1334/problem/C题意:一共cas个查询,每个查询内顺时针排列着n个怪物,每个怪物有两个属性,属性a表示生命值,属性b表示死的时候自爆对下一个怪物产生的伤害,怪物的生命值<=0时视为死亡,你可以对怪物射击,每次涉及伤害都是1,问你最少开几枪,可以杀死所有...

2020-04-13 09:56:54 241

原创 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 293

原创 Codeforces - 1332D 构造 + 位运算

<Codeforces - 1332D> 构造 + 位运算http://codeforces.com/problemset/problem/1332/D题意:从(1,1)出发到(n,m),只能向右或向下走,每走一步就进行一次按位与,结果是最后这个按位与的最大值。Bob写了一个dp算法,但是得到的结果并不是真正的答案。(因为这个算法有误)构造矩阵满足真正答案与Bod的...

2020-04-03 19:45:36 206

原创 Atcoder - 129D vector应用

<Atcoder - 129D>vector应用https://atcoder.jp/contests/abc129/tasks/abc129_d题意:给定一个由.和#组成的矩阵,在点处选择一个位置放灯,灯光可以在该点处向上下左右四个方向发射,但是碰到#就停止,问可以被灯光辐射到的最大点数。看下样例1,题意就清楚了,选(2,2)放灯,算上自己最多可以辐射8个点。...

2020-03-30 14:00:38 278

原创 Codeforces - 1225C 二进制位的应用

<Codeforces - 1225C> 位运算http://codeforces.com/contest/1225/problem/C题意:给定n,p,求满足n = (2^a1 + p) + (2^a2 + p) + (2^a3 + p) + ... + (2^ak + p)的最小的k值(a1 ~ ak可以有相等的值)。例如,n = 24,p = -1,此时k = 4...

2020-03-26 10:38:10 258

原创 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 249

原创 Atcoder Beginner 119D 122C 题解(都是二分)

<At-119D>题意:给你一个n,一个m,表示有n个景点1,和m个景点2,q个查询,表示你每次的位置。你想要至少游览景点1和景点2各一个,问你最小花费。思路:二分处理一下,分别处理当前查询的位置的前后的景点1和景点2,然后前1,前2; 前1,后2;前2,前1;前2,后1;后1,前2;后1,后2;后2,前1;后2,后1。8种方式维护一个最小值就ok了...

2019-03-27 20:23:30 280

原创 Codeforces 1140C Playlist 题解

题意: 给你一个n,给你一个k,表示从n个二元组 <x, y> 中最多选出k个,产生一个贡献值。这个贡献值指的是,这选出的最多k个二元组的x属性加和,乘这些选出的二元组的y属性的最小值。求这个贡献值的最大值。思路: 我的想法是,结构体排序加优先队列维护队头处理,结构体本身按照y属性升序排,然后优先队列按照x属性降序,即队头是最小的 ,大体是为了让在x属性降序以后...

2019-03-27 19:46:55 414

原创 Codeforces 1082B(vector的应用) 题解 + 1088C(思维) 题解

Codeforces 1082B: http://codeforces.com/contest/1082/problem/B题意:给你一个串,只包含S和G这两个字符,让你最多交换一次 S和G的位置,使得连续的G的长度达到最长,打印这个最大长度。思路:记两个vector,分别存每个 S 前面有几个连续的 G,后面有几个连读的 G,然后用max维护一下,这两个值的和的最大值,有一点需要...

2018-12-06 12:01:26 284

原创 vector + 二进制枚举: Atcoder Dwacon 5th - B

链接:https://dwacon5th-prelims.contest.atcoder.jp/tasks/dwacon5th_prelims_b题意:给定一个长度为n的序列,这n个数在序列中,一共会形成 n * (n + 1) / 2 个连续子序列,比如,1 2 3,可以形成:{1}, {1,2},{1,2,3},{2,3},{3},这 6 个连续子序列,构成这个子序列的某一元素索引...

2018-12-01 13:35:06 274

原创 挂机水题日记 Cf - 75C

链接:http://codeforces.com/problemset/problem/75/C题意:给你两个数a ,b(1e9范围内),q个查询区间 [ l,  r],问你这些区间内能找到的 a 和 b 的公因子最大是多少。思路:水题,枚举 gcd 因子的时候开平方优化完就过了。核心思路就是枚举 gcd (a, b) 的因子,用max维护一下,那么枚举的过程中,如果a,b 的...

2018-11-12 15:22:10 178

原创 Atcoder Beginner 085D 084D 题解

ABC 084 - D:https://abc084.contest.atcoder.jp/tasks/abc084_d题意:在1~1e5以内,有一种判定合法的方式:就是如果当前数 x 是素数,且 (x + 1) / 2也是素数,那么这个数就是合法的。给你 q 个查询区间,问你每段区间内存在多少个合法的数。思路:这题考点就是预处理配合前缀的使用,先枚举1e5以内的素数,然后继续枚举...

2018-10-29 17:51:28 239

原创 2018-10-7 Atcoder 刷题日记

Atcoder Beginner 068 - C题意:有 n 个岛屿,k 条船,这 k 条船分别连接 ai 岛屿和 bi 岛屿,问能否只是用两条船就从 岛屿1到达岛屿 n思路:这题我使用set处理的,当岛屿起点为1的时候,将其从岛屿1出发所能到达的所有岛屿 P 存进set中,然后再看到达终点是岛屿n 的这些船的起点,如果这些起点有在set中的,那就成立了,即满足 1 -&gt;...

2018-10-07 19:48:17 209

原创 计蒜客上蓝桥杯模拟题的部分题解

一、https://www.jisuanke.com/contest/990?view=challenges&lt;A&gt;链接:https://nanti.jisuanke.com/t/20682思路:按照题意暴力就行了,答案是1.AC代码:#include &lt;bits/stdc++.h&gt;using namespace std;typedef long lo...

2018-09-22 20:37:47 244

原创 Atcoder Beginner 059 C 题解

题意:有一个长度为n的序列,你可以进行两种操作,选去某个数加1或者减1。那我进行这个操作的目的,是为了让这个序列保持以下这种状态:1)这个数列进行到任意一项的前缀和都不用允许为0;2)这个数列进行到第 i 项的前缀和与第 i+1 项的前缀和符号必须不同。求,最少操作步数。思路:这题就是先对前缀和的第一项为正还是为负分别进行一次复杂度为O(n)的讨论,由于这道题我代码的注释写...

2018-09-22 19:57:57 367

原创 Atcoder Beginner 077 C题题解

题意:有三个数组 a[]、 b[]、c[],有一个数n表示这三个数组的元素个数,从这三个数组里各挑一个数,组成三元组&lt;a[i],b[j],c[k]&gt;,且要求,a[i] &lt; b[j] &lt; c[k]。问能组成多少个这样的三元组。注意一点,比如 n = 3时,三个数组分别为:1  2  31  2  31  2  3答案是27,不是1,因为尽管只能构成三元组&l...

2018-09-04 07:58:33 247

原创 Atcoder Beginner 106 ~ 108 C题题解

本人因为身体原因博客断更了很长时间,唉,程序员还是要注重身体,尤其是我这种辣鸡的程序员,如果代码能力不高然后再身体不好那可就gg了啊T^T话说ABC107是我打Atcoder开始以来,排名最靠前的,第145,竟然排名页第8页就能看到我~这是从没有过的hhh,不过也就涨了70多分 &gt;^&lt;好了闲话不多说了~直接上这三场比赛的C题题解:&lt; ABC106 - C &gt;...

2018-09-01 23:32:46 331

原创 2018-7-19 ACM 专项刷题 最短路

最短路三种算法的模板:1. 弗洛伊德:#include &lt;cstdio&gt;#include &lt;cstdlib&gt;#include &lt;cstring&gt;#include &lt;cmath&gt;#include &lt;string&gt;#include &lt;map&gt;#include &lt;queue&gt;#include &am

2018-07-19 09:49:44 232

原创 2018-7-18 ACM 刷题日记

&lt;Codeforces - 1009B&gt;题意:给定一个只由'0'、'1'、'2' 组成的串,只能将0 1互换,1 2互换,不能将0 2互换,求形成字典序最小的的串。思路:因为1既可以和0换,又可以和2换,所以1的位置是自由的,即1可以挪到任意位置,而0和2的相对位置是固定的,也就是说,可以先将串中所有1都删了,剩下这个新串只由0和2组成,这个顺序就是不能动的了,接下来我...

2018-07-18 10:37:01 234

原创 2018-7-16 ACM 刷题日记

&lt;Codeforces - 702C&gt;题意:    给两个数组,让第一个数组里每个元素,都与第二个数组的每个元素求差再取绝对值,然后找到第一个数组里每一元素对应的这些差值的最小值,再求这些最小值里的最大值。思路:    这是在一套二分专题里的一个题,就是一个二分的思路,有两个封装好的二分函数,lower_bound( ) 和 upper_bound( )。这里介绍下 lower_bou...

2018-07-16 11:00:31 313

原创 2018-7-16 ACM 专项刷题 简单动态规划

周末休息了两天,没去训练,今天补一下动态规划的部分,真的很难,就放下板子吧,慢慢理解中。&lt;LIS - 最长上升子序列&gt;对应题目:POJ - 2533模板:#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;cmath&gt;#include &lt;algorithm&gt;using namespace std;co...

2018-07-16 09:31:56 289

原创 2018-7-13 ACM 专项刷题 栈 + 队列 + 树状数组

写的有些久,拖到7-14号凌晨才写完,因为我自己也在慢慢理解中,还是要多做题,做的题越多,理解越深刻。1. 栈:stack是一种先进入的元素后弹出的数据结构。有一种常见的栈的应用就是检查括号匹配与否。对应题目及题解链接:https://blog.csdn.net/ericgipsy/article/details/799808742.队列与优先队列:    &lt;队列&g...

2018-07-14 01:07:00 734

原创 2018-7-12 ACM 专项刷题 简单数论

1. Gcd &amp; Lcm:#include &lt;cstdio&gt;#include &lt;cstdlib&gt;#include &lt;cmath&gt;#include &lt;cstring&gt;#include &lt;algorithm&gt;using namespace std;typedef long long LL;LL a, b;LL gcd...

2018-07-12 23:26:16 623

原创 2018-7-11 ACM 专项刷题 dfs + bfs

1. 递归:先说一个递归的含义,就是在某个函数内部调用这个函数本身,或者说,调用一个与该函数完全相同的函数。最简单的一个递归的应用就是,辗转相除法求最大公约数Gcd:LL gcd(LL x, LL y) {    if(x % y == 0) return y;    else return gcd(y, x % y);} 2. dfs(深度优先搜索):dfs 也有几...

2018-07-11 21:12:53 1083

原创 2018-7-10 ACM 刷题日记

&lt;Codeforces 1005C&gt;题意:给定一个序列,问至少需要删除多少个数,使得序列中的每个数都能在该序列里找到一个数(自己除外),进行加和形成2^n。思路:思路就是map的应用,先开一个数组 powT[maxx],存 1&lt;&lt;30以内的2^n,然后声明两个map,分别是 mp 和 vis。先将传进数组的每个数的mp值都为 i (即每个数的角标),这样我在枚举数组内每个元...

2018-07-10 21:36:54 221

原创 2018-7-9 ACM 刷题日记

&lt;Codeforces 977D&gt;题意:给定一串序列,问能否让序列形成一个顺序,使得序列某一项是由它前一项乘2或者前一项整除3得来的,打印该顺序。思路:一开始我的思路是这样的,就是先找只能被3整除和只能被2整除的(即不能同时被3和2整除,即不能被6整除的数),然后:先将只能被3整除的降序排,因为下一项是由当前项除3得到的,显然递减,故降序;再将只能被2整除的升序排,因为下一项是由当前项...

2018-07-09 11:25:39 236

原创 2018-7-8 ACM 刷题日记

&lt;Codeforces 1004B&gt;题意:有n个花盆,放两种花A,B,有m个区间,每个区间的价值是:A花个数 * B花个数。问怎么摆放花让所有区间的价值和最大。思路:设每段区间 A 花有 a 个,B 花有 b 个,根据均值不等式,当 a * b 取最大值时,当且仅当 a == b。所以要求每段区间内 a == b即可。所以只需要将A、B交替摆放,就能让每段区间的A花个数等于B花个数。本...

2018-07-08 21:46:44 409

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除