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

3.23 总结

3.23 总结

T1

什么宝宝题/bangbangt 。

题面有点抽象,但其实就是找到价格最小的然后再乘上一个 \(1000\) 就行了。

#include <bits/stdc++.h>
using ll = long long;
#define f first
#define s second
const int inf = (1 << 30) - 1;
const ll INF = 1ll << 62;const int N = 110;
struct node {double x, y, p;
}a[N];
double mi = 1e18;
int n;int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr), std::cout.tie(nullptr);std::cin >> a[0].x >> a[0].y, a[0].p = a[0].x / a[0].y, mi = std::min(mi, a[0].p);std::cin >> n;for (int i = 1; i <= n; i++) std::cin >> a[i].x >> a[i].y, a[i].p = a[i].x / a[i].y, mi = std::min(mi, a[i].p);std::cout << std::fixed << std::setprecision(2) << mi * 1000. << '\n';//
}

笑点:我旁边的老哥因为不会 double 输出导致 T1 没做出来。

T2

也是挺简单。

就是模拟一下,然后再对于边界取 \(\max/\min\) ,然后输出。

一个小trick:对于这种边界不确定的题,倒着存往往比正着存简单。

#include <bits/stdc++.h>
using ll = long long;
#define f first
#define s second
const int inf = (1 << 30) - 1;
const ll INF = 1ll << 62;const int N = 110;
int n, mx = -inf, mi = inf;
std::string s;
struct Map{char a[N * 2];char &operator [] (int pos) {mx = std::max(pos, mx), mi = std::min(pos, mi);return a[pos + 100];}
} map[N];int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr), std::cout.tie(nullptr);std::cin >> n >> s;int now = 0;for (int i = 0; i < n; ++i) {if (s[i] == '+') map[i][now++] = '/';else if (s[i] == '-') map[i][--now] = '\\';else map[i][now] = '_';}for (int i = mx; i >= mi; i--) for (int j = 0; j < n; ++j) {std::cout << (map[j][i] ? map[j][i] : '.');if (j == n - 1) std::cout << '\n';}
} 

PS:赛时造了一个全是加的数据,看完感觉自己能当上顶富了。

T3

就是二维BFS板子再加上一维,几分钟秒了。

第三题放这题是hyw。

#include <bits/stdc++.h>
using ll = long long;
#define f first
#define s second
const int inf = (1 << 30) - 1;
const ll INF = 1ll << 62;const int N = 110;
const int dx[6] = {1, -1, 0, 0, 0, 0};
const int dy[6] = {0, 0, 1, -1, 0, 0};
const int dz[6] = {0, 0, 0, 0, 1, -1};
struct node {int x, y, z;
};
bool vis[N][N][N];
int n, sx, sy, sz, tx, ty, tz, map[N][N][N], dis[N][N][N];
std::queue<node> q;int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr), std::cout.tie(nullptr);std::cin >> n >> sx >> sy >> sz >> tx >> ty >> tz;for (int z = 1; z <= n; z++) for (int x = 1; x <= n; x++) {std::string s;std::cin >> s, s = ' ' + s;for (int y = 1; y <= n; y++) map[x][y][z] = s[y] - '0';}for (int x = 1; x <= n; x++) for (int y = 1; y <= n; y++) for (int z = 1; z <= n; z++) dis[x][y][z] = inf;dis[sx][sy][sz] = 0;q.push({sx, sy, sz});while (!q.empty()) {node u = q.front();q.pop();if (vis[u.x][u.y][u.z]) continue;vis[u.x][u.y][u.z] = true;for (int i = 0; i < 6; i++) {int nx = u.x + dx[i], ny = u.y + dy[i], nz = u.z + dz[i];if (nx < 1 || ny < 1 || nz < 1 || nx > n || ny > n || nz > n || map[nx][ny][nz]) continue;if (dis[nx][ny][nz] > dis[u.x][u.y][u.z] + 1) {dis[nx][ny][nz] = dis[u.x][u.y][u.z] + 1;q.push({nx, ny, nz});}}}std::cout << (dis[tx][ty][tz] == inf ? -1 : dis[tx][ty][tz]) << '\n';
}

T4

总感觉之前在雅礼考试做过类似的,但是好像暂时我知道的除了我和小胖,好像其他人都没印象。

总之那道题好像就也是每个学生什么时候来,什么时候走,然后有老师上课,然后还有一些其他的。

