随笔分类 - Luogu
摘要:没什么特殊的,与以前的相比会条理一些吧。 1 #include<bits/stdc++.h> 2 #define rep(i,a,n) for(register int i = a;i <= n;++i) 3 #define per(i,n,a) for(register int i = n;i <
阅读全文
摘要:数据合并的LCA,写的时间不算太长,查错查了好久,出现的问题有: 1.jph与jpg手误打错 2.双向边只加了一遍 代码: 1 #include<cstdio> 2 #include<cstring> 3 #include<cstdlib> 4 #include<algorithm> 5 #incl
阅读全文
摘要:如题 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<queue> 5 #define rep(i,a,n) for(register int i = a;i <= n;++i) 6 using names
阅读全文
摘要:诡异而冗长的名字下一般没什么难题 坐标的本质是与原点的相对位置关系,所以改变全部坐标只要改变坐标系就好了。
阅读全文
摘要:可能这是一类题目吧,这道题比较典型,可以当作模板。 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 5 const int Maxn = 30030; 6 7 int fa[Maxn],d[Maxn],size[Max
阅读全文
摘要:分别预处理每行每列前缀合,然后枚举两顶点坐标即可。读取线段上值时要注意去重! 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 5 const int Maxn = 110; 6 int xs[Maxn][Maxn],y
阅读全文
摘要:这道题被我秒了是我太强了还是这道题太水了 苹果在树枝上,然后用子树更新节点的f数组即可。 code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<vector> 5 using namespace std
阅读全文
摘要:题目背景 东方CannonBall(译名东方大炮弹)是近期发布的第一款获得ZUN授权的商业东方二次创作手机游戏,游戏关卡中玩家在类似大富翁的棋盘上与CPU或是玩家进行对战。 东方CannonBall(译名东方大炮弹)是近期发布的第一款获得ZUN授权的商业东方二次创作手机游戏,游戏关卡中玩家在类似大富
阅读全文
摘要:模板,注意有个地方打错好多次了: for(int j = 0;j < scc[i].size();j++)——是j++不是i++!!! 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<vector> 5 u
阅读全文
摘要:第一遍不太熟,第二遍飞快地打出来了 算是tarjan模板了吧,几天了也总算是有一点对tarjan求法过程的理解了。 if(!dfn[u])tarjan(u),low[x] = min(low[x],low[u]);//如果没有访问过u,则tarjan一下,如果u走出去搞到的low更小则用这个更新x的
阅读全文
摘要:如题,非常巧妙的一道图论*倍增,n <= 50 所以可以用高复杂度的Floyd搞。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 5 using namespace std; 6 7 int ans = (1<<31)-1
阅读全文
摘要:如题 1 #include<iostream> 2 #include<algorithm> 3 #include<cstring> 4 #include<queue> 5 #include<vector> 6 #include<cstdio> 7 using namespace std; 8 9 c
阅读全文
摘要:lca的倍增策略不仅可以维护最近公共祖先,还可以维护其他具有区间可维护性的信息,例如本题中维护的最小限重。 本题调了好久,最后发现原因是数组用混了。以后一定要记准各个数组含义,千万不要混啊。。。 1 #include<iostream> 2 #include<cstdio> 3 #include<c
阅读全文
摘要:f[root][能覆盖向上几层-2] = 需要消防站数 转移过程很巧妙,38行这一句加上以后:10-〉100 for(int i = 3;i >= 0;i--)f[s][i] = min(f[s][i],f[s][i+1]); 作用:维护最优性。(i guess) 1 #include<iostre
阅读全文
摘要:并查集模板题。对于敌对关系有两种解决方案, 一是另开一个数组存敌人,这个数组无需预处理但是处理关系时需要特判,小心与0的合并; 还有一种巧妙的办法是把fa[]数组开两倍空间,fa[i]的敌人设为fa[i+n],需要预处理然而处理关系时直接合并就行了。 code:
阅读全文
摘要:扫描线板子题。注意两倍数组(不太清楚原理) 一位大佬的博客:https://blog.csdn.net/qq_38786088/article/details/78633478,讲的太好了。
阅读全文
摘要:数据好强啊,但是感觉我第二次写的应该是哪里出了问题? 27分代码(wa了好多点但是没有t): ac代码:
阅读全文
摘要:我代码能力可能有一定的了,要不然不能一遍写出来吧。。 要注意无解的处理!
阅读全文
摘要:原来其他hash与字符串hash不一样啊。。。 数组根本不用开那么大,够用就行了啊。。 实践是检验真理的唯一标准。。。 Luogu P4305不重复数字(板子)
阅读全文

浙公网安备 33010602011771号