Processing math: 12%

NOIp2017——追求那些我一直追求的

谨以此祭奠我即将爆炸的 NOIP2017.

Mingqi_H  2017.09.24

Day -47

突然发现半年来自己从来没有写对过 SPFA最近几天才发现自己的板子一直是错的... 赶紧找个例题修一下板子

复制代码
 1 #include<cstring>
 2 #include<cstdio>
 3 #include<queue>
 4 using namespace std;
 5 const int maxn = 1e6+10;
 6 struct Edge{
 7     int u,v,w;
 8 }edge[maxn*2];
 9 int head[maxn];
10 int cnt;
11 int dis[maxn],vis[maxn];
12 int m,n;
13 inline void add(int u,int v,int w)
14 {
15     edge[++cnt].u=head[u];
16     edge[cnt].v=v;
17     edge[cnt].w=w;
18     head[u]=cnt;
19     return;
20 }
21 void spfa(int p)
22 {
23     memset(dis,0x3f,sizeof(dis));
24     memset(vis,0,sizeof(vis));
25     int cur,nxt,v;
26     queue<int> q;
27     while(!q.empty())
28         q.pop();
29     q.push(p),vis[p]=true;
30     dis[p]=0;
31     while(!q.empty())
32     {
33         cur=q.front(),q.pop(),vis[cur]=false;
34         for(int i=head[cur];i;i=edge[i].u)
35         {
36             v=edge[i].v;
37             if(dis[p]+edge[v].w<dis[v])
38             {
39                 dis[v]=dis[p]+edge[v].w;
40                 q.push(v),vis[v]=true;
41             }
42         }
43     }
44     for(int i=1;i<=m;i++)
45         printf("%d ",dis[i]);
46     printf("\n");
47     return;
48 }
49 int main()
50 {
51     int u,v,w;
52     scanf("%d%d",&m,&n);
53     for(int i=0;i<n;i++)
54     {
55         scanf("%d%d%d",&u,&v,&w);
56         add(u,v,w);
57     }
58     for(int i=1;i<=m;i++)
59         spfa(i);
60 }
复制代码

问题学了这么久了都不会建邻接链表SPFA 加的是点不是边链表链表head 数组和 edge 数组要连起来第一行是 edge[++cnt].u=head[u]; 最后一行是 head[u]=cnt; 永远记住这不是一年前了

你基础不牢啊吃枣药丸吃枣药丸之前还有 200 多天的时候你跟现在的水平差不多啊 100 多天你干什么了之前不是经常拿到 Rank\ 1那个你呢你模拟赛两次四天 12 道题分数加起来还没人家一天 3 道题的多你会什么啊会数论吗之前一直认为自己能拿到 Day2\ T1 100模拟赛那么简单的一道数论题你可是一分都没拿到啊该好好反思一下了你不会 DP也就算了可是你连暴力也不会打这就说不过去了吧三四个月前建立的分类结果到现在也没整理几个题啊别人的 Blogs 都有几百道题目了啊你总共过了有 400 题吗去重之前也仅仅有 386 道啊还有 100 多道 OJ 上的题目你这一年多干了些什么

还是从板子开始吧不能温水煮青蛙了不能这样下去了

Kruskal 写的也不好注意不是邻接链表了是最最普通的数组了不是邻接表没必要写 add_edge写上邻接表的就错了并查集也得背背啊还有那个 sort 对结构体排序还得练一练都忘得差不多了必要的话重新看看 OJ 上的那几道题目

复制代码
#include<cstdio>
#include<algorithm>
using namespace std;
#define maxp 5005
#define maxe 200005
struct Edge{
    int u,v,w;
}edge[maxe];
inline int cmp(Edge a,Edge b){return a.w<b.w;}
int cnt;
int fat[maxp];
inline int find(int x)
{return fat[x]!=x?fat[x]=find(fat[x]):fat[x];}
inline void unionn(int x,int y)
{int fa=find(x),fb=find(y);if(fa!=fb)fat[fa]=fb;}
int n,m;
inline void Kruskal()
{
    sort(edge+1,edge+m+1,cmp);
    int k=0,ans=0;
    for(int i=1;i<=m;i++)
    {
        if(find(edge[i].u)!=find(edge[i].v))
        {
            unionn(edge[i].u,edge[i].v);
            ans+=edge[i].w;
            k++;
        }
    }
    if(k<n-1) printf("orz");
    else printf("%d",ans);
    return;
}
int main()
{
    int u,v,w;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
        fat[i]=i;
    for(int i=1;i<=m;i++)
        scanf("%d%d%d",&edge[i].u,&edge[i].v,&edge[i].w);
    Kruskal();
    return 0;
}
复制代码

