2025CSP-S模拟赛51

news/2025/9/24 20:15:20/文章来源:https://www.cnblogs.com/zsk123qwq/p/19109888

2025CSP-S模拟赛51

T1 T2 T3 T4
30 TLE 18 WA 54 TLE -

总分:102;排名:19/24。

打得很唐氏。T1 挂了 70 分,T2 本可以做出来的,没调出来。

T1 算术

考虑对原式进行变形(省略过程):

\[\left\{\begin{align*} & a_i \le \frac{a_j}{a_j-1}\land a_j>1 \\ & a_j=1\\ & a_i \le \frac{a_j}{1-a_j} \land a_j<1 \end{align*}\right. \]

然后不难发现这个 \(\frac{a_j}{a_j-1}\) 的值就是 \(1\)(差不多就是)。然后 \(O(n)\) 去跑就行了。考试时比较唐氏,只推导到了上面的式子,写了线段树,然后被卡常了。经过卡常是可以通过的。

#include <bits/stdc++.h>
#define il inlineusing namespace std;const int bufsz = 1 << 20;
char ibuf[bufsz], *p1 = ibuf, *p2 = ibuf;
#define getchar() (p1 == p2 && (p2 = (p1 = ibuf) + fread(ibuf, 1, bufsz, stdin), p1 == p2) ? EOF : *p1++)
il int read() {int x = 0; char ch = getchar(); bool t = 0;while (ch < '0' || ch > '9') {t ^= ch == '-'; ch = getchar();}while (ch >= '0' && ch <= '9') {x = (x << 1) + (x << 3) + (ch ^ 48); ch = getchar();}return t ? -x : x;
}
bool Beg;
const int maxm = 1e9;
const int N = 1e6 + 10;
int n, a[N];
int root;
int ll[N * 20], rr[N * 20];
long long s[N * 20];
int tot;
#define lc ll[p]
#define rc rr[p]
#define mid ((l + r) >> 1)
il void update(int &p, int l, int r, int x) {if (!p) p = ++tot;s[p]++;if (l == r) return;if (x <= mid) update(lc, l, mid, x);else update(rc, mid + 1, r, x);
}
int query(int p, int l, int r, int x, int y) {if (!p) return 0;if (l == x && y == r) return s[p];if (y <= mid) return query(lc, l, mid, x, y);else if (x > mid) return query(rc, mid + 1, r, x, y);else return query(lc, l, mid, x, mid) + query(rc, mid + 1, r, mid + 1, y);
}
bool End;
il void Usd() {cerr << "\nUsed: " << (&Beg - &End) / 1024.0 / 1024.0 << "MB " << (double)clock() * 1000.0 / CLOCKS_PER_SEC << "ms\n";}
signed main() {n = read();for (int i = 1; i <= n; i++) {a[i] = read();}long long ans = 0;for (int i = 1; i <= n; i++) {if (a[i] - 1 == 0) {ans += i - 1;} else if (a[i] - 1 > 0) {ans += query(root, -maxm, maxm, -maxm, (int)ceil(1.0 * a[i] / (a[i] - 1)) - 1);} else {ans += query(root, -maxm, maxm, (int)floor(1.0 * a[i] / (a[i] - 1)) + 1, maxm);}update(root, -maxm, maxm, a[i]);}printf("%lld\n", ans);Usd();return 0;
}

T2 刷墙

考场上基本写出来了。

区间 dp。\(f_{i,j}\) 表示 \([i,j]\) 米,只用完全包含在这个区间内的刷子,的最大颜色。转移很简单,无非是:

  1. 直接继承子区间。
  2. 从一个子区间向外扩展一种颜色。
  3. 两个子区间中间通过一种颜色链接。
#include <bits/stdc++.h>
#define il inlineusing namespace std;const int bufsz = 1 << 20;
char ibuf[bufsz], *p1 = ibuf, *p2 = ibuf;
#define getchar() (p1 == p2 && (p2 = (p1 = ibuf) + fread(ibuf, 1, bufsz, stdin), p1 == p2) ? EOF : *p1++)
il int read() {int x = 0; char ch = getchar(); bool t = 0;while (ch < '0' || ch > '9') {t ^= ch == '-'; ch = getchar();}while (ch >= '0' && ch <= '9') {x = (x << 1) + (x << 3) + (ch ^ 48); ch = getchar();}return t ? -x : x;
}
bool Beg;
const int INF = 0x3f3f3f3f;
const int N = 600 + 10;
int n;
struct node {int l, r;
} a[N];
int ll[N], tot, L;
int f[N][N];
struct ST {int mn[N][15], Log2[N];il void init() {for (int i = 2; i <= L; i++) Log2[i] = Log2[i / 2] + 1;for (int i = 1; i <= L; i++) mn[i][0] = INF;}il void init1() {for (int j = 1; j <= Log2[L]; j++) {for (int i = 1; i + (1 << j) - 1 <= L; i++) {mn[i][j] = min(mn[i][j - 1], mn[i + (1 << (j - 1))][j - 1]);}}}il int query(int l, int r) {int s = Log2[r - l + 1];return min(mn[l][s], mn[r - (1 << s) + 1][s]);}
} st[N];
il bool cmp(int x, int y) {return a[x].l != a[y].l ? a[x].l < a[y].l : a[x].r < a[y].r;
}
bool End;
il void Usd() {cerr << "\nUsed: " << (&Beg - &End) / 1024.0 / 1024.0 << "MB " << (double)clock() * 1000.0 / CLOCKS_PER_SEC << "ms\n";}
int main() {n = read();for (int i = 1; i <= n; i++) {int l = read() + 1, r = read();a[i] = {l, r};ll[++tot] = l;ll[++tot] = r;}sort(ll + 1, ll + 1 + tot);L = unique(ll + 1, ll + 1 + tot) - ll - 1;int mn = 2;for (int i = 1; i <= n; i++) {a[i].l = lower_bound(ll + 1, ll + 1 + L, a[i].l) - ll;a[i].r = lower_bound(ll + 1, ll + 1 + L, a[i].r) - ll;f[a[i].l][a[i].r] = 1;mn = min(mn, a[i].r - a[i].l + 1);}for (int i = 1; i <= L; i++) {st[i].init();for (int j = 1; j <= n; j++) {if (a[j].l <= i && i < a[j].r) {st[i].mn[a[j].l][0] = min(st[i].mn[a[j].l][0], a[j].r);}}st[i].init1();}for (int len = mn; len <= L; len++) {for (int i = 1; i + len - 1 <= L; i++) {int j = i + len - 1;f[i][j] = max(f[i + 1][j], f[i][j - 1]);for (int k = i; k < j; k++) {f[i][j] = max(f[i][j], f[i][k] + f[k + 1][j]);}for (int t = 1; t <= n; t++) {if (a[t].l < i || a[t].r > j) continue;if (a[t].l == i) f[i][j] = max(f[i][j], f[i + 1][j] + 1);if (a[t].r == j) f[i][j] = max(f[i][j], f[i][j - 1] + 1);}for (int k = i; k < j; k++) {if (ll[k] + 1 < ll[k + 1] && st[k].query(i, j) <= j) {f[i][j] = max(f[i][j], f[i][k] + f[k + 1][j] + 1);} if (k > i && (st[k - 1].query(i, j) <= j || st[k].query(i, j) <= j)) {f[i][j] = max(f[i][j], f[i][k - 1] + f[k + 1][j] + 1);}}}}printf("%d\n", f[1][L]);Usd();return 0;
}

T3 重复

T4 公交

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/916192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年9月24日 - 20243867孙堃2405

今天上午的两门课一是离散数学,讲的有关集合论的知识,主要是序偶和笛卡尔积,马原让我更加了解了社会主义的历史

【星海随笔】RabbitMQ开发篇 - 教程

【星海随笔】RabbitMQ开发篇 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco…

手机网站建设要注意哪些问题搜索关键词

在Ionic框架中&#xff0c;头部&#xff08;Header&#xff09;和底部&#xff08;Footer&#xff09;是重要的UI组件&#xff0c;它们分别固定在屏幕的顶部和底部。 头部&#xff08;Header&#xff09; 头部组件通常用于显示应用程序的标题、副标题和导航按钮。它是应用程序…

有域名就可以做网站么动漫设计专业属于什么大类

记得几年前想要在Android手机上截图&#xff0c;得安装类似截图软件与Root 才行&#xff0c;层层的关卡还真不是一般使用者能处理的&#xff0c;如今Android手机大部分都已内置截图功能&#xff0c;对于我撰写App文章来说帮助很大&#xff0c;但有时想要表现哪台手机外框画面时…

买app的网站建设做网站卖产品

当涉及Java编程和执行时&#xff0c;以下术语具有不同的含义&#xff1a; 1.JRE (Java Runtime Environment) JRE是Java运行时环境的缩写。它是一个包含用于在计算机上运行Java应用程序所需的组件集合。JRE包括了以下几个主要部分&#xff1a; Java虚拟机(JVM)&#xff1a;用…

找做金融的网站电商网站设计流程

1. 文件上传到本地 需求分析 在用户更换头像或发布文章时&#xff0c;需要携带一个图片的 url 地址&#xff0c;该 url 地址是当用户访问文件上传接口&#xff0c;将图片上传成功后&#xff0c;服务器返回的地址。所以&#xff0c;后台需要提供一个文件上传接口&#xff0c;用…

侯马建设规划局网站学校网站建设团队

problem statement 这道题给我们一个不超过15位的整数 让我们在其中加等号或者加号 如果加完符号后符合计算结果 那么计数 最后输出所有的情况 problem analysis 这道题其实就是想办法遍历所有情况 把合法的记录下来 最终输出就得到解 如何枚举呢 我们可以枚举等号的位置…

分库分表后如何高效处理分页

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Playwright MCP 服务器对比高层级的 MCP 服务器解决方案 - 详解

Playwright MCP 服务器对比高层级的 MCP 服务器解决方案 - 详解2025-09-24 20:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impo…

详细介绍:【Selenium】UI自动化测试框架设计:从项目结构到Base-Page层的最佳实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

P13754 【MX-X17-T3】Distraction

原题链接:P13754 【MX-X17-T3】Distraction - 洛谷 非常好的题,非常好的思想。简单思想的结合体就是不易察觉的难题。这题实际上就两个难点:1. 处理每个点的权值 \(v_i\)。2. 推导交换权值并找出最长字段和 首先对于…

台州自助建站系统热门国际新闻

从Manus到OpenManus&#xff1a;AI智能体技术如何重塑未来生活场景&#xff1f; 一、现状&#xff1a;AI智能体技术面临的三大核心矛盾 &#xff08;通过分析用户高频痛点与市场反馈提炼&#xff09; 能力与门槛的失衡 Manus展示的复杂任务处理能力&#xff08;如股票分析、代…

2025.9.24

今天上早八离散数学,认真听课发现真听懂了,然后是马克思主义基本原理,老师话很亲切,中午吃饭没休息,又出发修改表格格式了,弄了3个小时,外卖被偷了,我又点了一份,然后洗澡,没带洗发水用香皂洗头,效果不好,…

初学汇编

寄存器 存储数据速度:cpu > 内存 > 硬盘通用寄存器 寄存器是在cpu中的8位 16位 32位EAX AX ALEBX BX BLECX CX CLEDX DX DLESP SP AHEBP BP CHESI SI DHEDI DI BH内存地址的五种形式 1.立即数:如0x13FFC4 2.[r…

架构图设计还得是华为 - 智慧园区

在数字化时代,架构图就像建筑工程的设计蓝图,是技术系统从抽象想法落地为实际产品的关键桥梁。无论是手机芯片的内部逻辑布局,还是全球通信网络的节点连接,清晰、科学的架构图都能让复杂的技术体系变得“可视化”,…

解决zsh: corrupt history file /home/sgud4h5gh/.zsh_history的办法

问题 在一次重装Ubuntu随后进行了一些修改的情况下,输入命令会出现报错zsh: corrupt history file /home/sgud4h5gh/.zsh_history 并且好像不能执行,实际上是因为文件.zsh_history出现损坏或者乱码的情况。 首先要知…

StarRocks GitHub 工作流程

StarRocks项目遵循GitHub工作流规范,其中包含若干实用建议(例如保持本地环境与上游仓库同步并及时提交)。本文档详细说明在GitHub平台完成StarRocks开发的完整工作流程。 第一步:云端分叉项目访问:https://github…

【Selenium】消除Selenium报错:ChromeDriver与Chrome浏览器版本不匹配

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

伍佰亿搜索引擎网站系统企业科技网站建设

如何在apache Arrow定位与解决问题 最近在执行sql时做了一些batch变更&#xff0c;出现了一个 crash问题&#xff0c;底层使用了apache arrow来实现。本节将会从0开始讲解如何调试STL源码crash问题&#xff0c;在这篇文章中以实际工作中resize导致crash为例&#xff0c;引出如何…

2013网站建设方案沃尔玛商城

本人使用谷歌搜索了简中互联网&#xff0c;完全没有找到任何有关 ANAME 的文章……本文该不会是头一份吧 相信大家对于 DNS 的解析方式都不陌生&#xff0c;常见的有 A、CNAME、MX、TXT 记录等等。其中&#xff0c;网站常用的是 A 记录和 CNAME 记录&#xff1a;A 记录用于将域…