当前位置: 首页 > news >正文

noip板子

倍增法lca

const int N = 500010;
int n, m, s;
vector<int> g[N];
void addeg(int u, int v) {g[u].push_back(v);g[v].push_back(u);
}int d[N], anc[N][25];
void dfs(int u, int fa) {d[u] = d[fa] + 1;for (int i : g[u]) {if (i == fa) continue;anc[i][0] = u;dfs(i, u);}
}
void initlca() {for (int i = 1; i <= 21; ++i) {for (int j = 1; j <= n; ++j) {anc[j][i] = anc[anc[j][i-1]][i-1];}}
}
int qry(int u, int v) {if (d[u] < d[v]) swap(u, v);for (int i = 21; i >= 0; i --) {if (d[anc[u][i]] >= d[v]) {u = anc[u][i];}}if (v == u) return v;for (int i = 21; i >= 0; i --) {if (anc[v][i] != anc[u][i]){v = anc[v][i];u = anc[u][i];}}return anc[u][0];
}

Kruakal求最小生成树

const int N = 5010, M = 200010;
struct eg {int u, v, w;
} es[M];
bool cmp(eg a, eg b) {return a.w < b.w;}
int f[N], n, m;
int find(int x) {return f[x] == x ? x : f[x] = find(f[x]);
}
int cnt, ans;
void kruskal() {sort(es+1, es+m+1, cmp);for (int i = 1; i <= m; i ++) {int u = find(es[i].u), v = find(es[i].v);if (u == v) continue;ans += es[i].w;f[u] = v;cnt++;}
}

Dijkstra

const int N = 100010;
struct nd {int u, dis;bool operator<(const nd &a) const {return dis > a.dis;}
};
struct eg {int v, w;
};
priority_queue<nd> q;
vector<eg> g[N];
int n, m, dis[N], s;
bool vis[N];
void addeg(int u, int v, int w) {g[u].push_back((eg){v, w});
}
void dij(){fill(dis+1, dis+n+1, INT_MAX);dis[s] = 0;q.push((nd){s, 0});while (!q.empty()) {nd now = q.top(); q.pop();if (vis[now.u]) continue;vis[now.u] = 1;for (eg i : g[now.u]) {if (dis[i.v] > (i64)dis[now.u] + i.w) {dis[i.v] = dis[now.u] + i.w;q.push((nd){i.v, dis[i.v]});}}}
}
http://www.gsyq.cn/news/64415.html

相关文章:

  • Linux_Socket_浅谈UDP - 教程
  • Jetlinks 物联网平台 开源版学习源码分析
  • Tita CRM一体化平台:破解销售管理五大痛点,实现业绩可持续增长
  • NOIP 算法合集
  • 使用cnpm(中国镜像源的npm客户端)来安装electron
  • 2025年11月中国电动叉车销售公司推荐榜单:主流品牌综合对比分析
  • 详细介绍:Qt样式深度解析
  • 替代模型简化复杂物理仿真任务
  • NOIP day -1 笔记
  • 2025-11-28 用前端react的架构来类比 NestJS 的各个部分(deepseek)
  • 【Microsoft Learn】Microsoft Azure 服务 - 教程
  • Spring AI 代码分析(十)--Spring Boot集成
  • WSL 迁移发行版位置
  • 详细介绍:Web安全深度实战:从漏洞挖掘到安全防护
  • 敬请人(自己)采/警示后人(自己)合辑
  • 使用RecyclerView.ItemDecoration自定义RecyclerView圆角滚动条
  • 技术分析:越南部分银行 App 不当使用 iOS 私有 API
  • Windows Docker 安装 RabbitMQ(包含客户端图形界面) - Higurashi
  • 《R语言医学数据分析实战》学习记录|第三章 数据框的操作
  • 软件工程学习日志2025.11.28
  • 漏洞赏金猎人的深度侦察方法论 | 第一部分
  • 2025年11月晶振厂家推荐:权威榜单与选择指南
  • 2025年11月晶振厂家推荐榜单:知名品牌综合对比与选购指南
  • Day49(19)-F:\硕士阶段\Java\课程代码\后端\web-ai-code\web-ai-project02\tlias-web-management
  • 人工智能:用Gemini3一分钟生成手势控制3D粒子交互系统
  • 酶蛋白定向进化难题?泰克生物酵母展示服务,高效筛选“高活性酶”突变体
  • 上两个GPT写的锁,一个是文件锁,一个是Redis锁,写的那是相当的完美
  • 11月27号
  • 了解MySQL中的JSON_ARRAYAGG和JSON_OBJECT函数
  • 2025全年套管、绝缘套管、热收缩套管、热缩套管、热缩管厂家综合推荐与选购指南