上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 65 下一页
摘要: 首先kmp求出每个子串能放在哪些位置。接下来的两部分贪心和状压都可以,各取比较方便的。 最大值考虑贪心。考虑枚举子串的左端点出现顺序,在此基础上每个子串的位置肯定都应该尽量靠前,有是否与上个子串有交两种选择,如果有交一定会使交集最小,于是枚举第一个子串出现位置并暴力枚举4!*23种情况。 最小值考虑 阅读全文
posted @ 2018-11-02 13:38 Gloid 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 下称放置守卫的点为监控点。设f[i][j]为i子树中深度最大的未被监视点与i的距离不超过j时的最小代价,g[i][j]为i子树中距离i最近的监控点与i的距离不超过j且i子树内点全部被监视时的最小代价。开始觉得这只能设成三维状态对这种二维的纠结了半天要怎么处理子树内有点未被监视但监控点的范围可以延伸到 阅读全文
posted @ 2018-11-02 00:29 Gloid 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 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 阅读(172) 评论(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 阅读(145) 评论(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 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 似乎是弱化的qtree3。树剖什么的非常无脑。考虑离线。并查集维护每个点的最近打标记祖先,倒序处理,删除标记时将其与父亲合并即可。 阅读全文
posted @ 2018-10-31 22:40 Gloid 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 设f[i][j][x][y]为安排了i个男孩j个女孩,后缀最大男孩-女孩数为x,最大女孩-男孩数为y的方案数。转移显然。 阅读全文
posted @ 2018-10-31 21:52 Gloid 阅读(144) 评论(0) 推荐(0) 编辑
上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 65 下一页