摘要: 时间复杂度O(nm) vector<int>e[maxn]; int match[maxn]; int ans; int vis[maxn]; set<pii>st; bool dfs(int u){ for(int v:e[u]){ if(vis[v])continue; vis[v]=1; if 阅读全文
posted @ 2025-03-16 17:42 Marinaco 阅读(16) 评论(0) 推荐(0)
摘要: 集合A的点染色成1,集合B的点染色成2 注意dfs返回bool vector<int>e[maxn]; int color[maxn]; bool dfs(int u,int res){ color[u]=res; for(int v:e[u]){ if(!color[v]){ if(dfs(v,3 阅读全文
posted @ 2025-03-16 17:07 Marinaco 阅读(7) 评论(0) 推荐(0)
摘要: 用于查找主串中有多少个模式串 int ne[maxn];//存节点u回跳边的节点 int ch[maxn][80],cnt[maxn],idx; void buildtrie(){ for(int i=0;i<=idx;i++){ for(int j=0;j<79;j++){ ch[i][j]=0; 阅读全文
posted @ 2025-03-16 16:34 Marinaco 阅读(10) 评论(0) 推荐(0)
摘要: 题目链接:https://www.luogu.com.cn/problem/P1196 题意: 两种操作:M i j 表示将i所在战舰组移动到j所在战舰组后面 C i j 查询i,j之间的战舰数量 思路: 带权并查集,分别开两个数组siz[i],dist[i]记录战舰组战舰数量和战舰到战舰头的距离 阅读全文
posted @ 2025-03-16 15:09 Marinaco 阅读(17) 评论(0) 推荐(0)
摘要: 题目链接:https://atcoder.jp/contests/abc383/tasks/abc383_d 题意: 找出不大于n的具有9个因子的数 思路: 有因数分解定理:x需要满足:x=p1*p1*p2*p2 或者 x=pow(p1,8) 筛出根号n以内的素数,组合得出答案 要注意整数过大溢出 阅读全文
posted @ 2025-03-16 09:39 Marinaco 阅读(18) 评论(0) 推荐(0)
//雪花飘落效果