复习计划

NOIP 范围内所有的知识点包括数论重点放在图论数论不熟练的知识点贪心动规分治二分搜索等时间30d. 对于其他较少考到的以及高级的内容中高级数据结构STL短期内全部不涉及没有时间对那些较难并且没用的东西进行学习了这不是省选前半年可以停课随便搞的时间了毕竟马上就要考试了

保证无论何时无论有什么情况每天保证至少学习 1h大周回家至少拿出 2h 写板子NOIP 前不再学习新的知识了

Day-45

今天检验之前的 SPFA发现依旧不对…… 赶紧改过来……

复制代码
 1 #include<cstdio>
 2 #include<queue>
 3 #include<cstring>
 4 #define maxn 1000001
 5 using namespace std;
 6 struct Edge
 7 {
 8     int u,v,w;
 9 } edge[2*maxn];
10 int head[maxn],cnt;
11 int n,m;
12 int vis[maxn],dis[maxn],cur,nxt;
13 inline void add(int u,int v,int w)
14 {edge[++cnt].u=head[u],edge[cnt].v=v,edge[cnt].w=w,head[u]=cnt;}
15 inline void spfa(int u)
16 {
17     queue<int>q;
18     memset(vis,0,sizeof(vis)),
19     memset(dis,0x3f,sizeof(dis)),
20     dis[u]=0;
21     while(!q.empty())q.pop();
22     vis[u]=true,q.push(u);
23     while(!q.empty())
24     {
25         cur=q.front(),vis[cur]=0,q.pop();
26         for(int i=head[cur]; i; i=edge[i].u)
27         {
28             int v=edge[i].v;
29             if(dis[v]>dis[cur]+edge[i].w)
30             {
31                 dis[v]=dis[cur]+edge[i].w;
32                 if(!vis[v])
33                     vis[v]=1,q.push(v);
34             }
35         }
36     }
37     for(int i=1; i<=m; i++)
38         printf("%d ",dis[i]);
39     printf("\n");
40     return;
41 }
42 int main()
43 {
44     int u,v,w;
45     scanf("%d%d",&m,&n);
46     for(int i=0; i<n; i++)
47     {
48         scanf("%d%d%d",&u,&v,&w);
49         add(u,v,w);
50     }
51     for(int i=1; i<=m; i++)
52         spfa(i);
53         return 0;
54 }
复制代码

 ???

复制代码
 1 #include<cstdio>
 2 #include<cstring>
 3 #define maxn 1000001
 4 using namespace std;
 5 struct Edge
 6 {
 7     int u,v,w;
 8 } edge[2*maxn];
 9 int head[maxn],cnt;
10 int n,m;
11 int vis[maxn],dis[maxn],cur,nxt;
12 inline void add(int u,int v,int w)
13 {edge[++cnt].u=head[u],edge[cnt].v=v,edge[cnt].w=w,head[u]=cnt;}
14 struct queue{
15     int array[4*maxn];
16     int h,t;
17     inline bool empty(){return h>=t;}
18     inline void push(int x){array[h++]=x;}
19     inline void pop(){t--;}
20     inline int front(){return array[h];}
21     inline void clear(){h=t=0;}
22 }q;
23 inline void spfa(int u)
24 {
25     memset(vis,0,sizeof(vis)),
26     memset(dis,0x3f,sizeof(dis)),
27     dis[u]=0;
28     q.clear();
29     vis[u]=true,q.push(u);
30     while(!q.empty())
31     {
32         cur=q.front(),vis[cur]=0,q.pop();
33         for(int i=head[cur]; i; i=edge[i].u)
34         {
35             int v=edge[i].v;
36             if(dis[v]>dis[cur]+edge[i].w)
37             {
38                 dis[v]=dis[cur]+edge[i].w;
39                 if(!vis[v])
40                     vis[v]=1,q.push(v);
41             }
42         }
43     }
44     for(int i=1; i<=m; i++)
45         printf("%d ",dis[i]);
46     printf("\n");
47     return;
48 }
49 int main()
50 {
51     int u,v,w;
52     scanf("%d%d",&m,&n);
53     for(int i=0; i<n; i++)
54     {
55         scanf("%d%d%d",&u,&v,&w);
56         add(v,u,w);//无向图 
57         add(u,v,w);
58     }
59     for(int i=1; i<=m; i++)
60         spfa(i);
61     return 0;
62 }
maybe 手写队列???
复制代码