那题的做法就是按学生什么时候来排序,然后用优先队列维护学生什么时候走,然后再来一些操作。

简直跟这题有80%的相似处。

而这题做法也很简单,就是按学生什么时候来排序,然后用优先队列维护学生什么时候走,然后如果有 k 个学生就将当前最后来的和最先走到做个差值。

#include <bits/stdc++.h>
using ll = long long;
#define f first
#define s second
const int inf = (1 << 30) - 1;
const ll INF = 1ll << 62;const int N = 3e5 + 10;
int n, k;
ll ans;
std::pair<ll, ll> a[N];
std::priority_queue<ll, std::vector<ll>, std::greater<ll>> q;int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr), std::cout.tie(nullptr);std::cin >> n >> k;for (int i = 1; i <= n; i++) std::cin >> a[i].f >> a[i].s;std::sort(a + 1, a + n + 1);for (int i = 1; i <= n; i++) {q.push(a[i].s);if ((int)q.size() > k) q.pop();if ((int)q.size() == k && q.top() > a[i].f) ans = std::max(ans, q.top() - a[i].f);}std::cout << ans << '\n';
}
http://www.jsqmd.com/news/524734/

相关文章:

  • 别再傻傻用sleep了!Qt开发中QTimer实现非阻塞延时的3个实战场景
  • 2026年 电容器厂家实力推荐榜:电力/并联/滤波/SVG无功补偿电容器专业品牌深度解析 - 品牌企业推荐师(官方)
  • Rockchip RK3588 Android13 USB 2.0调试实战:从原理图到DTS配置完整流程
  • 洛谷P1219八皇后题解
  • 20251222 2026-2027-2 《Python程序设计》实验1报告
  • 一文学习 Spring 声明式事务源码全流程总结
  • Ubuntu系统崩溃排查指南:深入解析关键日志文件
  • 别再手动改配置了!用PowerCLI批量管理ESXi主机NTP设置
  • 工业去离子水采购品牌指南:去离子水批发/工业去离子水采购/工业脱盐水/工业超纯水价格/工业超纯水批发/工业软水/选择指南 - 优质品牌商家
  • 保姆级教程:在Ubuntu 22.04上为ARM板卡交叉编译wireless_tools 29(附补丁和Makefile修改)
  • 你的论文是“人写的”吗?百考通AIGC检测工具,让AI生成内容无所遁形
  • Java音频处理实战:从DFT到FFT的算法实现与频谱可视化
  • 基于springboot特产销售购物平台设计与开发(源码+精品论文+答辩PPT等资料)
  • 告别环境配置烦恼:5分钟用Docker在Linux上跑起人大金仓V9数据库
  • 从零实现PUMA560机械臂运动学正解:基于改进DH建模的Matlab实战解析
  • 视觉提示工程新范式:用SAM模型实现5分钟精准图像分割(附Colab教程)
  • 2026年 三菱GOT触摸屏厂家推荐排行榜:GOT3000/GOT2000/GOT16/GOT15/GOT12/GOT11/GOT10/GS系列工业设备触摸屏品牌深度解析 - 品牌企业推荐师(官方)
  • ESP32-S3 AT指令避坑指南:如何优化HTTP图片上传速度(实测16kb/s提升技巧)
  • ESP8266玩转LED:从硬件连接到代码调试的完整指南(附常见问题排查)
  • 跟我学UDS(ISO14229) ———— NRC码实战解析与避坑指南
  • 告别等待!用vLLM的AsyncLLM引擎实现实时AI对话流式输出(Python异步编程实战)
  • LaTeX绘制点云处理神经网络架构图:从TikZ基础到高级技巧
  • 实战指南:基于Keil MDK的华大HC32F460 DDL库工程搭建全解析
  • 避坑指南:Maya polyToCurve命令的5个隐藏限制及替代方案
  • 为什么树叶在红外图像里总比杯子‘冷‘?一文搞懂材料发射率的视觉骗局
  • 用Grover算法实战优化电商推荐系统:量子计算在NISQ时代的真实案例
  • 基于ECMS控制策略的燃料电池能量管理仿真文件
  • 保姆级教程:在PX4飞控上为你的机器人底盘编写第一个CAN控制程序
  • 【收藏级实战】一周搞定研发平台 Agent 接入!TQL 专属 Agent 开发全攻略(附源码思路)
  • 不用ViewModelLocator?Prism自动绑定还能这样玩(实战演示)