首页 > 其他分享 >2024.10.[2, 3]训练记录

2024.10.[2, 3]训练记录

时间:2024-10-03 20:45:15浏览次数:1  
标签:偏序 2024.10 两个 训练 记录 最大值 来自 个数 三元组

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\)的情况。
这时发现,满足三维偏序的情况被多减了两次,加回来即可(可复用第二种情况求过的三位偏序)。
最后全部求和就是总方案数。

标签:偏序,2024.10,两个,训练,记录,最大值,来自,个数,三元组
From: https://www.cnblogs.com/docxjun/p/18445974

相关文章

  • 代码随想录算法训练营Day2|209.长度最小的子数组 59.螺旋矩阵
    学习资料:https://programmercarl.com/数组总结篇.html#数组的经典题目移动窗格,首尾指针根据条件变化模拟行为,循环不变量(左闭右闭或左闭右开)整个过程保持一致学习记录:209.长度最小的子数组(用while使得尾指针遍历全部;用while实现,当[首:尾]之和>目标值,才移动首指针;为了求最小长度......
  • GoogLeNet训练CIFAR10[Pytorch+训练信息+.pth文件]
    0引言GoogLeNet,它是一种深度卷积神经网络,由Google研究人员在2014年提出,用于图像识别任务。CIFAR-10是一个常用的图像识别数据集,包含10个类别,每个类别有6000张32x32的彩色图像。本文使用Pycharm及Pytorch框架搭建GoogLeNet神经网络框架,使用CIFAR10数据集训练模型。笔者查阅资......
  • 算法训练营第七天| 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字
    344.反转字符串状态:成功完成。初始思路:双指针交换位置就可以,如果元素个数为偶数,则刚好交换完最后一组后,left>right;如果元素个数为奇数,交换完最后一组后,left和right同时到达中位数,不需要交换。 541.反转字符串II 状态:没做出来。初始思路:这道题是以上一个题目为基础的,我......
  • 代码随想录算法训练营 | 122.买卖股票的最佳时机II,55. 跳跃游戏,45.跳跃游戏II,1005.K次
    122.买卖股票的最佳时机II题目链接:122.买卖股票的最佳时机II文档讲解︰代码随想录(programmercarl.com)视频讲解︰买卖股票的最佳时机II日期:2024-10-03想法:本来还在想什么时候买股票,结果只需要考虑每天的正收益累加就是最大的收益了。Java代码如下:classSolution{public......
  • ZZJC新生训练赛第二场题解
    先给出比赛链接:https://ac.nowcoder.com/acm/contest/92036A小红打怪ShowCodeAclassPoint{//点类public:intx,y;Point(){}Point(intx,inty):x(x),y(y){}Pointoperator+(constPoint&P)const{returnPoint(x+P.x,y+P.y);......
  • 【牛客训练记录】2024牛客国庆集训派对day2
    赛后反思只开出来两题,好像水平就这样了TATI题给定一个排列,对于每项可以选择+1或者不加,求逆序对对数最小我们可以思考一下什么情况下可以减少最后答案的逆序对,对于\([4,3]\)或者\([2,1]\)这种情况,将第二个元素+1才能对答案的减少做出贡献,所以只要判断某一位的后面是否有那......
  • 代码随想录算法训练营day7|704.二分查找、27.移除元素、977.有序数组的平方
    学习资料:https://programmercarl.com/数组理论基础.html理解:双指针可以同时获取一个数组的两个位置的值二分查找:根据区间范围(左闭右闭、左闭右开)来判断左右指针比较方式刷题记录:704.二分查找(左闭右闭则<=,左右指针,middle=left+(right-left)//2,因为考虑了等号情况所以下一步l......
  • 10月做题记录
    10月做题记录✩trick✯会大部分,要\(tj\)提示✬会小部分/完全没想到,看了\(tj\)才会◈脑电波✡有某一算法的神秘通用性质⊗待补目录10月做题记录CF2018FSpeedbreakerCounting✬✩CF2018FSpeedbreakerCounting✬✩非常牛题目,就是学\(whk\)学傻了,乘法过后的取......
  • 2024.10 - 做题记录与方法总结
    赏赐的是CCF,收回的也是CCF-《CCF圣经》2024/10/01国庆快乐!P10856【MX-X2-T5】「CfzRound4」Xor-Forces题面:题目描述给定一个长度为\(n=2^k\)的数组\(a\),下标从\(0\)开始,维护\(m\)次操作:操作一:给定\(x\),设数列\(a'\)满足\(a'_i=a_{i\oplusx}\),将\(a\)......
  • 计算机网络 八股记录
    http请求报文,响应报文 301MovedPermanently 和 404NotFound301,服务器会返回新的URL,客户端应该用新的URL进行访问。 502错误意味着代理服务器和上游服务器无法通信,比如上游服务器故障504GatewayTime-out上游服务器响应超时 HTTP的Keep-Alive参数--->长......