Day-44

今天手打了一遍 SPFA然而边表又建错了... edge[++cnt].u=head[u]; 不是 edge[cnt++].u=head[u];

今天复习 LCA 吧... 看起来 queue 与手写队列效率差不多对于随机数据两个都差不多deque 更慢了对于 10^9 的数据效率差了 50ms 左右

复制代码
 1 #include<cstdio>
 2 using namespace std;
 3 #define maxn 500010
 4 int n,m,s,f[maxn][22],deep[maxn],head[maxn],num;
 5 struct node
 6 {
 7     int to,pre;
 8 } e[maxn<<1];
 9 void Insert(int from,int to){e[++num].to=to;e[num].pre=head[from];head[from]=num;}
10 void find_deep(int from,int now,int dep)
11 {
12     f[now][0]=from;
13     deep[now]=dep;
14     for(int i=head[now]; i; i=e[i].pre)
15         if(e[i].to!=from)
16             find_deep(now,e[i].to,dep+1);
17 }
18 void find_father()
19 {
20     for(int j=1; j<=21; j++)
21         for(int i=1; i<=n; i++)
22             f[i][j]=f[f[i][j-1]][j-1];
23 }
24 int get(int a,int delta)
25 {
26     for(int i=0; i<=21; i++)
27         if(delta&(1<<i))a=f[a][i];
28     return a;
29 }
30 int lca(int a,int b)
31 {
32     if(deep[a]<deep[b]) swap(a,b);
33     a=get(a,deep[a]-deep[b]);
34     if(a==b) return a;
35     for(int i=21; i>=0; i--)
36         if(f[a][i]!=f[b][i])
37             a=f[a][i],b=f[b][i];
38     return f[a][0];
39 }
40 int main()
41 {
42     scanf("%d%d%d",&n,&m,&d);
43     int x,y;
44     for(int i=1; i<=n-1; i++)
45     {
46         scanf("%d%d",&x,&y);
47         Insert(x,y),Insert(y,x);
48     }
49     find_deep(s,s,0);
50     find_father();
51     for(int i=1; i<=m; i++)
52     {
53         scanf("%d%d",&x,&y);
54         printf("%d\n",lca(x,y));
55     }
56     return 0;
57 }
复制代码

 Day-43

LCA 是什么Tarjan|| 倍增 || 树链剖分

玩一玩树状数组好了

我什么都不会...

复制代码
#define lowbit(__x__) (__x__&(-__x__))
//区间查询单点修改不需要差分数组。
//区间查询时需要查询两个端点,调用query(y)-query(x-1)。 
inline int query(int x){int ans=0;for(int i=x;i>0;i-=lowbit(i))ans+=c[i];return ans;}
inline void modify_point(int x,int d){for(int i=x;i<=n;i+=lowbit(x))c[i]+=d;}
//区间修改单点查询需要差分数组。两者有一些不同。
//初始化树状数组时就需要差分处理,用一个pre变量记录前一个元素,然后调用modify(place,x-pre)。
//区间修改直接在差分数组上进行,仅需要修改两个端点即可,调用modify(point,k),modify(point,-k)。
//查询基本相同。 
inline void modify_interval(int x,int d){for(int i=x;i<=n;i+=lowbit(i))a[i]+=d;}
复制代码

 Day-42

今天忙坐一整天车晚上做了作业

 Day-41

一个弱省蒟蒻为何到北京

昨日来京腰酸背痛今天开始考试了然而貌似挂得很惨T1 爆零了 2333... 还是弱啊晚上写题解下午主要讲搜索的技巧表示双向 BFS 还是不会还是去看看搜索大题吧

Rank 69... 看起来 T1 可以拿到 60 分左右 2333...

Day-40

2333... 标日没收了 2333...hhh

然而今天题目没区分度... 大众分 60 分... 打个表就有了..

