尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

2025年11月22日训练赛

2025年11月22日训练赛
📅 发布时间:2026/6/20 11:19:59

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();}
}

相关新闻

  • Linux命令绕过 - 教程
  • MyBatis Flex 讲解使用
  • 一种自定义二维码的加码、解码、识别和绘制算法的逆向和重构

最新新闻

  • 2026 济南 家庭除四害专业服务商推荐 - 优质品牌推荐商
  • Mermaid.js数据可视化架构解析:饼图与柱状图的技术实现与应用
  • 2026年6月北京黄金回收店行业评测报告 究竟怎么选正规的黄金回收店? - 薛定谔的梨花猫
  • 180. 碾压GAN/VAE!一文讲清DDPM前向加噪与反向去噪,完整可运行代码+实战排错
  • 2026 阜阳上班族突围:不愿线下课堂打卡,电大中专全程线上考核毕业新规 - cc江江
  • 20254226黄婉婷实验四源代码

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号