长沙雅礼中学集训-------------------day3
今天的收获还是蛮大的,终于体会了一波在知识的海洋中遨游的美滋滋的快感。
T1:给你N个点的位置和他们的速度,这些点向一个方向移动,求前M次超越者的集合A和被超越者的集合B(集合为这些点的速度),以及从A和B中各取一个并相乘,第k小的那个积。
数据范围:N<=1e5,M<=1e5,K<=M*M,起始位置和速度<=1e9
emmmm,写的是10分的暴力,可是出了一些奇奇怪怪的问题没有拿到这十分。
10分:直接暴力的算出交点,并且排序即可。
30分:在算交点前二分出一个时间,让算出的每次超过的时间都小于这个二分出的时间,我们把这些点运动都画在一个平面直角坐标系中(就像物理中的s/t图像),二分时,将二分的值带入直线求出走的路程,将路程排序,每一条直线原来的位置减去 现在的位置就是它超过了多少条直线减去被超过的数量,将超过了一定数量的直线的贡献加 起来,这个数是小于实际值的,但是也能够二分出一个优秀的时间,总超越数小于m 即可。
然后将满足条件的交点丢入小根堆中,弹出前m 个。排序求k 大。
50分:在30分的基础上,二分求k,不用堆。
AC:考虑:两个点被超过的话,两个点只能是相邻的,用堆维护两个相邻的点,如果被超过就交换一下,当然用堆的话只能拿50分,要ac的话还是要和前面说的那个50分结合起来。
T2:这个题是我觉得出的真心良心的一道题,很美滋滋,因为这道题的暴力分给的非常足,暴力就有30,题目有一堆公式,这里就直接贴图片好了
这个题的30分是非常好拿的,可以把所有要用的全都给他暴力算出来,30分就美滋滋了,但是因为考试的时候那个d|n不知道是什么意思,所以这30分就没有拿到,很气。
AC:数学题当然还是要推公式,用斐波那契数列数列的通项公式,用二项式定理展开计算,有一部分可以用等比数列来计算出来,要注意讨论公比=1的情况,另一部分可以用莫比乌斯反演+筛法来计算(哎,这就是我们和湖南oi的差距吧)。自己已经把式子展开过试了试,发现了等比数列,但是莫比乌斯反演这种东西emmmmmm................
T3:给一个数组A[1...n],建立一个完全图,满足(u,v) ,边权为A[u]^A[v],求图的最小生成树和方案数(方案数需要mod 1e9+7)
20分:暴力dfs
50分:矩阵树定理(orz,这个真的听都没听说过)。
另外10分:数据约定全部A[i]=0,我觉得这个方案数就是n!/2,比如当n=5的时候,我们先确定1->2->3另外的4 5就有两种情况。这是在确定前三个的情况下,如果是前两个确定的话,由于第三位可以放3,4,5,所以方案数是2*3,那么当一个都不确定的时候就应该是2*3*4*5.出题人给的暴力说的是用cayley定理(orz又是没学过的)。
AC:我们将最高位为1的分成一堆(S),为0的分成一堆(T),连边的方式就是S成一个数,T成一棵树,S向T连接一条边(有证明的,这里略了),然后用trie树可以发现trie树的操作正好能够帮助我们分成这两堆,再贪心的求最小边就行。
今天下午讲的是字符串,大部分也都是学过的,唯独一个后缀树没学过,但是听讲课的大佬说后缀树大部分都是可以用后缀树组和后缀自动机完成的,虽然学会了后缀树的建树方法,但是还是不知道要怎么用。
下午收获最大莫过于用稳定的时间复杂度来求ac自动机的fail指针,复杂度可以稳定的达到字母集*n,而不是均摊到O(n),均摊的复杂度有时候能被卡到O(n^2)。
过了三天了,还是有一些感慨的,还是认识到了自己和别的大佬的差距,不论是思维结构还是知识的储备量,所以还是要加油吧。
总结:辣鸡ysc
长沙雅礼中学集训-------------------day3的更多相关文章
- 长沙雅礼中学集训-------------------day1(内含day0)
day0: 首先,请允许我吐槽一下: 1.那些一个人住一个标准房的人您们真的是#@**¥&%……#*()%……*()@Q$&. 2.感谢那些一个人住一个标准间的人,要不然我们也找不到这 ...
- 长沙雅礼中学集训-------------------day2
怎么说呢,今天的题特别的神奇,因为emmmmmm,T1看不懂(一直到现在还没有理解明白期望概率什么的),T2题面看不懂+扩展欧几里得求逆元怎么求我忘了,T3哇,终于看懂一题了,然而写了个50分的程序但 ...
- 【LOJ6067】【2017 山东一轮集训 Day3】第三题 FFT
[LOJ6067][2017 山东一轮集训 Day3]第三题 FFT 题目大意 给你 \(n,b,c,d,e,a_0,a_1,\ldots,a_{n-1}\),定义 \[ \begin{align} ...
- 【LOJ#6066】「2017 山东一轮集训 Day3」第二题(哈希,二分)
[LOJ#6066]「2017 山东一轮集训 Day3」第二题(哈希,二分) 题面 LOJ 题解 要哈希是很显然的,那么就考虑哈希什么... 要找一个东西可以表示一棵树,所以我们找到了括号序列. 那么 ...
- 2019暑期金华集训 Day3 字符串
自闭集训 Day3 字符串 SAM 考虑后缀树. SAM的parent树是反串的后缀树,所以后面加一个字符的时候相当于往串前面加一个字符,恰好多出了一个后缀. 于是可以以此来理解SAM. 每一条路径对 ...
- 2019暑期金华集训 Day3 图论
自闭集训 Day3 图论 NOI2019 D2T1 没有真正建出图来的必要,可以直接打取\(\min\)的\(tag\). 也可以把边压进堆里,然后变成一个二维清点问题(???),然后就线段树+并查集 ...
- 考前停课集训 Day3 匪
Day3——作死不可活的一天 Day3 今天下午才考 晚上时间少 下午网每断 因此我是PY的 然后被抓了 成绩做0分处理. 是啊,我只会抄题解. 其他什么都不会. 一无是处. 真的. 真实能力:ran ...
- 福州三中集训day3
Day3数据结构,强无敌. 基本讲的是栈,队列,链表,都是些还会的操作,然后接着讲的就比较心凉凉了,先讲了堆,然后是hsah 栈,队列,链表问题都不大,笔记记得都还好,堆就凉凉了. 不会不会不会,没学 ...
- 集训Day3
被疯狂造谣+请家长 但生活还得继续 ...今天的题口胡一下吧明天码 PKUSC2018 D1T1 对于x:若x不翻,则x的一半到x的数都不能翻 若x翻,则x到2x都得翻 剩下随便安排 排列组合一下 P ...
随机推荐
- JDK中Integer类的进制转换实现
JDK中关于Integer类的进制转换方法很精巧,具体实现如下: final static char[] digits = { '0' , '1' , '2' , '3' , '4' , '5' , ...
- runtime error (运行时错误)
比如说: ①除以零 ②数组越界:int a[3]; a[10000000]=10; ③指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+10000 ...
- OC基础:Date 分类: ios学习 OC 2015-06-22 19:16 158人阅读 评论(0) 收藏
NSDate 日期类,继承自NSObject,代表一个时间点 NSDate *date=[NSDate date]; NSLog(@"%@",date); //格林尼治时间, ...
- cmd 环境变量设置的简单方法
1.查看当前所有可用的环境变量:输入 set 即可查看. 2.查看某个环境变量:输入 “set 变量名”即可,比如想查看temp变量的值,即输入 set temp 3.修改环境变量 :输入 “set ...
- Linux运维学习笔记-网络技术知识体系总结
传统网络知识体系 未来网络SND模型架构
- win8转win7+真正解决 “安装程序无法定位现有系统分区,也无法创建新的系统分区”的方法
问题情况:win8电脑转win7系统,出现问题:“安装程序无法定位现有系统分区,也无法创建新的系统分区” 第一种:猜测可行的方法: 1.老毛桃U盘启动电脑,进入PE系统后,直接使用Diskgeni ...
- jboss 5.1 启动问题解决
在安装好后启动时可能遇到这样的情况: ERROR [AbstractKernelController] Error installing to Instantiated: name=Attachmen ...
- linux内核空间和用户空间详解
linux驱动程序一般工作在内核空间,但也可以工作在用户空间.下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们.Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Li ...
- 转-spring boot web相关配置
spring boot web相关配置 80436 spring boot集成了servlet容器,当我们在pom文件中增加spring-boot-starter-web的maven依赖时,不做任何w ...
- MVC5 + EF6 + Bootstrap3系列教程
本系列教程以ASP.NET MVC5为核心框架,使用Entity Framewok6访问数据,并使用Bootstrap3作为前端UI框架.帮助大家开发出一套高效.美观.稳定.实用的软件系统. MVC5 ...