会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
🎵 播放音乐
Ben`s code
算法学习の日常
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
20
21
22
23
24
25
26
27
28
···
37
下一页
2025年3月13日
前缀树板子
摘要: 记得每次输入样例时都要清空数组 此板子适用于求输入的字符串s有多少个(标准) struct trie{ int ch[maxn][80],cnt[maxn],idx; void build(){ for(int i=0;i<=idx;i++){ for(int j=0;j<79;j++){ ch[i
阅读全文
posted @ 2025-03-13 18:55 Marinaco
阅读(9)
评论(0)
推荐(0)
2025年3月12日
树链剖分求LCA板子
摘要: 时间复杂度O(n+mlogn) vector<int>e[maxn]; int fa[maxn],dep[maxn],son[maxn],sz[maxn]; // 存u的父节点,存u的深度,存u的重儿子,存以u为根的子树的节点数 int top[maxn]; // 存u所在重链的顶点 void df
阅读全文
posted @ 2025-03-12 20:34 Marinaco
阅读(6)
评论(0)
推荐(0)
Tarjan算法求LCA板子
摘要: 离线算法:适用于无向图,(query建无向边) 利用并查集+DFS 时间复杂度O(n+m) vector<int>e[maxn]; vector<pii>query[maxn]; int fa[maxn],vis[maxn],ans[maxn]; int find(int u){ if(u==fa[
阅读全文
posted @ 2025-03-12 20:03 Marinaco
阅读(13)
评论(0)
推荐(0)
F - Rotated Inversions
摘要: 题目链接:https://atcoder.jp/contests/abc396/tasks/abc396_f 题意: 给定一个序列A,构造m个序列B,其中第i个序列第j个值为Bj= (Aj + i-1) %m 询问每个Bj的逆序对数目 思路: 由于模了m,所以一开始的序列每个元素的大小在[0,m-1
阅读全文
posted @ 2025-03-12 19:20 Marinaco
阅读(43)
评论(0)
推荐(0)
删数问题
摘要: 题目链接:https://www.luogu.com.cn/discuss?forum=P1106 题意: 给定一个长整数,删去其中k个数,使最终的数最小 思路: 发现从左至右,如果一个数大于后面相邻的那一个数,则贪心地想将这个数删掉会使答案更优 删除某个数可以用字符串函数 s.erase(i,1)
阅读全文
posted @ 2025-03-12 15:56 Marinaco
阅读(32)
评论(0)
推荐(0)
2025年3月11日
5590. 沿栅栏散步
摘要: 题目链接:https://www.acwing.com/problem/content/description/5593/ 题意: 在一个直正多边形中,快速求出其上一点到另一点的距离 思路: 另g[i][j] 为 i,j 这个点到达初始点的距离 那么其上两点的内距离(不经过初始点的距离)dist=
阅读全文
posted @ 2025-03-11 21:28 Marinaco
阅读(12)
评论(0)
推荐(0)
2025年3月10日
E-min of restricted sum
摘要: 题目链接:https://atcoder.jp/contests/abc396/tasks/abc396_e 题意: 给定x,y,z序列要求构造一个a序列使a[xi]^a[yi]=z[i]对于每个i都成立且a的元素相加尽量小 思路: 将每个xi和yi当作两个结点,在两者间构建无向边,权值为zi 那么
阅读全文
posted @ 2025-03-10 17:07 Marinaco
阅读(86)
评论(0)
推荐(0)
2025年3月9日
选数
摘要: 题目链接:https://www.luogu.com.cn/problem/P1036 void dfs(int n,int k,int cnt,int i,int res) { if(cnt==k){ bool ok=true; for(int i=2;i*i<=res;i++){ if(res%
阅读全文
posted @ 2025-03-09 19:59 Marinaco
阅读(42)
评论(0)
推荐(0)
子集生成(位运算版本)
摘要: 生成子集 将是否选取记为0/1,那么组合的方案可以转化为一个二进制数 共有2^n个方案数 for(int i=0;i<(1<<n);i++){//i代表选取的方案 //初始化 for(int k=0;k<n;k++){//(1<<k从右往左匹配) if(i&(1<<k)){//选到第n-k个数,(从
阅读全文
posted @ 2025-03-09 19:31 Marinaco
阅读(11)
评论(0)
推荐(0)
营业额统计
摘要: 题目链接:https://www.luogu.com.cn/problem/P2234 题意:略 思路: 可以用set二分来做,在线插入元素,对set进行lower_bound查找插入的元素 如果没找到说明插入的元素比之前的都大,直接abs(x-big) 如果找到,要看看两侧的哪个差值与插入的元素小
阅读全文
posted @ 2025-03-09 18:40 Marinaco
阅读(13)
评论(0)
推荐(0)
上一页
1
···
20
21
22
23
24
25
26
27
28
···
37
下一页
公告
//雪花飘落效果