其他分享
首页 > 其他分享> > 2021.10.6训练记录

2021.10.6训练记录

作者:互联网

link

开场看了K发现是原题
然后看G想出了做法,以为要李超树维护
期间ljj和nameless把AB出了
开始写K,结果miiler和统计答案写错两个地方
导致挂了2发
期间和nameless讨论F,
然后看发现k的问题后ljj和nameless讨论出了F
写G的时候发现不需要李超树,只需要维护一些线段
nameless和ljj也把J讨论出来,是个joke题(
然后慢慢写G,虽然写的比较慢但没出什么问题,顺利1A了
然后做D,因为开始想做自己的思路没去看ljj的做法
中间推了个另外的奇怪东西
后面推出一样的式子浪费了好些时间,
发现是个常见的卷积trick,但最后一个地方系数推错了,导致没调出来
其实中间怎么都应该先和队友交流了再去写做法
可能可以fix别人的思路,也可能启发自己

某几道题的题解
K:考虑就是每个质因子指数要0和a_i都有,就容斥[0,a_i],[1,a_i],[0,a_i-1],[1,a_i-1]任取四种情况,中间两种对方案没影响可以合并
以及n的分解:先除1e6以内的,然后就是p,p^2,pq三种情况,miller_robin即可
F:记得去补
G:考虑枚举斜率,上下切出来的两个截距相减即可
把斜率看做x,截距看做y,对于上下都是 每个i有一个直线,求每个x的max(r_i的直线的最小值减l_i的直线的最大值+1,0)之和
由于最多只有n个交点,且新直线斜率分别为1,2,...i,...n,发现可以单调栈处理
好像就是一个半平面交(?
D:一个做法是f_i(x)表示i个猴子,x^j为j个赢家的概率,可以写出dp
发现f_x和f_y相乘有个ij项,利用组合数的trick化为i+j即可处理,而且这个不需要分治求,可以倍增做就是一个log
不过需要预处理一些快速幂来卡常
题解做法是f[n][k]考虑左边加一只和右边加一只的转移,发现神奇的可以连立

再特殊处理p=0.5

标签:直线,ljj,2021.10,训练,记录,斜率,发现,做法,nameless
来源: https://www.cnblogs.com/KamiyamaShiki/p/15374811.html