自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(265)
  • 收藏
  • 关注

原创 2022年华东师范大学计科考研复试机试题-详细题解

比赛两个小时,为OI赛制(可以暴力拿部分分的)。一共六道题目单点时限:2.0 sec内存限制:512MB输入若干个int类型整数,将整数按照位数由大到小排序,如果位数相同,则按照整数本身从小到大排序。例如,输入:10 -3 1 23 89 100 9 -123输出:-123 100 10 23 89 -3 1 9输入的整数个数最多不超过10610^6106个。在一行中输入若干个整数,整数之间用一个空格分隔。在一行中输出排序好的整数,整数之间用一个空格分隔。inputouputinputouput​ 1.这

2022-06-10 17:55:15 5945 5

原创 蓝桥杯算法竞赛培训(二) 汉诺塔与STL

文章目录1.递归-汉诺塔问题描述初步分析代码复杂度分析计算技巧:取模+快速幂进阶问题分析2.STL1. 不定长数组vector非线性结构:红黑树3.暴力4.作业1.递归-汉诺塔问题描述  我们的目的是要将整个塔移动到另一根桩柱上,每次只能移动一个圆盘,且较大的圆盘在移动过程中不能放置在较小的圆盘上面.问你具体的移动方案.初步分析   用递归的思想分析我们知道,对于最下面的盘子,如果上面的n−1n-1n−1个盘子能够全部移动到柱CCC上,我们就只需要将第n个盘子放到BBB柱上,之后对在CCC柱子上

2022-05-08 15:45:18 994

原创 蓝桥杯算法竞赛培训(一) 开篇与算法竞赛通识

开篇方法论:  1.<费曼学习法>是学习任何知识很通用的好方法,其核心是以教代学,我把它分成了三个阶段,个人认为一个知识点能够经过这三个阶段的检验才能算是完全吸收掌握。  2.<刷题>是因为我们算法竞赛有非常强的竞赛属性,不仅要理解某一知识点,还需要足够熟练才能够在有限的时间内,高压环境下完成比较好的表现,就如同俗话说的"台上一分钟,台下十年功"。内容:  这里只是列一个大纲,可能会随着课程进度做一些调整。竞赛通识   上课时留下了几个"尾巴",1.stack,

2022-05-07 16:53:49 651

原创 CF757D1-思维,数论dp

题目大意:给你一个序列aia_iai​,让你将其重新排列使得∑i=1ngcd(a1,...,ai)\sum_{i=1}^{n}gcd(a_1,...,a_i)∑i=1n​gcd(a1​,...,ai​)最大n≤1e5,ai≤5e6n \leq 1e5 , a_i \leq 5e6n≤1e5,ai​≤5e6分析:最后的答案展开后值域一定是分块的,类似于a,a,a,b,b,c,c,..a,a,a,b,b,c,c,..a,a,a,b,b,c,c,..且整体值域是递减的,且任意两个数满足约数关系所以我们

2021-11-27 13:21:20 227

原创 <栈模拟递归>

1.求解斐波那契数列第n项值#include <bits/stdc++.h>using namespace std;#define ll long longconst int maxn = 3e5 +5;struct Node { ll x , res , state; // x 代表输入参数 // res 存储当前答案 // state 代表递归阶段};ll f (ll x){ stack<Node> s; s.push

2021-11-19 17:07:22 897

原创 CF750F1-思维dp

题目大意:给你一个序列,输出里面的所有递增子序列的异或和的集合.例如:44 2 2 4输出:40 2 4 6因为有递增子序列:0242 4他们的异或和的集合就是 0 2 4 6n≤1e5,ai≤500n \leq 1e5,a_i\leq500n≤1e5,ai​≤500题目思路:朴素的思考:dp(i,j)dp(i,j)dp(i,j)代表前iii个数,是否存在递增子序列的异或和为j.但是我们需要其递增,所以贪心的让dp(i,j)dp(i,j)dp(i,j)为异或和为jjj的递增

2021-10-25 10:22:45 135

原创 ZOJ - 4114 Flipping Game-dp,合理状态表示

题目大意:给你两个长度为n(n≤100)n(n \leq 100)n(n≤100)的01字符串.你需要进行k(k≤100)k(k \leq 100)k(k≤100)轮操作,每次操作要选择m(m≤n)m(m\leq n)m(m≤n)个字符,将其反转。问你有多少种方案使得kkk轮之后使得第一个字符串转变成第二个字符串.题目思路:K轮之后,两个字符串相等。那么我们只需要记录当前进行到第几轮且有几个字符串不相等即可.所以定义dp(i,j)dp(i,j)dp(i,j) 为前iii轮,当前局面有恰好kkk个与

