2021.10.6训练记录

2021/10/7 6:13:33

本文主要是介绍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



这篇关于2021.10.6训练记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程