不想搞事情了...qbxt 真的不是很适合我... 回去搞一搞浴谷...

噫... 什么时候漏下了一天... 好像是回家的那一天今天应该是 Day-39... 药丸... 赶紧看看 LCA 与线段树...

据说快停课了... 表示好方...

下定决心来一遍 LCA...

复制代码
 1 #include<cstdio>
 2 #include<algorithm>
 3 using namespace std;
 4 const int N = 500100;
 5 int fa[N][25],dep[N];
 6 struct Edge{int to,nxt;}e[N*2];
 7 int head[N],cnt;
 8 inline void add(int u,int v){e[++cnt].to=v,e[cnt].nxt=head[u],head[u]=cnt;}
 9 int n,maxdep,T,rt,top;
10 void build(int u)
11 {
12     for(int i=head[u];i;i=e[i].nxt)
13     {
14         int v=e[i].to;
15         if(v!=fa[u][0])
16         {
17             fa[v][0]=u;
18             dep[v]=dep[u]+1;
19             maxdep=max(maxdep,dep[v]);
20             build(v);
21         }
22     }
23 }
24 inline int LCA(int u,int v)
25 {
26     if(dep[u]<dep[v])swap(u,v);
27     for(int k=top;k>=0;k--)
28         if(dep[fa[u][k]]>=dep[v])
29             u=fa[u][k];
30     if(u==v)
31         return u;
32     for(int k=top;k>=0;k--)
33         if(fa[u][k]!=fa[v][k])
34             u=fa[u][k],v=fa[v][k];
35     return fa[u][0];
36 }
37 int main()
38 {
39     scanf("%d%d%d",&n,&T,&rt);
40     for (int i=1; i<n; i++)
41     {
42         int u,v;
43         scanf("%d%d",&u,&v);
44         add(u,v),add(v,u);
45     }
46     dep[rt]=1;
47     build(rt);
48     for (; (1<<top)<=maxdep; top++);
49     for (int k=1; k<=top; k++)
50         for (int i=1; i<=n; i++)
51             fa[i][k]=fa[fa[i][k-1]][k-1];
52     while (T--)
53     {
54         int u,v;
55         scanf("%d%d",&u,&v);
56         printf("%d\n",LCA(u,v));
57     }
58     return 0;
59 }
私のLCAテンプレ
复制代码

只会倍增的我...

Day-39

NOIP 模拟赛Day1 难度20

文件文件引用 cstdio 库...T1 正解都没想出来太弱啊

目前的坑简单的模拟线段树dp文件.

Day-38

NOIP 模拟赛Day210

文件错误

目前新增的坑... 太多了...

Day-37

NOIp 模拟赛100

蜜汁 T1 没分long long 炸了

T2 是数据的锅当然手动拍了一下感觉没什么问题算法误判率在 1‰左右吧交上竟然 A

不过今天是数论专场 dalao AK100 分也不算高 50% 左右吧

希望明天 rp++不要出锅

最后还是因为⑨啊

Day-31

信息课上来打代码... 惨啊...

二区停课了... 我们为什么不停... 要死啊...

看看 LCA 什么的... 千万别出锅...

另外等着父亲的消息 2333... 实在不行先暂时通校鬼知道呢...

昨天去淄博逛了MUJI的店然而掉坑里去了...

晚上请假回家 LCA 的板子线段树什么的还需要复习一下感觉药丸

距 NOIp2017 还剩 31 天

Day-30

TM 昨天晚上十一点半睡觉 2333... 然而写了 6k + 代码感觉不错的说...

然而今天快困死了 TM...

住校也好不到哪里去据说...

快初赛了... 略紧张... 虽然知道是买试卷然而复赛并不有什么把握...

Day-29

今天是历史性的一天晚上成功申请下来停课了接下来的日子当然是要好好学习了后天将面临初赛RP++

Day-28

并没有停课还是回来吧明天初赛 2333. 开始背背板子吧

Day-19

gg... 还有 3 个周... 方方方...

Day-12

还有不到 2w终于停课了然而两天模拟 4 场考试完挂∑=180+0+40+40=260.

Day2 T1T2 都想到正解了然而写挂自己弱写挂怪谁

晚上还是好好整理一下吧

Day-10

还有 10d自己仍然什么都不会两天模拟赛∑=0+40+0+30=70

