chenfy27的刷题记录

导航

2024年3月9日 #

abc342D 乘积为完全平方数的对数

摘要: 题面:给定长为n的数组A,问有多少对下标(i,j)满足A[i]*A[j]为完全平方数? 范围:n<=2E5; A[i]<=2E5 思路:完全平方数即质因子的个数为偶数,因此对元素进行化简,把偶次质因子都去掉,再统计即可。另外,0乘任何数都为0,需要单独处理。 #include <bits/stdc+ 阅读全文

posted @ 2024-03-09 09:53 chenfy27 阅读(41) 评论(0) 推荐(0)

arc127A 分巧克力

摘要: 题面:有一块大小为H*W的巧克力,要分给n个人,第i个人要分边长为2^a[i]的正方形,问是否够分? 范围:H,W<=1E9; n<=1000; a[i]<=25 思路:贪心,关键是先处理大请求,并且要用大块来处理大请求。 将请求按从大到小依次处理,优先处理大请求,如果处理不了,则无解。 用大根堆维 阅读全文

posted @ 2024-03-09 09:42 chenfy27 阅读(14) 评论(0) 推荐(0)

abc325E 火车+班车的最短路

摘要: 题面:有n座城市,从城市i到城市j可以坐班车,需要A*D[i][j]时间,也可以坐火车,需要B*D[i][j]+C时间。可以从班车换到火车,但反过来不行。换乘时间不计,求从城市1到城市n的最短时间。 范围:n<1000; A,B,C<1E6; D[i]][j]<1E6并且D[i][i]=0。 思路: 阅读全文

posted @ 2024-03-09 09:29 chenfy27 阅读(22) 评论(0) 推荐(0)

2024年3月8日 #

abc330E 单点更新后的Mex

摘要: 题面:给定长为n的数组A,有q组询问,每次将A[i]修改为x[i],输出每次修改后A的mex值。 范围:n,q<2E5; A[i],x[i]<1E9 思路:注意到,长度为n的数组,其mex值最大为n。因此,用set维护0~n中没有出现在A中的数,同时用map维护A中各数的现次数。 #include 阅读全文

posted @ 2024-03-08 21:59 chenfy27 阅读(28) 评论(0) 推荐(0)

abc259D 沿圆是否可以从S走到T

摘要: 题面:二维平面上有n个圆,第i个圆的圆心在(x[i],y[i]),半径为r[i],另外给定圆上的点S和T,问从S出发沿着圆是否可以到达T? 范围:n<3E3; x[i],y[i],r[i]<1E9 思路:如果两圆相交,那么可以互相到达,枚举所有圆对,检查两两之间是否相交,用并查集维护连通关系。最后判 阅读全文

posted @ 2024-03-08 21:54 chenfy27 阅读(16) 评论(0) 推荐(0)

abc331E 两数组元素间带限制的最大和

摘要: 题面:给定大小为n的数组A,大小为m的数组B,那么共有n*m个元素和。现给出L对禁用下标(a,b),找一对不在L中的下标(i,j),使用A[i]+B[j]最大,求该最大值。 范围:n,m<=1e5; 1<=L<=min(1e5,nm-1) 思路:先对A和B按从大到小排序,然后让i指向A起始位置,j指 阅读全文

posted @ 2024-03-08 12:37 chenfy27 阅读(17) 评论(0) 推荐(0)

abc332D 将矩阵A变成B的最小步数

摘要: 题面:给定两个H行W列的矩阵A和B,每次操作可以交换相邻的行或列,问是否可以将A变成B?如果可以,输出最少操作步数;如果不行,输出-1。 范围:2<=H,W<=5, 1<=A[i][j],B[i][j]<=1e9 思路:数据规模小,直接bfs搜索,如果范围再大点可以用双向bfs优化效率。需要用到哈希 阅读全文

posted @ 2024-03-08 12:27 chenfy27 阅读(47) 评论(0) 推荐(0)

abc284F 前缀+逆序+后缀

摘要: 题面:给一个长度为2n的字符串T,问是否存在长度为n的字符串S,满足:T = S的前缀 + 整串S逆序 + S的后缀。 范围:n<=1e6 思路:字符串哈希,枚举S的起点逐一判断,如果前i个字符加后n-i个字符组成的长为n的字符串,正好和中间串的逆序相同,则为解。 #include <bits/st 阅读全文

posted @ 2024-03-08 12:19 chenfy27 阅读(22) 评论(0) 推荐(0)

2024年3月7日 #

abc238D AND and SUM

摘要: 给定非负整数a和s,问是否存在一组非负整数(x,y),满足x&y=a,并且x+y=s? 0<=a,s<2^60 思路:异或是不进位加法,如果考虑进位,加上按位与的结果左移1位即可,也就是:x+y=(x^y)+((x&y)<<1),代入得x^y=s-2a,并且x&y=a,逐位分析可知,按位与的结果为1 阅读全文

posted @ 2024-03-07 23:42 chenfy27 阅读(62) 评论(0) 推荐(0)

abc304E 加一条边后是否仍为好图

摘要: 题面:给一张n个点m条边的无向图,另外给出k组约束条件(x[i],y[i]),要求点x[i]不能与y[i]连通,满足全部k组条件的图称为好图。原图为好图,现在给出q组独立的询问,每组询问给定(u,v),问如果在u和v之间加一条边,是否为好图? 范围:n,m,k,q<=2e5 思路:先把图读进来,得到 阅读全文

posted @ 2024-03-07 21:53 chenfy27 阅读(6) 评论(0) 推荐(0)