《如 何 速 通 一 套 题》5.0

邮寄

开场直接看 A。A 做不出来。

浏览了一下,发现 A 是 sb 题,直接做了。

BCD 全都不会做。

推了好久的 B,想出来了,然后写过了。

CD 一个暴力,一个乱搞,然后撤退。

A 依依寺

\(a\) 没用,对 \(b\)\(c\) 分类讨论。

死于不开 long long 见祖宗。

#include <bits/stdc++.h>
using namespace std;int t, a, b, c, ans;int main() {//freopen("yiyi.in", "r", stdin);//freopen("yiyi.out", "w", stdout);for(cin >> t; t--; ) {cin >> a >> b >> c;ans = 0;if((!b) && (!c)) {cout << "Second" << '\n';continue;}if(b) {b--;ans |= (b <= c) ^ (a & 1);b++;}if(c) {c--;ans |= (c <= b) ^ (a & 1);c++;}cout << (ans? "First" : "Second") << '\n';}return 0;
}

B 武义寺

考虑每一个 \(\operatorname{val}\) 的可能取值。

对于取值为 \(i\) 的情况,前 \(i - 1\) 个数必须满足 \(j \leq a_j\),第 \(i\) 个数必须满足 \(i > a_i\),其他随便。

先考虑第一个条件。

\(pbs_i\) 表示 前 \(i\) 个数满足 \(j \leq a_j\) 的概率,从后往前看,易得 \(pbs_i = \frac{(n - i + 1)^i \times (n - i)!}{n!}\)

然后考虑第二个条件。可知 \(\operatorname{val}(p) = i\) 的概率是 \(pbs_{i - 1} - pbs_i\)

然后就可以直接做了。

#include <bits/stdc++.h>
#define int long long
using namespace std;const int kMod = 998244353;int n, fac[1000010], ivs[1000010], inv[1000010], pbs[1000010], prb[1000010], ans;int qpow(int x, int y) {int rs = 1;for(; y; y >>= 1) {if(y & 1) {rs = rs * x % kMod;}x = x * x % kMod;}return rs;
}int qinv(int x) {return qpow(x, kMod - 2);
}void init() {fac[0] = 1;for(int i = 1; i <= 1000000; i++) {fac[i] = fac[i - 1] * i % kMod;}ivs[1000000] = qinv(fac[1000000]);for(int i = 999999; i >= 0; i--) {ivs[i] = ivs[i + 1] * (i + 1) % kMod;}for(int i = 1; i <= 1000000; i++) {inv[i] = ivs[i] * fac[i - 1] % kMod;}
}signed main() {//freopen("wuyi.in", "r", stdin);//freopen("wuyi.out", "w", stdout);init();cin >> n;pbs[0] = 1;for(int i = 1; i <= n; i++) {pbs[i] = qpow(n - i + 1, i) * fac[n - i] % kMod * ivs[n] % kMod;}for(int i = 1; i <= n + 1; i++) {prb[i] = (pbs[i - 1] - pbs[i] + kMod) % kMod;ans = (ans + i * prb[i]) % kMod;}cout << ans << '\n';return 0;
}

C 依久依久

超级大数学。

区间复杂东西的复杂运算,可差分,果断祭出前缀和。

对于 \(l = 1\),不难想到一位一位处理。

找到 \(n\) 的最高位,设是第 \(k\) 位,对应的数是 \(fib_k\)。我们把这一位的贡献算上,然后递归处理。

写出来就是:

\[\operatorname{S}(n) = \operatorname{S}(fib_k - 1) \ \oplus \ \operatorname{S}(n - fib_k) \ \oplus \ \begin{cases} fib_k &\text{if } n - fib_k + 1 \text{ is odd} \\ 0 &\text{otherwise} \end{cases} \]

// 实际写出来的代码短得神奇
#include <bits/stdc++.h>
#define int long long
using namespace std;int t, l, r, ans, f[114], n;
map<int, int> mem;int cal(int x) {if(!x) {return 0;}if(mem.find(x) != mem.end()) {return mem[x];}int tmp = upper_bound(f + 1, f + n + 1, x) - f - 1;return mem[x] = (cal(f[tmp] - 1) ^ cal(x - f[tmp]) ^ (((x - f[tmp] + 1) & 1) * f[tmp]));
}signed main() {freopen("yijiu.in", "r", stdin);freopen("yijiu.out", "w", stdout);f[0] = f[1] = 1;for(n = 2; (f[n] = f[n - 1] + f[n - 2]) <= (int)(1e18); n++) {}for(cin >> t; t--; ) {cin >> l >> r;cout << (cal(r) ^ cal(l - 1)) << '\n';}return 0;
}

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

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