已经绝望了

Day-9

似乎今天被续了 1s加起来得分超过 Day-10+Day-11 两天的了

短期内水平可能不会有太多进步了吧

Day-5

昨天回家翻说说QBXT 校长王彪竟然没有看出来 glgjssy,qyhfbqz 这一句的含义蛤蛤蛤蛤蛤蛤

完蛋了自己还是什么都不会这几天打打板子然后好好整理一下

1111&&1112 那两天考试当然要抽时间把 Magical Mirai 2017 补完似乎今年 Vmoe 出片比较快

重写了线段树区间操作 47然而似乎还是没背过再看看树状数组

复制代码
const int maxn=2*1e7+10;//max node: 5*1e6
long long sum[maxn];//real
long long addv[maxn];//lazy-tag
long long c[maxn/4];
#define mid ((l+r)>>1)
#define lson (o<<1)
#define rson (lson|1)
inline void build(int o,int l,int r)
{
    addv[o]=0;
    if(l==r)sum[o]=c[l];
    else
    {
        build(lson,l,mid);
        build(rson,mid+1,r);
        sum[o]=sum[lson]+sum[rson];
    }
}
inline void push_down(int o,int l,int r)
{
    addv[lson]+=addv[o];
    addv[rson]+=addv[o];
    sum[lson]+=(mid-l+1)*addv[o];
    sum[rson]+=(r-mid)*addv[o];
    addv[o]=0;
}
inline void update(int o,int l,int r,int a,int b,int x)
{
    if(l>=a&&r<=b)
    {
        addv[o]+=x;
        sum[o]+=(r-l+1)*x;
        return;
    }
    if(addv[o])push_down(o,l,r);
    if(a<=mid)update(lson,l,mid,a,b,x);
    if(b>mid)update(rson,mid+1,r,a,b,x);
    sum[o]=sum[lson]+sum[rson];
}
inline long long query(int o,int l,int r,int a,int b)
{
    if(l>=a&&r<=b)return sum[o];
    long long ans=0;
    if(addv[o])push_down(o,l,r);
    if(a<=mid)ans+=query(lson,l,mid,a,b);
    if(b>mid)ans+=query(rson,mid+1,r,a,b);
    return ans;
}
复制代码

想想线段树还有哪些神奇的操作吧维护区间最大值最小值什么的也要写不会 ST 表可以这样水一下

Floyd 都不会了重新背一遍吧

二分的话前一段时间集训有一大堆整理一下总结一下套路吧

Day-4

今天去竞赛楼整理书乱七八糟的丢了一大堆东西都不知道放在哪里了rp--

下午找了一下竟然在船运传运办公室东西似乎没丢rp++.

重做 NOIp2016365感觉还好特别是临时补完复习了期望那些东西然后成功多得 100

考试的时候千万别忘记建子文件夹千万别忘记建子文件夹千万别忘记建子文件夹

随手写个 gcd 玩玩

复制代码
#include<cstdio>
using namespace std;
int a,b;
int gcd(int a,int b){return !b?a:gcd(b,a%b);}
int main()
{
    scanf("%d%d",&a,&b);
    printf("%d",gcd(a,b));
    return 0;
}
复制代码

线性筛素数

复制代码
#include<cstdio>
using namespace std;  
const int N=10000000+10;
bool flag[N];  
int prime[N];
inline void get_prime(int x)  
{
    flag[1]=1;
    int i,j,k=0; 
    for(i=2;i<=x;i++){//注意不能用小于号,否则会WASB!!!  
        if(!flag[i])                              
        prime[k++]=i;
        for(j=0;j<k&&i*prime[j]<=x;j++){//注意不能用小于号,否则会WASB!!!
            flag[i*prime[j]]=true;              
            if(i%prime[j]==0)               
                break;  
        }  
    }
}
int n,m,q;
int main()
{
    scanf("%d%d",&n,&m);
    get_prime(n);
    for(int i=0;i<m;i++)
    {
        scanf("%d",&q);
        printf(!flag[q]?"Yes\n":"No\n");
    }
    return 0;  
}
复制代码

换个背景玩玩全是蓝色基调的背景太难看了NOIp 后再调整一下博客吧

void exgcd(int a,int b,int &d,int &x,int &y)
{
    if(!b) {d=a;x=1;y=0;}
    else {gcd(b,a%b,d,y,x);y-=x*(a/b);}
}