2021-10-17 21:01:26 100

原创 HDU3873-有依赖的最短路(拓扑排序)

题目大意:给一张图,跑最短路。但是每个点可能有前驱点集,即必须要先访问到前驱点,才能访问这个点.题目思路:可以发现,在这种限定条件下。我们访问节点的顺序一定是一个拓扑序.所以思路是一边Dij一边拓扑排序.能够入列,当前仅当它的入度为0.然后对着样例讨论一下, 竟 然 过 了#include<bits/stdc++.h>using namespace std;#define ll long long#define pii pair<int,int>#define p

2021-09-03 16:42:40 149

原创 CF365-E - Mishka and Divisors,数论+dp

题目大意:给n(n≤1000)n(n \leq 1000)n(n≤1000)个数,求用最少的数相乘得到k(≤1e12)k(\leq 1e12)k(≤1e12)的倍数.题目思路:令dp(i,j)dp(i,j)dp(i,j)代表前iii个数,累乘得到jjj的倍数的最小个数(01背包)jjj只取kkk的约数。对于第iii个数,转移为:dp(i,j)=min(dp(i−1,j),dp(i−1,jgcd(ai,j))+1)dp(i,j)=min(dp(i-1,j),dp(i-1,\frac{j}{gcd(

2021-09-03 00:19:09 123

原创 2019浙江省赛C-错排问题,贪心

题目大意:给你一个序列,让你找出一种字典序最小的错排。题目思路:1.将这个问题拓展一下:给两个序列(不一定全等)。找字典序最小的错排。2.错排存在的充要条件为:两个序列的和中出现次数最多的数 不超过 序列总长.(鸽巢定理)3.依靠条件2,我们自然可以直接贪心的从小往大的填数,同时保证任意时刻,条件2成立即可(剩下的数最多出现次数不超过剩下的位置).那么填数分两个阶段,第一个阶段贪心的填最小值和次小值。第二阶段到达条件2的临界条件。代码有注释:#include<bits/stdc++.

2021-09-01 16:45:00 127

原创 ICPC2021昆明M-暴力+主席树

题目大意:给你一个序列。每次询问一个区间 每个数选或不选 最小的不能被加出来的值。题目思路:考虑暴力:排序后若某个前缀和 < 下一个数 - 1 就停。如果将值域归桶,然后再对其预处理前缀和。容易证明我们能够在lognlogn的复杂度内暴力二分出来.容易将这个过程放到主席树上进行.然后记得对数据离散化复杂度:O(nlognlogn)O(nlognlogn)O(nlognlogn)#include<bits/stdc++.h>using namespace std;#defi

2021-08-31 23:09:47 215

原创 2019陕西省省赛J-位运算+贪心

题目大意:给你nnn个区间,你需要从每个区间中取出一个数。使得他们按位与后最大。题目思路:从高位开始尝试置1.然后check每个区间。我将问题转化为:找到小于RRR的最大的包含当前ansansans的数XXX.然后check它和LLL的大小关系.这样就从 区间存在性问题 转化为: 最值问题.这个时候同样贪心做即可.这样还是带两个log,需要在两处加剪枝,最后时间从T优化为277ms#include<bits/stdc++.h>using namespace std;#defin

2021-08-31 10:46:21 121

原创 2019陕西省省赛K-变种Dijstra

前言:一类带某种限制的Dijstra求最短路的题型题目大意:单起点,多终点的最短路.每到一个节点,会有did_idi​个怪物出来将did_idi​条连接iii点的边阻断.他们的目的是让你的最短路最大。问你最短路结果题目思路:做法:将终点的di=0d_i=0di​=0.然后从终点跑Dijstra,每次从队列里取出来vvv,若dv>0d_v>0dv​>0,令dv−−d_v--dv​−−,继续.否则:更新该点distdistdist正确性:1.为什么要从终点开始,因为到终点以

2021-08-30 23:40:20 157 4

原创 2021HNCPC-E-差分,思维

题目大意:求解每一个f(i)f(i)f(i)代表max(aj,...,ai)−(j−i+1)≥mmax(a_j,...,a_i)-(j-i+1) \geq mmax(aj​,...,ai​)−(j−i+1)≥m的jjj的个数.j≤ij \leq ij≤in≤1e6n \leq 1e6n≤1e6思路:关键:看到max(aj,...,ai)max(a_j,...,a_i)max(aj​,...,ai​),想到枚举aia_iai​,考虑它所管辖的范围(单调栈求解).PS:当有相同的值时,可以规定将区间贡

2021-08-29 17:13:38 489

原创 p4552-差分

第一问容易看出是max(p,n)max(p,n)max(p,n)第二问,考虑b[1]b[1]b[1]可以被我们构成多少可能的结果。让每个数变成一样的本质就是让差分数组的后n−1n-1n−1项全变成0.该过程的每一步 就是 让一个正数–,负数++.因为要保证步数最小,那么这里面至少有min(p,n)min(p,n)min(p,n)步是从[2,n][2,n][2,n]中同时拿掉一对+1-1剩下abs(p−n)abs(p-n)abs(p−n)步,有两种决策,要么和b[1]b[1]b[1]操作,要么和b.

2021-08-29 12:06:04 129

原创 CF566A-贪心+字典树

题目大意:给你两堆字符串,让你给他们两两匹配使得LCPLCPLCP和最大。题目思路:首先的第一个想法:先将一堆字符串插到字典树里,之后将另一堆字符串,一个一个贪心查询尽量长的LCP,然后删除。这样不正确,因为一旦你无法全部匹配,选择删哪一个就会有后效性.第二个想法:在上面的基础上,先将第二堆LCP排序后再删。这样显然又不对,删完以后其他字符串的LCP是动态变化的。也无法动态维护字符串的LCP。考虑在字典树中的每个节点都保存含有该前缀的字符串们。这样就可以枚举LCP如果我们从叶子节点一层一层往

2021-08-27 21:19:13 111

原创 CF888G-巧妙字典树+暴力分治(异或最小生成树)

题目大意给你一张完全图,任意两个点之间的边权是ai⊕aja_i\oplus a_jai​⊕aj​.问你最小生成树大小题目思路看到异或位运算。自然想到字典树.将所有点插入到字典树.看看效果性质:令SiS_iSi​为节点iii的所有叶子节点在图中所构成的连通块.1.图中任意两点连边,等价于树上的对应叶子节点lcalcalca往下的花费。所以LCALCALCA越深越好2.任意一个节点,若存在两个儿子a,ba,ba,b,那么对于将Sa,SbS_a,S_bSa​,Sb​联通时,这一位的花费是固定不可避

2021-08-27 14:58:43 183

原创 CF685B-求有根树每颗子树的重心

题目大意:标题说的很清楚了.题目思路:根据树的重心的性质:两颗子树合并,新树重心一定在两个子树重心的连线上.所以合并子树的时候,让子树往祖先跳。知道跳到是重心结束.判定重心: 2 * 最大子树sz <= sz[u]即可。#include<bits/stdc++.h>using namespace std;#define ll long long#define pii pair<int,int>#define pb push_back#define mp m

2021-08-25 22:33:29 171

原创 2021江苏省赛A. Array-线段树,维护值域,欧拉降幂

题目链接:https://codeforces.com/gym/102875/problem/A题目大意:区间加,区间乘,区间每个数取幂,查询区间幂次和,查询区间累乘。模数≤30\leq 30≤30题目思路:因为模数小,那么每个数也很小。所以直接维护区间某个值xxx的出现次数.就可以方便的回答查询。问题在于维护修改:由于我们转成值域问题了,所以修改一个区间等于轮换这个区间每个值。标记下放就类似于滚动数组。之后我们令lz[i]lz[i]lz[i]代表iii要变成的数字.考虑标记如何叠加:原本

2021-08-25 17:31:23 211

原创 2016CCPC网络选拔赛C-换根dp好题

题目大意:给一颗树,带点权和边权.问你每个点,得到的最大价值.(点权代表价值边权代表花费).每个点只能拿一次,边反复计算花费.题目思路:容易想出一种树形dp后换根的思路:dp(i,0/1)dp(i,0/1)dp(i,0/1)代表以iii为根的子树,最后回到/不回到i点的最大价值.dp(i,1)=∑j∈Sonimax(dp(j,1)−2∗wi,0)dp(i,1)=\sum_{j\in Son_i}max(dp(j,1)-2*w_i,0)dp(i,1)=∑j∈Soni​​max(dp(j,1)−2∗w

2021-08-23 22:05:09 213

原创 2021上海市赛-H-二分答案

题目大意:一维坐标上有nnn个车.每个车有坐标,速度(有方向),类型.问你最早在多少秒有车发生碰撞n≤1e5n \leq 1e5n≤1e5题目思路:显然二分答案。关键在于如何check相撞?没有相撞等价于任意两对不同类型的车之间的相对位置没有发生变化.这么check显然是对的,但是显然复杂度是爆炸的.但我们只需要存一个车左边离他最近的不同类的车的下标以及右边离它最近的不同类的车的下标。二分后sort,然后O(n)O(n)O(n)的check每个车是否符合条件即可。因为一旦发生相撞,一定有车

2021-08-21 22:50:43 157

原创 2021上海市赛-B-排序后dp

题目大意:给你nnn个三元组(ai,bi,ci)(a_i,b_i,c_i)(ai​,bi​,ci​).每个维度要分别选出a,b,c(a+b+c=n)a,b,c(a+b+c=n)a,b,c(a+b+c=n)个使得价值最大。题目思路:从贪心入手:如果是二元组的情况,我们只需要对b−ab-ab−a排序后贪心选b个bib_ibi​再剩下的选aia_iai​.将排序后的序列挖去一个子序列后依然符合贪心的性质.所以我们可以对第三个维度进行dp(i,j)dp(i,j)dp(i,j)代表前i个三元组,选了jjj个

2021-08-21 21:01:28 119

原创 2021上海市赛-D-卡特兰数变种,dp

题目大意:给你nnn个数,让你分成两排长度为n/2的数组ai,bia_i,b_iai​,bi​.然后使得两个数组有序且ai≤bia_i\leq b_iai​≤bi​.n≤5e3n \leq 5e3n≤5e3题目思路:如果数两两不同的话,就是一个卡特兰数.数有重复,需要dp计算。先考虑如何dpdpdp的求两两不同的情况:将其转化为括号序列。第一排看成左括号的下标,第二排看出右括号的下标。任意一个前缀状态中左括号的数量不得少于右括号的数量.这样dp(i,j)dp(i,j)dp(i,j)为前i个数

2021-08-21 19:44:51 159

原创 2021蓝桥杯国赛-J异或三角形-数位dp

题目大意:t组询问,每次询问一个数n.问你有多少个三元组(a,b,c)(a,b,c)(a,b,c)满足:1.a,b,c∈[1,n]a,b,c \in [1,n]a,b,c∈[1,n]2.a⊕b⊕c=0a \oplus b \oplus c = 0a⊕b⊕c=03.a,b,ca,b,ca,b,c构成三角形思路1:sosdp第二个条件告诉我们,其实我们只需要循环前两个数,第三个数是确定的.第三个条件等价于:两个小的数相加大于第三个数.那么对此,我们容易得出(枚举两个数a,b):1.当b为a的子

2021-08-20 10:10:36 9204 18

原创 LightOJ - 1205 - 回文串计数,数位dp

题目大意:求区间回文数,区间比较大.题目思路:区间大了之后我们自然要想到数位dp解决.对一个数字,dp它的前n2\frac{n}{2}2n​位。考虑到递归出口时,怎样算合法.令上界为XXX,前一半数为x1x_1x1​,后一半数为x2x_2x2​,dp出来的前一半数为:YYY.1.若前半数位没有顶到上界,则Y<x1Y < x_1Y<x1​,则Y+reverse(Y)<x1+x2=XY+reverse(Y) < x_1+x_2 = XY+reverse(Y)<x1

2021-08-12 21:03:44 164

原创 线段树-标记永久化技巧

内容顾名思义.就是区间修改时,懒标记不下传.好处1.码量小,不用写pushdown和pushup2.在可持久化线段树上应用该技巧能做到区间修改的效果坏处1.适用范围有限,只有当求的东西满足区间贡献独立。比如区间加法。区间最大值就无法标记永久化2.多标记好像也不适用模板:洛谷P3372#include<bits/stdc++.h>using namespace std;#define ll long long#define pii pair<int,int>

2021-08-11 19:23:54 878

原创 牛客多校第七场-F-dfs序,区间修改主席树

题目大意:经过转换,题意变成,给你两颗树.在第一颗树上找到一条竖着的联通链(任意两个点的lca为其中的一个点).使得这些点在第二颗树上两两不为子树关系.(即任意两个点的lca不为其中的一个).问你最长链长度。题目思路:发现性质: 子树关系可以转换成dfs序上的区间关系所以转换成,第一棵树上每个点都有一个区间[Li,Ri][L_i,R_i][Li​,Ri​].问你最长链使得节点的区间两两不相交.做法是:dfs的时候维护能够向上走多少个节点使得两两区间不相交。令这个变量为la[i]la[i]la[i

2021-08-09 22:03:03 222

原创 GDCPC2021 K - 线段覆盖模型2

题目大意:一维数轴上给你若干条线段,每个线段有一个值vvv,然后mmm次操作。要求支持线段插入和区间查询最大值减最小值.强制在线n,m≤1e5,数轴∈[1,3000]n,m\leq1e5,数轴\in[1,3000]n,m≤1e5,数轴∈[1,3000]题目思路:本题核心思想:区间覆盖问题转换成二维平面前缀问题一个区间[x,y][x,y][x,y]看成二维矩阵中的一个点(x,y)(x,y)(x,y).则①修改[x,y][x,y][x,y]看成单点修改②查询[x,y][x,y][x,y]即查询l≥

2021-08-09 10:56:37 212

原创 CodeForces - 1139D - Steps to One - 莫比乌斯反演+期望dp

题目大意:每次随机生成[1,n][1,n][1,n]中的一个数。当gcd=1gcd=1gcd=1时停止生成。求序列期望长度.n≤1e5n \leq 1e5n≤1e5.题目思路:期望,先想到期望dp.反着定义.fif_ifi​为当前序列gcd=igcd=igcd=i,期望多少步到gcd=1gcd=1gcd=1.f1=0f_1=0f1​=0然后开始列公式推:fi=1+∑j=1nfgcd(i,j)nf_i=1+\frac{\sum_{j=1}^{n} f_{gcd(i,j)}}{n}fi​=1+n

2021-07-24 22:00:47 250

原创 HDU4947-莫比乌斯反演在序列问题上的应用

题目大意:给你一个长度为lll的数组,qqq次操作:111 让每个满足gcd(i,n)=dgcd(i,n)=dgcd(i,n)=d的位置iii上加vvv.222 查询前缀和[1,x][1,x][1,x].题目思路:修改:考虑对于每个iii有式子:ai=v∗[gcd(i,n)=d]a_i=v*[gcd(i,n)=d]ai​=v∗[gcd(i,n)=d]ai=v∗[gcd(id,nd)=1]a_i=v*[gcd(\frac id,\frac nd)=1]ai​=v∗[gcd(di​,dn​)=1

2021-07-16 17:37:54 107

原创 HDU 6750 Function-莫比乌斯反演进阶好题(一)

题目大意:求∑i=1n∑t∣it[gcd(t,it)=1]\sum_{i=1}^{n}\sum_{t|i}^{}t[gcd(t,\frac it)=1]∑i=1n​∑t∣i​t[gcd(t,ti​)=1]n≤1e12,T≤10n \leq 1e12,T \leq 10n≤1e12,T≤10题目思路:这题在推导公式的时候有比较多的技巧需要使用.如下:①换求和枚举顺序,消去整除符号:=∑t=1n∑t∣int[gcd(t,it)=1]=\sum_{t=1}^{n}\sum_{t|i}^{n}t[gcd

2021-07-15 16:19:43 126

原创 CodeForces 839 D.Winter is here:莫比乌斯反演在容斥上的应用,好题!

前言:题解在这位大佬这看的,写的好.这道题给出了莫比乌斯反演在容斥上的一个应用。题目大意:给你一个长度为nnn的数组aia_iai​,让你求出所有子集SSS的贡献和:∣S∣∗gcd(ai ∣ ai∈S)∗[gcd(ai ∣ ai∈S)=1]|S|*gcd(a_i\ |\ a_i\in S)*[gcd(a_i\ |\ a_i\in S)=1]∣S∣∗gcd(ai​ ∣ ai​∈S)∗[gcd(ai​ ∣ ai​∈S)=1]

2021-07-14 10:32:28 129

原创 HDU - 6053-反演,N维数论分块

题目大意:给你一个长度为nnn的数组AiA_iAi​,问你有多少个合法的数组BBB使得:1.Bi∈[1,Ai]1.B_i\in[1,A_i]1.Bi​∈[1,Ai​]B的任意一个子区间gcd≥2B的任意一个子区间gcd\geq2B的任意一个子区间gcd≥2.T≤10,n,Ai≤1e5T\leq10,n,A_i\leq 1e5T≤10,n,Ai​≤1e5题目思路:条件2的充分必要条件为gcd(Bi ∣ i∈[1,n])≠1gcd(B_i\ |\ i\in[1,n])\neq1g

2021-07-13 19:30:04 158

原创 P4318-莫比乌斯函数+容斥

前言:这题告诉我们莫比乌斯函数是平方数容斥的容斥系数.题目大意:TTT组询问,问你第kkk个不含平方因子的数。题目思路:二分答案+容斥先二分答案midmidmid,问题转化为[1,mid][1,mid][1,mid]中有多少个不含平方因子的数.不含平方因子本质就是不含平方质因子。我们可以拿质数的平方作容斥.含奇数个质因子的数为正贡献,含偶数个质因子的数为负贡献。μ\muμ函数即为容斥系数。ans=∑i=1midμ(i)∗midi∗ians=\sum_{i=1}^{\sqrt {mid}}\m

2021-07-13 16:54:35 218 1

原创 莫比乌斯反演入门(五)--P2257(P2522升级)

题目大意:这题是P2522 的升级版.TTT组询问,每组询问n,mn,mn,m点对中有多少个点对满足gcd(i,j)gcd(i,j)gcd(i,j)为质数.题目思路:P2522+换元+线性筛积性函数1.前面部分直接按P2522推导即可。但是直接算的复杂度为:O(T∗π(n)∗n)O(T*\pi(n)*\sqrt{n})O(T∗π(n)∗n​).无法接受。观察式子:2.原式=∑k∈pn∑d=1ndμ(d)⌊nkd⌋⌊mkd⌋原式=\sum_{k\in p}^{n}\sum_{d=1}^{\frac

2021-07-13 14:55:09 100

原创 莫比乌斯反演入门(四)--以往的题目

一.蓝桥杯2018年B组-矩阵求和题目大意:求∑i=1n∑j=1ngcd2(i,j)\sum_{i=1}^{n}\sum_{j=1}^{n}gcd^2(i,j)∑i=1n​∑j=1n​gcd2(i,j)n≤1e7n \leq 1e7n≤1e7题目思路:经典题,推导过程:先枚举gcd=cgcd=cgcd=c,然后单位元卷积。然后再枚举ddd,变i,j→di,dji,j\rightarrow di,dji,j→di,dj.得到一个整数分块套整数分块即可时间复杂度:O(n)O(n)O(n).二.20

2021-07-13 10:42:01 74

原创 莫比乌斯反演入门(三)--洛谷P3327

题目大意:给出n,mn,mn,m,求∑i=1n∑j=1md(i∗j)\sum_{i=1}^{n}\sum_{j=1}^{m}d(i*j)∑i=1n​∑j=1m​d(i∗j),d(i∗j)代表i∗j的约数个数.d(i*j)代表i*j的约数个数.d(i∗j)代表i∗j的约数个数.T,n,m≤5e4T,n,m \leq 5e4T,n,m≤5e4题目思路:首先得知道一个关于约数个数和的特殊性质:d(i,j)=∑x∣i∑y∣j[gcd(x,y)==1]d(i,j) = \sum_{x|i}^{}\sum_{

2021-07-12 19:02:54 129

原创 莫比乌斯反演入门(二)--洛谷P1829

题目大意:给出n,mn,mn,m,求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)∑i=1n​∑j=1m​lcm(i,j),题目思路:推公式.\sum_{}^{}\frac{}{}令n≤mn \leq mn≤m原式=∑∑i∗jgcd(i,j)原式=\sum_{}^{}\sum_{}^{}\frac{i*j}{gcd(i,j)}原式=∑​∑​gcd(i,j)i∗j​看到gcd,自然变换枚举顺序:枚举gcd=dgcd=dgcd=d=

2021-07-12 11:31:31 117

原创 莫比乌斯反演入门(一)--P2522

前置知识:1.数论分块,二维数论分块2.⌊abc⌋=⌊⌊ab⌋c⌋\lfloor\frac{a}{bc}\rfloor = \lfloor\frac{\lfloor\frac{a}{b}\rfloor}{c}\rfloor⌊bca​⌋=⌊c⌊ba​⌋​⌋3.gcd(i,j)=k→gcd(ik,jk)=1gcd(i,j)=k \to gcd(\frac ik,\frac jk)=1gcd(i,j)=k→gcd(ki​,kj​)=1OI WIKI 上面莫比乌斯反演前置知识题目大意:地址求∑i=ab

2021-07-11 13:44:28 219

原创 2021年北师大人工智能学院夏令营上机测试题解

前言:有幸拿到rk1,但由于服务器卡成OI赛制,少A整整一道题。

2021-07-09 20:46:31 2688 15

空空如也

空空如也

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

TA关注的人

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