摘要: 问题相当于找到一个最大的k满足在$[x_1,x_2]$,$[y_1,y_2]$中都有k的倍数等价于$\frac{x_2}{k}>\frac{x_1-1}{k}$且$\frac{y_2}{k}>\frac{y_1-1}{k}$注意到这只有$O(\sqrt{n})$种取值,于是可以分段计算,做到$O(\... 阅读全文
posted @ 2015-01-05 17:39 Claris 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 设f[i]表示到i最少休息次数,f[i]=min(f[j]+(h[j]#define N 1000010inline void read(int&a){char c;while(!(((c=getchar())>='0')&&(c='0')&&(cf[y];}int main(){ for(rea... 阅读全文
posted @ 2015-01-05 13:13 Claris 阅读(268) 评论(0) 推荐(0) 编辑
摘要: d[x]表示走完x的子树并回到x所需的时间f[x]表示从走到x开始计时,x子树中最晚的点安装完的最早时间d[x]=sum(d[i]+2),i是x的孩子f[x]的计算比较复杂:考虑将x的各棵子树按一定顺序排列,第i个走的子树是u,则它的贡献为sum(d[j]+2)+f[u]+1,j#include#d... 阅读全文
posted @ 2015-01-05 12:41 Claris 阅读(612) 评论(0) 推荐(1) 编辑