
搜索
文章平均质量分 65
chp的博客
这个作者很懒,什么都没留下…
展开
-
AcWing 861. 二分图的最大匹配—匈牙利算法
接着为2寻找匹配,2可以匹配a,c,首先与a进行匹配,发现a已经被1号匹配了,那么就看看能否再为1号找到一个新的匹配,发现可以为1号找到新的匹配c。1号还能与a匹配,但是a被2号匹配了,于是寻找2号能否匹配(从b中选),发现可以为2号寻找到新的匹配,于是为3号找到了匹配。接着为3寻找匹配,3号可以与c匹配,但是c被1号匹配了,于是寻找能否为1号寻找其他的匹配(从a,b中选)首先为1寻找匹配,1可以匹配a,c,1首先和a匹配。接着为4寻找匹配,发现无法为4寻找到新的匹配了。所以该图的最大匹配数为3。原创 2024-01-05 12:33:48 · 483 阅读 · 0 评论 -
AcWing 98. 分形之城—递归、分治
这是一道递归+坐标变换的问题,坐标变换比较难想,建议自己动手画一画容易明白一些。这一道题看起来很麻烦,其实就是比较麻烦。与总点数的关系,不难发现总点数。构成的规律,第1部分是关于。,同时可以发现,每个等级由。个区域的情况递归子问题即可。的城市构成,将每个等级为。个,观察可以发现城市由。相同,第4部分是关于。分别考虑当前点在城市的。原创 2023-07-05 15:43:20 · 170 阅读 · 0 评论 -
AcWing 97. 约数之和—算数基本定理、递归
是否是mod的倍数,这种情况就比较麻烦,如果题目比较友好,直接用公式+需要通过算数基本定理来解决问题,任何正整数。会超时,所有这里考虑用递归分治的方法来算。可以发现后一半每一项都是前一项对应位置的。为奇数,我们把这个写成整除的形式就是。就变成了奇数项,可以按照(1)来求,质因子分解,将质因子的指数再乘上。其实之前考虑的是用等比数列的公式。那么现在的问题就变成了如何快速求。一共有a_n+1,为偶数项,很大,考虑用递归分治来做,和逆元来算,但是需要判断。,但是有个问题,这里的。的范围较大,如果遍历算。原创 2023-07-04 15:33:21 · 176 阅读 · 0 评论 -
数位DP—计数问题
【代码】数位DP—计数问题。原创 2023-06-23 16:22:14 · 133 阅读 · 0 评论 -
筛质数—(埃氏筛&欧拉筛)
对欧拉筛的理解不是很深刻,写下自己的理解,加深一下理解,也方便后期忘记后再学习。原创 2023-05-30 21:37:16 · 658 阅读 · 0 评论 -
acwing1402. 星空之夜
题目链接输入样例23151000100000000001000000001111100011111000101101010000000100010001111110000000001010100010111100000111010001000000000000010010111110000000001000000100000000000000000101000000111110010000000010000001000100111110000000111010101010001原创 2021-01-28 22:59:35 · 180 阅读 · 0 评论 -
递增三元组
第九届蓝桥杯省赛 递增三元组给定三个整数数组A=[A1,A2,…AN], B=[B1,B2,…BN], C=[C1,C2,…CN],请你统计有多少个三元组 (i,j,k) 满足:1≤i,j,k≤NAi<Bj<Ck输入格式第一行包含一个整数 N。第二行包含 N 个整数 A1,A2,…AN。第三行包含 N 个整数 B1,B2,…BN。第四行包含 N 个整数 C1,C2,…CN。输出格式一个整数表示答案。数据范围1≤N≤1e5,0≤Ai,Bi,Ci≤1e5输入原创 2020-11-06 20:49:29 · 1177 阅读 · 1 评论 -
acwing 二分&前缀和
acwing 789. 数的范围 #include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int maxn=1e5+10;int n,q;int s[maxn];int main(){ ...原创 2020-05-09 22:38:25 · 268 阅读 · 0 评论 -
日志统计--双指针
日志统计分析: 明天补上分析代码如下:#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;typedef pair<int,int>PII;PII logs[N];int cnt[N];...原创 2020-04-09 23:33:30 · 200 阅读 · 0 评论 -
bfd dfs
#include<cstdio>#include<iostream>#define OK 1using namespace std;const int maxn=1e3;const int MAX=1e3;int vis[maxn][maxn];int dis[maxn];int ant;int n,k;typedef int status;type...原创 2019-12-20 22:15:07 · 199 阅读 · 0 评论 -
CodeForces - 510B Fox And Two Dots
传送门题意:n*m个字母,判断能否成环。分析:成环至少需要四个相同字母,dfs一直往下搜索,每遇到相同字母将其标记,若遇到相同字母且被标记可判断已成环(此字母不能是上一个字母,因此要记录下此时的字母)。代码如下:#include<cstdio>#include<algorithm>#include<cstring>using nam...原创 2019-12-05 20:32:08 · 199 阅读 · 0 评论 -
N皇后问题
hdu2553dfs一直往下搜索,每次chack一下是否满足要求,即可代码如下:#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int maxn=30;int vis[maxn];//记录...原创 2019-12-03 20:43:38 · 121 阅读 · 0 评论 -
hdu 6576--Worker
题目链接题意比较容易理解,不解释了。会的两种解法(1)找所有工厂效率的最小公倍数,再以最小公倍数除以时间的和作为最少人数,看m是否为最小人数整数倍即可代码如下:#include<stdio.h>#include<algorithm>#include<cstring>using namespace std;typedef long l...原创 2019-11-16 21:03:06 · 339 阅读 · 0 评论