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

2025年11月22日训练赛

F1. Cycling (Easy Version)

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define int long longconst int N=5010;
int n;int a[N];int f[N];
void solve(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++)f[i]=INF;
f[0]=0;
for(int i=1;i<=n;i++){int mx=i;for(int j=i;j>=1;j--){if(a[j]<a[mx])mx=j;f[i]=min(f[i],f[j-1]+i-mx+i-j+a[mx]*(i-j+1));}
}
cout<<f[n]<<'\n';}
signed main(){std::ios::sync_with_stdio(false);int T=1;cin>>T;while(T--){solve();}
}

B. Gellyfish and Baby's Breath

签到

cf786B B. Legacy

线段树优化建图板子
线段树的结点作为图的点,建树,出树儿子向父亲,入树父亲向儿子。两树的叶子结点相连

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f#define int long longconst int N = 100010;
int n, q, s; int lf[N];
vector<pii> G[2 * 4 *N];
int d[2 * 4 * N];
struct Tree{int l,r;
}tr[4*N];
void bui(int u, int l, int r){tr[u] = {l, r};if(l == r){lf[l] = u;//存叶子return ;}//出树,儿子向父亲G[u * 2 + 4 * n].pb({u + 4 * n, 0});G[u * 2 + 1 + 4 * n].pb({u + 4 * n,0});//入树,父亲向儿子G[u].pb({u * 2, 0});G[u].pb({u * 2 + 1, 0});int mid = (l + r) >> 1;bui(u*2, l, mid);bui(u*2 + 1, mid + 1, r);
}void query(int u, int x, int y, int v, int w, int rev){if(x <= tr[u].l && tr[u].r <= y){//出树向入树if(rev == 0) G[v + 4*n].pb({u, w});else G[u + 4*n].pb({v,w});return ;}int mid = (tr[u].l + tr[u].r) >> 1;if(x <= mid) query(u << 1, x, y, v, w, rev);if(y >= mid + 1)query(u << 1 | 1, x, y, v, w, rev);
}void dijk(){priority_queue<pii, vector<pii>, greater<pii> > pq;for(int i = 1; i <= 4*n + 4*n; i ++) d[i] = INF;d[lf[s]] = 0; pq.push({0, lf[s]});while(!pq.empty()){auto [_, u] = pq.top(); pq.pop();for(auto [v,w] : G[u]){if(d[v] > d[u] + w){d[v] = d[u] + w;pq.push({d[v], v});}}}}void solve(){cin >> n >> q >> s;bui(1, 1, n);for(int i = 1; i <= n; i ++){G[lf[i]].pb({lf[i] + 4*n, 0});G[lf[i] + 4*n].pb({lf[i], 0});}while(q --){int op; cin >> op;if(op == 1){int v, u, w; cin >> v >> u >> w;G[lf[v]].pb({lf[u], w});}else if(op == 2){int v, l, r, w; cin >> v >> l >> r >> w;query(1, l, r, lf[v], w, 0); }else {int v, l, r, w; cin >> v >> l >> r >> w;query(1, l, r, lf[v], w, 1);}}dijk();for(int i = 1; i <= n; i ++){if(d[lf[i]] > INF / 2) cout << -1 << ' ';else cout << d[lf[i]] << ' ';} cout << '\n';}
signed main(){std::ios::sync_with_stdio(false);int T = 1; // cin >> T;while(T--){solve();}
}
http://www.rkmt.cn/news/57556.html

相关文章:

  • Linux命令绕过 - 教程
  • MyBatis Flex 讲解使用
  • 一种自定义二维码的加码、解码、识别和绘制算法的逆向和重构
  • 浅谈最近星某克被指追杀式营销的技术实现方式和商业价值利弊
  • 数据库常用编码和压缩算法介绍
  • hive sql开发有啥优势
  • 完整教程:《工业之心:Blender 工业场景解构》
  • 深入解析:pip 的包下载之后存放在哪?
  • 图书馆管理系统需求改进和系统设计
  • docker compose插件安装
  • 多机elasticsearch集群部署,超详细教程
  • DeepSeek 提取 交易所网站核心500词汇(名词与术语)
  • 2025年布袋除尘器供应商权威推荐榜单:塑烧板除尘器/耐高温除尘器/防爆除尘器源头厂家精选
  • 创建矩形并让矩形移动
  • 2025年稳定土搅拌站供应商权威推荐榜单:搅拌站回收/二手稳定土搅拌站/二手混凝土土搅拌站源头厂家精选
  • 从组件的角度梳理微服务技术栈(1)
  • 树的直径、重心、中心 学习笔记
  • 深入解析:带你了解STM32:WDG看门狗
  • FastAPI docker demo
  • 2025年铁氟龙膜源头厂家权威推荐榜单:特氟龙膜/PTFE膜/聚四氟乙烯膜源头厂家精选
  • 我的代码入选GitHub北极代码库
  • 兰州市一对一培训机构推荐,2026年最新课外辅导补习机构口碑深度测评排名榜
  • 《算法通关指南数据结构和算法篇(3)--- 栈和stack》 - 教程
  • 实验三 类和对象_基础编程2
  • Ansible自动化运维:从入门到精通 - 详解
  • 配置SSH密钥统一推送Github和Gitee
  • 2025 最新网袋厂家实力推荐排行榜:全品类定制方案 + 前沿技术应用深度盘点,采购必看水果/尼龙/大葱/白菜/椰枣/水产/地瓜网袋公司推荐
  • 2026凉山州一对一家教机构推荐,五大辅导机构口碑排名已更新,附本地家长真实反馈评价!
  • 2025年景观绿雕植物源头厂家权威推荐榜单:植物雕塑/景观雕塑/仿真绿雕源头供应商精选
  • 2025 最新淮北外科医院推荐!外科医院口碑排行榜权威发布,二级医院资质 + 100 张床位,实力之选全解析