2024.10.[2, 3]训练记录

news/2024/10/3 20:48:28

10.2上午noip模拟

比赛是8:00开始的,人是8:40起床的。

T1

猜了结论,秒了。
结论是,一开始按照倒序排,连续是 \(1\) 的段 \(reverse\) 成正序。这样逆序对最多。
感觉做法太简单 \(O(n \log n)\) 肯定不放。于是想了 \(O(n)\) 做法。
最开始有 \(\dfrac{n*(n-1)}{2}\) 个逆序对,按段考虑贡献。就是 \(O(n)\)

后记:\(O(n \log n)\) 放了,输。

10.3晚上订正

回校,死。
今天cs版本更新我没更。一天没玩。表扬自己。

T3

考场打完T1去cs了。没看T3。
考虑容斥。
按最终答案里最大值的归属来讨论。
注意到,统计的是最后那个取过最大值的三元组的个数。
所以考虑方案时最多考虑选 \(3\) 个。(选完 \(3\) 个决出 \(max\) 的话再选就没用。)

最大值来自于 \(1\) 个三元组时:
\(n\) 个中选出这一个,\(n\) 种。

最大值来自于 \(2\) 个三元组时:
先选出来两个,方案数 \(C(n, 2)\)
设选的为第 \(i,j\) 个。
于是当 \(a_i < a_j, b_i < b_j, c_i < c_j\) 时,相当于只选了 \(j\),和第一种情况算重。
于是减去所有的三位偏序个数。

最大值来自于 \(3\) 个三元组时:
选出三个的方案是 \(C(n, 3)\)
当且仅当最后的最大值来自于一或两个三元组时算重。
这时,这一或两个三元组中必有一个取到的最大值个数 \(\geq 2\)。(及最后三元组的三个值中有不少于两个值来自这个三元组。)
枚举这个三元组下标 \(p\)。设另外两个是 \(i,j\)
当最大值取到 \(a, b\) 这两个位置时。
\(a_i < a_p, a_j < a_p\)
\(b_i < b_p, b_j < b_p\)
这是个二维偏序。
把这个数量减掉,再减掉\(ac、bc\)的情况。
这时发现,满足三维偏序的情况被多减了两次,加回来即可(可复用第二种情况求过的三位偏序)。
最后全部求和就是总方案数。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

listary

一、概述 Listary Pro 是一款功能强大的文件管理工具,通过快速搜索、文件夹导航、第三方应用集成和标签管理等功能,大大提升了用户的文件管理效率。无论是在工作中还是日常生活中,Listary Pro 都能成为用户不可或缺的助手。如果你还在为文件查找和管理而烦恼,不妨试试 List…

十、特殊应用:人脸识别和神经风格转换

1、One-Shot学习(One-shot learning)人脸识别所面临的一个挑战就是需要解决一次学习问题(one-shot learning problem),这意味着在大多数人脸识别应用中,你需要通过单单一张图片或者单单一个人脸样例就能去识别这个人。而历史上,当深度学习只有一个训练样例时,它的表现并…

python高级内置函数

filter函数返回迭代器

表情包

创建于 8.1 updated on 10.3:整理博客时发现这个了,当时不敢发,现在没啥问题了吧,毕竟涉及人员都 【数据删除】 了,遂发布。 整理博客发现欧耶! https://img2024.cnblogs.com/blog/3365934/202407/3365934-20240725151423252-219730277.png 害羞 起飞呦 哒咩

VulnHub2018_DeRPnStiNK靶机渗透练习

据说该靶机有四个flag 扫描 扫描附近主机arp-scan -l扫主目录扫端口 nmap -sS -sV -n -T4 -p- 192.168.xx.xx 结果如下 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-30 19:25 CST Nmap scan report for 192.168.93.131 Host is up (0.0024s latency). Not shown: 6…

昨天放洛谷的图

因为刷不出来以及有人问所以放这了

python多进程debug

代码调试 问题阐述 最近遇到一个python debug多进程的问题 有一个进程A,这个进程会fork出8个进程B,fork join结束后,又会fork出8个进程A。 假设按时间有序,我就只想断fork出的第一个B和第一个进程A,怎么做?(breakpoint just break only once)类似于java多线程调试的意思…

一些数学知识题

欧几里得算法费马小定理 当a,p都是是质数时,a^(p-1)=1(mod p) 证明: 举个例子 a=2,p=5; 1,2,3,4 集合(1) {1,2,3,4...,(p-1)} 2,4,6,8 => %5 => 2,4,1,3 集合(2) {1a%p,2a%p,3a%p,4a%p...,(p-1)a%p} 我们发现{1,2,3,4}和{2,4,1,3}只是…