长沙雅礼中学集训-------------------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 ...
随机推荐
- 如何成为一名合格的Android工程师?
首先需要申明的是,我并不是一名合格的Android工程师,无论从开发经验或者是技术水平上来说,我都没有资质承担以为Android工程师的责任,但是我把它作为一个目标,也一如既往的努力着.如果我的论点有 ...
- 建立自己的Servlet--成功
1--用记事本新建一个servlet程序,文件名为HelloWorld.java,文件内容如下: import java.io.*; import javax.servlet.*; import ja ...
- 设计Popup Window
设计一个Popup window, 在其中实现分享到Facebook 和Twitter 功能. popup window 名称为 ShareView.xaml, 代码如下: <phone:Pho ...
- nodejs tutorials
设置npm的镜像为淘宝镜像 npm config list npm config set registry " https://registry.npm.taobao.org "
- Docker使用rexray做跨主机存储
Rex-Ray 是一个优秀的 Docker volume driver,不过只有最新版docker才支持. Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上,安装方法很 ...
- SharePoint PeopleEditor控件使用
以下用于简要介绍在SharePoint 2016二次开发中如何使用PeopleEditor人员选择器,并采用前端的方式获取和设置值. 一.在使用的.aspx页面进行注册 <%@ Register ...
- ASP.NET MVC中如何以ajax的方式在View和Action中传递数据
前言:写这篇随笔的时候,在url上漏写了斜线,找了好久错误,整个人都很不好.#我是猪系列 背景:之前介绍过一篇如何构建 MVC&AJax&JSon示例,这一篇单独讲解如何在View和A ...
- MySQL中drop,truncate 和delete的区别
注意:这里说的delete是指不带where子句的delete语句 相同点: truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: truncate和 del ...
- 各JAVA开发框架版本及对应信息
日期:2017.05.22 当前最新 release 版本情况: 框架 最新GA(General Availability)版本 spring 4.3.8 spring boot 1.5.3 myba ...
- linux I2C_client产生方法一
\arch\arm\mach-omap2/board-am335xevm.c static struct i2c_board_info am335x_i2c2_boardinfo[] = { { I ...