摘要: strength=atk*(1+b/a)+dnf*(1+a/b)。设a/b=x,可以发现这是一个关于x的对勾函数。开口向上的一堆凸函数取max还是凸函数,三分即可。 然而无良出题人既卡精度又卡时间。众所周知三分的本质是二分(雾),所以开始三分时令每次取的两个点为中点±eps,最后再用真的三分微调即可 阅读全文
posted @ 2018-11-01 18:12 Gloid 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 倒过来变成查询前缀。考虑怎么排序。第一条代价n*n就相当于inf,说明一个单词的所有前缀都要排在它前面。那么串的依赖关系就是trie的结构。二三条说明代价是Σidi-idfa,那么显然最后的编号应该是trie的一个dfs序(去掉无用节点),并且显然应该先走较小的子树,因为这样使兄弟节点和父亲的编号差 阅读全文
posted @ 2018-11-01 17:20 Gloid 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 对于每个质数求出其作为最大质因子时最多能有几个质因子,开始时将这些ak1~akmaxk扔进堆。考虑构造方案,使得每次取出最大值后,最大质因子、质因子数均与其相同且恰好比它小的数都在堆里。类似暴搜,对于当前考虑的质因子,可以将其去掉并乘上一个恰好比它小的小的质因子,也可以转而考虑下一个质因子。于是给堆 阅读全文
posted @ 2018-11-01 15:16 Gloid 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 分两种情况。三点两两lca相同:在三点的lca处对其统计即可,显然其离lca距离应相同;某点在另两点lca的子树外部:对每个点统计出与其距离x的点有多少个即可。 可以长链剖分做到线性,当然不会。 阅读全文
posted @ 2018-11-01 12:50 Gloid 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 没看清题还以为是要求数最大匹配数量……注意到任意障碍不在同一行同一列,且恰好有n个障碍,不妨通过交换列使得第i行第i列均有障碍。那么就是个错排了。居然wa了一发简直没救。 阅读全文
posted @ 2018-11-01 01:27 Gloid 阅读(153) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/Gloid/p/9538413.html 基本思路没有太大差别。得到2n=d(a2+3b2),其中d=gcd(n-x,n+x),n-x==a2&&n+x==3b2||n-x==3a2&&n+x==b2。于是枚举d,然后枚举b。复杂度玄学。 阅读全文
posted @ 2018-11-01 00:53 Gloid 阅读(418) 评论(0) 推荐(0) 编辑