根号算法
meopass
即使摸爬滚打,满身泥泞,我也要前进
展开
-
BZOJ 2002 分块
简略题意:某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmonk原创 2017-09-22 22:55:52 · 191 阅读 · 0 评论 -
BZOJ 1257 计数
题意:给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数。例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7。f(n,k)=∑ni=1k%i=∑ni=1k−⌊k/i⌋=n∗k−∑ni=1⌊k/i⌋f(n原创 2017-09-25 11:43:07 · 200 阅读 · 0 评论 -
codeforces 455D 分块
简略题意:初始给出长度为nn的数组a[i]a[i], 有两种操作,共q次。 1.将a[l],a[l+1],...,a[r]中的a[r]移动到a[l]处,之后的元素后移一位.1.将a[l], a[l+1], ... , a[r]中的a[r]移动到a[l]处,之后的元素后移一位. 2.问区间[l,r]有多少数等于k.2.问区间[l, r]有多少数等于k. 要求强制在线。看起来就是个数据结构头,原创 2017-08-30 23:25:06 · 297 阅读 · 0 评论 -
BZOJ 2120 带修改莫队
简略题意:单点修改,区间查询不同颜色个数。带修改莫队的板题,学习了一个。 和普通莫队的区别在于块的大小需要设定为n2/3n^{2/3},这样可以确保复杂度为O(n3/5)O(n^{3/5})。 每次询问之前需要把在当前时间点之前的所有修改用上,这之后的所有修改删掉。#define others #ifdef poj #include <iostream> #include <cstring> #原创 2017-10-31 11:34:40 · 262 阅读 · 0 评论