mαgic
码龄5年
关注
提问 私信
  • 博客:9,315
    9,315
    总访问量
  • 38
    原创
  • 2,181,147
    排名
  • 8
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2019-11-25
博客简介:

qq_45929432的博客

查看详细资料
个人成就
  • 获得10次点赞
  • 内容获得8次评论
  • 获得6次收藏
创作历程
  • 1篇
    2022年
  • 24篇
    2021年
  • 13篇
    2020年
成就勋章
TA的专栏
  • JAVA
    3篇
  • ACM模板
    17篇
  • 数据结构
    2篇
  • codeforces
    1篇
  • 博弈论
    5篇
兴趣领域 设置
  • 数据结构与算法
    推荐算法
  • 人工智能
    分类回归
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

LCA(最近公共祖先)模板

LCA模板
原创
发布博客 2022.07.14 ·
148 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Pollard-rho(大整数质因子分解)

vector<ll> fac;ll quick_mult(ll a, ll b, ll mod) { ll ans = 0; while(b) { if(b & 1) ans = (ans + a) % mod; a = (a + a) % mod; b >>= 1; } return ans;}ll quick_pow(ll a, ll n, ll mod) { ll ans =
原创
发布博客 2021.11.06 ·
292 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

dsu on tree(树上启发式合并)

需要合并子树信息时,暴力解法复杂度为O(n^2),dsu on tree可以做到将复杂度降低为O(nlogn)。主要思想:例题 现在有一棵树,每个节点涂有一个颜色。需要统计每颗子树上哪种颜色最多。算法流程:1. 另外写dfs找到各节点重儿子;2. 统计轻儿子信息,记录答案;3. 统计重儿子信息记录答案,并保留信息。4. 将轻儿子信息加入记录;5. 加入父节点信息,统计答案。int n;//size of treevector<int> tree[maxn];int colo
原创
发布博客 2021.11.02 ·
275 阅读 ·
2 点赞 ·
2 评论 ·
0 收藏

矩阵快速幂

const ll mod = 1e9+7;const int maxn = 1e3+5;ll a[maxn][maxn],b[maxn][maxn],c[maxn][maxn];void mulaa(int n){ memset(c,0,sizeof(c)); for(int ii=1;ii<=n;ii++){ for(int jj=1;jj<=n;jj++){ ll tp=0; for(int i=1;i<=n;i++){ tp+=((a[ii][i]%
原创
发布博客 2021.10.27 ·
100 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

后缀数组(求字符串后缀字母序大小排行)

//时间复杂度O(nlogn)const int maxn = 1e6+5;int n,m,rk[maxn],tp[maxn],sa[maxn],num,tax[maxn];char s[maxn]; //字符串从1开始void Rsort(){ for(int i=0;i<=m;i++)tax[i]=0; for(int i=1;i<=n;i++)tax[rk[tp[i]]]++; for(int i=1;i<=m;i++)tax[i]+=tax[i
原创
发布博客 2021.10.25 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一维差分、二维差分

一维int a[maxn],b[maxn];void insert(int l,int r,int c) //[l,r]同时加c{ b[l]+=c; b[r+1]-=c;}二维int a[maxn][maxn], b[maxn][maxn];void insert(int x1,int y1,int x2,int y2,int c) //[x1,y1] - [x2,y2]同时加c{ b[x1][y1] += c; b[x1][y2+1] -=c; b[x
原创
发布博客 2021.10.03 ·
107 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

主席树(区间第k小)

const int maxn = 2e5+5;int cnt;struct node{ int L, R;//分别指向左右子树 int sum;//该节点所管辖区间范围内数的个数 node(){ sum = 0; }}Tree[maxn * 20];int root[maxn];//多颗线段树的根节点void init() { cnt = 1; root[0] = 0; Tree[0].L = Tree[0].R = Tr
原创
发布博客 2021.10.01 ·
105 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

中国剩余定理

注意排除不可行的答案:ll exgcd(ll a,ll b,ll &x,ll &y) { if(b == 0) { x = 1,y = 0; return a; } else { ll res = exgcd(b,a%b,x,y); ll t = x; x = y; y = t - a / b * y; return res; }}ll excrt(ll m1,ll m2,ll a1,ll a2) { //m为余数 ll x,y,c,g; c =
原创
发布博客 2021.09.28 ·
75 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

排列组合模板C(m,n)

const ll mod = 998244353;const ll maxn = 1e5+5;ll f[maxn],inv[maxn];ll qpow(ll a,ll b){ ll ans=1; while(b) { if(b&1)ans=ans*a%mod; a=a*a%mod; b>>=1; } return ans%mod;}void init(){ f[0]=inv[0]=1; for(ll i=1; i<maxn; i++) {
原创
发布博客 2021.07.16 ·
376 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

逆元

求解n关于m的逆元( n*x = 1 mod m );int exgcd(int a,int b,int &x,int &y){ if(b==0) { x=1,y=0; return a; } int r = exgcd(b,a%b,x,y); int t = x; x = y; y = t - a/b*y; return r;}int inv(int n,int m){
原创
发布博客 2021.05.18 ·
107 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ST表(静态区间最值)

int a[maxn];int maxsum[maxn][20],minsum[maxn][20];void RMQ(int num){ //共num个数 for(int i=1;i<=num;i++) maxsum[i][0] = minsum[i][0] = a[i]; for(int j=1;j<20;j++){ for(int i=1;i<=num;i++){ if(i+(1<<j)-1 &l
原创
发布博客 2021.04.26 ·
191 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

线段树(动态区间最值)

const int inf = 0x7fffffff;const int maxn = 2e5 + 10;int a[maxn];int tree[maxn << 2], lz[maxn << 2];inline int max(int a, int b) { return a > b ? a : b; }void build(int i, int l, int r) { //建树操作,初始化时应将i置为1 if (l == r) { t
原创
发布博客 2021.04.25 ·
251 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

求单个整数质因数个数(无重复)

用于计算单个整数的质因数个数,无视重复的质因数。const int maxv = 2e7+5; //注意修改maxv数值int mind[maxv],val[maxv];void init(){ for(int i=1;i<maxv;i++) mind[i] = -1; mind[1] = 1; for(int i=2;i<maxv;i++){ if(mind[i] == -1){ for(int j=i;j<=maxv
原创
发布博客 2021.03.21 ·
297 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

快速幂模板

int quick_pow(int a,int b){ int ans = 1; for(int i = 0;i < b;i++){ ans *= a; } return ans;
原创
发布博客 2021.03.09 ·
93 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

并查集模板

int fa[maxn];int find(int x){ return x==fa[x]?x:fa[x]=find(fa[x]);}void unit(int u,int v){ int xx = find(u); int yy = find(v); if(xx != yy){ fa[xx] = yy; }}
原创
发布博客 2021.03.07 ·
99 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

codeforces #704 div2(4/5)

A. Three swimmers先分别计算出对于a、b、c在你到达后,并且他们到达原点的时间。比如对于a,在你到达后他正好游完了a/p个来回,此时使用进一法,ta = (a+p-1)/p,即为你到达后a到达原点的时间.最后答案ans = min(ta,tb,tc);代码:#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<stri
原创
发布博客 2021.02.24 ·
90 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

线性筛模板(筛取从1-n的素数)

线性筛const int maxn = 1e5+5; //注意修改maxn数值int vis[maxn],prime[maxn],tol;void liner_shai(){ memset(vis,0,sizeof(vis)); for(int i=2;i<maxn;i++){ if(!vis[i]) prime[tol++] = i; for(int j=0;j<tol&&i*prime[j]<
原创
发布博客 2021.02.22 ·
134 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ssm链接mysql时中文数据全部变为?的问题

这次的问题又坑了我几个小时,起因是我在做java后端时数据库内的中文数据全部变为了?。这里需要注意的是,在sping链接mysql时url后缀应该加上相应的编码形式。代码:jdbc.url=jdbc:mysql://xxx.x.x.x:xxxx/myblog?useUnicode=true&characterEncoding=UTF-8其中xxx.x.x.x:xxxx为服务器IP与端口号,myblog为将要链接的数据库名称。...
原创
发布博客 2021.01.27 ·
165 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

线段树模板

注意每次测试数据后的数据清空//单点修改为直接修改,区间修改为一起加某值struct Node{ int l,r; int lazy,sum;}Sum[MAXN<<2]; //树int num[MAXN]; //原数组(下标从1开始)void update(int index){ //区间和计算函数 Sum[index].sum = Sum[index<<1].sum+Sum[index<<1|1].sum;}void bu
原创
发布博客 2021.01.14 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

maven分模块进行分层时载入配置文件需要注意的点

在maven分模块分成配置后进行发布后出现了controller层中的service无法自动注入的问题。排查后发现是service层和dao层的spring配置文件没有成功配置,在web层的web.xml中应注意:classpath:只会查找本模块中resources下的文件,而其他模块的不会进行查找.此时应将classpath:改为classpath*:classpath*:会自动去寻找本模块及依赖的jar包中的resources下的文件,这样才能正确配置service层和dao层的spring
原创
发布博客 2021.01.13 ·
246 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多