CSP-S 31

news/2025/10/20 21:49:26/文章来源:https://www.cnblogs.com/HS-fu3/p/19153753

10.14

看大家得分跟信心赛似的,就我一个唐诗写了一场暴力 \(\ldots\)

开场t1没切出来就开始慌了,之后就想着多打暴力拿部分分,导致t2得出的性质没有推广,t3,t4暴力都没写出来(这俩得出性质/部分性质后比暴力好写多了)\(\ldots\)

t1

看到题就想二分,结果根本就分不出来 \(\ldots\)

发现我好像对于在线查询有种别样的执着,每次都不会离线和预处理 \(\ldots\)

观察到值域很小,空间可接受,于是直接一个 \(O(nV)\) 巨大预处理,之后单次询问是 \(O(\log(n)\log(V))\) ,所以总复杂度为 \(O(nV+q\log(n)\log(V))\)(其实还有单log做法)。

预处理:对于每个 \(x\) ,记录所有 \(x|a_i=x\)\(i\) ,查询时二分查找即可。

code

点击查看代码
#include <bits/stdc++.h>
using namespace std;
const int N = 5e4 + 10;
int n, q;
int a[N], b[N];
vector<int> f[1024];inline long long solve(int l, int r, int x)
{long long ans = 0;int now = l;while (now <= r){// cerr << "&\n";if (f[x].size() == 0 || f[x][f[x].size() - 1] < now)break;// cerr << "!\n";int id = *lower_bound(f[x].begin(), f[x].end(), now);if (id > r)break;// int nxt = f[x][id];ans += b[id], x -= a[id];now = id + 1;// cerr << "id=" << id << " now=" << now << "\n";}// cerr << "$ans=" << ans << "\n";return ans;
}signed main()
{
#ifndef ANSfreopen("expedition.in", "r", stdin);freopen("expedition.out", "w", stdout);
#elsefreopen("ex_expedition1.in", "r", stdin);freopen("1.out", "w", stdout);
#endifios::sync_with_stdio(0);cin.tie(0);cin >> n;for (int i = 1; i <= n; ++i){cin >> a[i];for (int val = a[i]; val <= 1023; ++val){if ((val | a[i]) == val)f[val].emplace_back(i);}}for (int i = 1; i <= n; ++i)cin >> b[i];cin >> q;int l, r, x;long long ans = 0;while (q--){cin >> l >> r >> x;ans ^= solve(l, r, x);}cout << ans;return 0;
}

t2

树的性质是好观察的,层数之差为奇数答案为 1 ,否则答案为 2 。

其实继续思考(或观察大阳历)就能发现答案只有 \(-1,0,1,2\) 但是我当时甚至都没有多看那两个非树的大阳历一眼 \(\ldots\)

继续推广可知,当两点间距离为奇数时,答案为 1 ,否则为 2 (在同一连通块内)。

考虑加边:满3加边,若存在奇环,则块内任意两点都可通过环改变这两点路径的奇偶性(画图可知)。

因此重点为判奇环。

奇偶染色即可。

具体看代码

code

点击查看代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int T, n, m, q, cnt;
vector<int> e[N];
bool flag[N], gd[N];
int col[N], belong[N];void dfs(int x, int pre)
{belong[x] = cnt;if (col[x] && col[x] != pre)gd[cnt] = 1;elsecol[x] = pre;flag[x] = 1;for (auto y : e[x]){if (col[y] && col[y] == pre)gd[cnt] = 1;if (flag[y])continue;dfs(y, ((pre - 1) ^ 1) + 1);}
}signed main()
{freopen("teleport.in", "r", stdin);freopen("teleport.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> T;cin >> n >> m;for (int i = 1, u, v; i <= m; ++i){cin >> u >> v;e[u].push_back(v);e[v].push_back(u);}for (int i = 1; i <= n; ++i){if (!flag[i])++cnt, dfs(i, 1);}// for (int i = 1; i <= n; ++i)//     cerr << col[i] << "\n";// cerr << gd[1] << "\n";cin >> q;int s, t;while (q--){cin >> s >> t;if (s == t){cout << 0 << "\n";continue;}if (belong[s] != belong[t]){cout << -1 << "\n";continue;}if (gd[belong[s]]){cout << 1 << "\n";continue;}if (col[s] != col[t])cout << 1 << "\n";elsecout << 2 << "\n";}return 0;
}

t3

这题我觉得简单思考就解决了,但我当时一心暴力。

限制转化为形如 xxyzxy

之后暴力枚举 x,y,z 即可。

60pts

考虑到对于 z 只要求与 x,y 不同即可,根本不用枚举。

于是\(O(nk^2)\) ,通过。

code

点击查看代码
#include <bits/stdc++.h>
using namespace std;
const int mod = 114514;
string s;
int n, ans;inline int sum(int x)
{if (x >= mod)return x - mod;return x;
}inline void solve(char x, char y)
{int len1 = 0, len2 = 0, len3 = 0, len4 = 0, len5 = 0, len6 = 0;for (int i = 1; i <= n; ++i){if (s[i] == x){len5 += len4, len2 += len1, ++len1;len5 = sum(len5), len2 = sum(len2), len1 = sum(len1);}else if (s[i] == y){len6 += len5, len3 += len2;len6 = sum(len6), len3 = sum(len3);}else{len4 += len3;len4 = sum(len4);}}ans += len6;ans = sum(ans);
}signed main()
{freopen("anc.in", "r", stdin);freopen("anc.out", "w", stdout);ios::sync_with_stdio(0);cin.tie(0);cin >> s;n = s.size();s = " " + s;for (int i = 1; i <= 26; ++i)for (int j = 1; j <= 26; ++j){if (i == j)continue;solve((char)i + 'a' - 1, (char)j + 'a' - 1);}cout << (ans + mod) % mod;return 0;
}

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

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

相关文章

2025网络安全振兴杯wp

振兴杯wp web1 神探狄仁杰在js和源代码,以及关于里面有flag的base64字段 css中关于的源代码中然后解密就行了 web2Darksale 这个是一个原型链污染 我们发现购买的金额可以被改变我们发现改价格后会回显出来我们尝试修…

ES原理、zookeeper、kafka

ES原理、zookeeper、kafkaES高级 ES底层原理 协调节点是 Elasticsearch 中接收客户端请求、将请求转发到相关数据节点、并汇总最终结果返回给客户端的中心路由节点 Cluster State 是 Elasticsearch 集群的元数据大脑,…

CF1606E Arena 题解(动态规划)

考虑设 \(f_{i,j}\) 表示现在存活 \(i\) 个人,血量最大的人为 \(j\)。这么设是因为注意到有没有胜者其实之和血量最大的是谁,以及有多少个血量最大的有关。 边界情况 \(f_{1,i}=0\)。 考虑转移。如果 \(j<i\),则…

服务器CPU市场概况2025

2025年的服务器CPU市场正处于关键转型期。传统的x86架构(以Intel和AMD为代表)依然占据主导,但基于Arm的解决方案正在快速崛起。随着人工智能(AI)、云计算和高性能计算(HPC)的普及,CPU的设计趋势正在朝着能效优…

CSP-S 24

9.21~9.2?9.21 今天开始集训告一段落了,去补文化课一周。 如果写不完回来会补(?) 115=100+0+15 t1 先等会 t2 先等会 t3 9.22:回来补债了 \([\gcd(i,j)=1]=[\gcd(p_i,p_j)=1]\) 这个限制初看好像很难转化,只能猜…

正睿 2025 NOIP20 连测 Day5 做题记录

T1给 \(m\) 个质数,第 \(i\) 个质数 \(p_i\) 出现了 \(n_i\) 次。求一种划分质数的方案,使得第一个集合的和等于第二个集合的乘积。萌萌题,注意到最后相当于是要求 \(p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_k^{\alp…

29-腾讯云COS接入指南与价格说明

腾讯云对象存储(COS)接入流程与价格说明 一、腾讯云COS简介 腾讯云对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,具有高扩展性、低成本、高可靠性和高安全性等特点。用户可…

LLM学习记录DAY7

📘今日LLM学习笔记总结 一、大模型解码策略 1.1 自回归解码定义:逐词生成下一个词,基于已生成内容继续生成。 流程:输入词序列 ( u ) 重复:模型输出下一个词的概率分布 ( P ) 采样或选择下一个词 ( u ) 将 ( u )…

CSP-S 23

9.179.17 109=9+100 赛时将剩余时间“明智”的投入t4,结果就是后两题没分。 t1 三维前缀和+二分答案 写了个假的kdt调了2h... 二分显然是好想的。 看值域考虑复杂度: \(256\times 256\times 256\times 8=134217728\) …

Recall

可惜了,这静谧的长夜。 是夕阳,余晖照在我的肩上。 惨白的灯喧哗着。 昏黑,安静的可怕。 滴答,滴答。 滴答,滴答。 昏黑,安静的可怕。 惨白的灯喧哗着。 是夕阳,余晖照在我的肩上。 可惜了,这静谧的长夜。

CSP-S 20

9.119.11 今天是挂分的好日子~~~ 101=0+10+91 t1 追逐游戏 (chase) 倍增+k祖先 算了不想写了....... 第2次没保存然后死机丢失了... 不难理解也不难实现,细节手模即可。 t1 就这样吧,看代码。 code点击查看代码 #…

Flutter应用设置插件 - 轻松打开iOS和Android系统设置

一个功能强大的Flutter插件,支持从应用中直接打开iOS和Android系统的各种设置页面,包括位置、Wi-Fi、通知、蓝牙等系统设置,简化了用户设置跳转流程。app_settings 一个用于从Flutter应用中打开iOS和Android手机设置…

CSP-S 22

9.169.16 原来史可以连着吃 挂了100 t1 简单贪心,不多解释。 没有大样例爆了 code点击查看代码 #include <bits/stdc++.h> #define int long long using namespace std; const int inf = 1e18; int minn; int T…

/usr/bin/sudo 二进制文件的权限有问题,导致所有用户都无法使用 sudo

[root@node1 sudoers.d]# su - student [student@node1 ~]$ sudo whoami sudo ls /root -bash: /usr/bin/sudo: Permission denied -bash: /usr/bin/sudo: Permission denied 问题很明确了!在 node1 上,/usr/bin/sud…

MySQL 8.0.43社区版本安装流程

MySQL 8.0.43社区版本安装流程> 1. MySQL的下载 点击MySQL官网地址进入https://www.mysql.com/cn/,选择页面download,选择社区版本下载。选择对应自己主机机型下载Windows或者Linux版本的,这里以Windows版本为例子…

CSP-S 19

9.109.10 125=10+20+75+20 废话 模拟赛能不能类人一点??? 因为四道题所以四个样例是吧,你给那小样例有任何作用吗我请问呢? t1 染色(color) 结论题 赛时想假了(你但凡有个稍微大点的样例我也不会想这么假) 显然…

LangGraph 记忆系统实战:反馈循环 + 动态 Prompt 让 AI 持续学习

代理系统或者 RAG 方案,基本都需要一个双层记忆架构,这样 LLM 既能保持对当前上下文的专注,又能记住过往交互的内容。 短期记忆负责单个会话内的即时信息管理,长期记忆则跨会话存储知识,让系统能够持续学习和进化…

【HOWTO】购买和销售二手测试仪器指南

测试仪器是电子工程师、技术人员和电子爱好者在进行信号分析、测量和诊断时不可或缺的工具。尽管全新的测试仪器通常能提供最先进的技术,但价格往往较高,特别是对于预算有限的人。因此,二手测试仪器市场成为了一种经…