当然如果您的浏览器版本不行的话背景什么的会死的很惨2333333

Day-3

绝望已经不知道自己在干什么了

二区的老师给我们各种压力明年有 5 个进队的 blahblah

TM 你们怎么不先去死

各种出锅各种不会矩阵是什么

调了一下午矩阵的东西不知道哪里错了

20

TM 考什么 NOIp 啊... 弃疗算了

回来第二天就要期中考试的概率不存在的

我到底在做什么

Day-2

 已经没救了模拟都会挂掉Orz...

Day-1

今天上午考的还可以200继续做课件了源代码 60K+已经没救了

晚上继续矩阵乘法WA SB... 原因竟是忽略了矩阵乘法不具有交换律

SB

矩阵快速幂乘法

复制代码
#include<cstdio>
#include<vector>
using namespace std;
typedef vector<long long> vec;
typedef vector<vec> matrix;
typedef long long ll;

long long p,q,a1,a2,n,m;

matrix operator *(const matrix &A,const matrix&B)
{
    matrix C(A.size(),vec(B[0].size()));
    for(int i=0;i<A.size();i++)
        for(int k=0;k<B.size();k++)
            for(int j=0;j<B[0].size();j++)
                C[i][j]=(C[i][j]+A[i][k]*B[k][j])%m;
    return C;
}
matrix pow(const matrix&A,ll n)
{
    matrix B(A.size(),vec(A.size()));
    for(int i=0;i<A.size();i++)
        B[i][i]=1;
    while(n)
    {
        if(n&1)B=B*A;
        A=A*A;
        n>>=1;
    }
    return B;
}
int main()
{
    scanf("%lld%lld%lld%lld%lld%lld",&p,&q,&a1,&a2,&n,&m);
    matrix A(2,vec(2));
    A[0][0]=p;A[0][1]=1;
    A[1][0]=q;A[1][1]=0;
    matrix B(1,vec(2));
    B[0][0]=a2,B[0][1]=a1;
    A=pow(A,n-2);
    A=B*A;
    printf("%lld\n",A[0][0]);
    return 0;
}
复制代码

Day0

 最后一天了还是什么都不会

Day1

T1这是什么题啊不送分了啊方方方5min 推出规律跟暴力拍哦漏拍一组挂一组是什么鬼啊gg改成暴力

T2模拟吧这是疯狂写写写

1h later...MMP 什么东西啊不过样例是什么鬼啊不写了开始调试

45min. laterMMP 还是不过样例啊完了完了

T3什么都不会完蛋了

回到 RZYZMMP 我准考证呢啊啊啊啊药丸药丸啊

吃晚饭的时候发现 xps 开不了机mmp关键时候掉链子啊在食堂重置电脑2333... 边充电边重置

晚上开始颓 Magical Marai 2017... 没电了就睡了

Day2

回到考场老师把准考证还给我了 2333...

T1三维计算几何不可做不可做读错题 flag随便骗骗分吧20 pts. get

T2Kruskal 重构树然后 DFS 计算深度乱搞不搞了最后那个数据结构题看起来比较可做啊先去看看

T3先写个暴力 30

15min. laterwoc... 为什么炸了... 开始调试

30min. later也太容易了吧随手过样例和大样例啊

35min. laterwoc... 这个暴力炸了 n m 不分啊这随机造的数据炸了啊

45min. later终于调完了考虑一下较高的暴力分吧

50min. later嗯... 可以用链表写一下 60 分吧

1.3h later链表写完了过了手造的样例60 分应该稳了

1.4h laterMMP 忘记删 if else所以刚才的链表实际上是个暴力删掉看看

1.5h later炸了炸了交暴力吧不调了

转回来做 T2此时距离考试结束还剩 40min.

随便写写吧反正是做不完了

35min. later写完了吧代码长度 1.7k+非正解啊啊啊啊不调了心态爆炸

颓吧

11.15

清北数据成绩100+0+0+0+0+30=130

洛谷数据成绩100+10+0+20+0+30=160

学军数据成绩100+0+0+0+0+30=130

完美挂掉

posted @   baka  阅读 (815)  评论 (2编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC 压缩 (compact_phase) 底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13 新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的 API 服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解 Mybatis 分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示