相关文章

网络流学习记录

CCPC网络赛 G Problem G. 疯狂星期六 Input file: standard input    Output file: standard output Time limit: 1 second      Memory limit: 256 megabytes yyq 和他的朋友们一共 n 个人(编号为 1 到 n ,yyq 编号为 1)去某饭店吃疯狂星期六。第 i 个人初始手中有 a…

PARTIII-Oracle事务管理-事务

10. 事务 10.1. 事务简介 事务是包含一个或多个SQL语句的逻辑、原子工作单元。事务将SQL语句分组,使它们要么全部提交,这意味着它们被应用到数据库中,要么全部回滚,这意味着它们从数据库中被撤销。Oracle数据库为每个事务分配一个唯一的标识符,称为事务ID。 所有Oracle事务…

BPM(业务流程管理)的最佳开源工具

探索最佳开源工具如何优化不同行业的业务流程管理(BPM)场景。在上个月的文章中,我们探讨了 BPM 并总结了构建 BPM 应用程序的三大步骤。 什么是BPM,如何构建一个BPM App? - NocoBase 然而,在各行各业中,BPM 面临着各自独特的挑战。在教育领域,优化招生管理流程和提升学…

谷歌发布新 RL 方法,性能提升巨大;苹果前设计总监正与 OpenAI 合作开发 AI 设备丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的会议」,但内容仅代表编辑的…

文件上传日志包含详解与CTF实战

1. 日志简介 1.1 日志介绍 日志是记录系统或应用程序运行时事件的文件。这些记录可以包括错误信息、用户活动、系统性能指标等,帮助开发者和管理员监控和排查问题。 日志通常会记录多种内容,包括:时间戳:事件发生的具体时间。 用户代理(UA)头:浏览器或客户端的类型和版本…

一位架构师的自述:在尚未踏入的世界成为你自己

这是我参与创作者计划的第1篇文章我叫艾佳,工作经验14年,编程经验30年。 我来自智能平台部,负责标签平台、标签圈人、标签选品、EasyData、算法数据流的架构工作。 致力于批量计算、流式计算、交互式计算的通用化数据应用构建,降低大数据计算的使用门槛。 在此,我跟大家分…

数据结构 - 概述及其术语

数据结构是数据管理和存储的格式,包含物理结构、逻辑结构和数据运算三要素。物理结构关注数据如何存储,逻辑结构关注数据如何组织,数据运算关注数据处理。将深入学习九类数据结构。经过上一章节《数据结构与算法之间有何关系?》的阐述,相信大家对数据结构多少有了点了解,…

DM(达梦数据库基本操作)

1、创建用户 XTF 密码为 XTF123321 SQL> CREATE USER XTF IDENTIFIED BY "XTF123321";2、权限 (1)--给用户建表权限 SQL> GRANT CREATE TABLE to XTF;总共1个语句正依次执行...[执行语句1]: GRANT CREATE TABLE to XTF; 执行成功, 执行耗时7毫秒. 执行号:10322…

PWA入门:手把手教你制作一个PWA应用

根目录创建 manifest.json{"name": "我是pwa","short_name": "pwa是我","start_url": "/", //启动页面,如果首页是https://www.abc.com/,则直接用“/”即可"display": "standalone","ba…

南沙C++信奥老师解一本通题 1281:最长上升子序列

​【题目描述】一个数的序列bibi,当b1<b2<...<bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,...,aN),我们可以得到一些上升的子序列(ai1,ai2,...,aiK),这里1≤i1<i2<...<iK≤N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如…

css使用@media响应式适配各种屏幕的方法示例

定义和使用 使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。 @media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。 当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。 PC端设备…

多智能体协同控制(1)

引言 多智能体系统协同控制算法起源于计算机领域关于分布式计算的研究,后由于数学家们的强势加盟,控制领域的研究一度占领高地。随着人工智能的发展,以多智能体强化学习为代表作的计算机领域专家又重回巅峰。 目前,每年多智能体相关的论文的都浩如烟海,成就了一批手持屠龙…