好吧,樓下有分塊的解法,那麼我就再闡述一遍好了
本以為暴力分塊為\(tle\)的,結果發現吊打線段樹,用奇技淫巧的卡常技術卡到第一頁
評測記錄
其實這道題就是數列分塊入門\(5\)嘛,發現乙個數只能被不超過\(6\)次開方,那麼暴力修改,用乙個標記看看整塊是否有大於\(1\)的數
那麼我就獻上乙個未卡常的分塊解法
\(code\ below:\)
#include #define ll long long
using namespace std;
const int maxn=100000+10;
ll n,m,a[maxn],sum[330],v[330],pos[maxn],blo;
void change(ll x)
}}void update(ll l,ll r)
v[pos[l]]=1;
for(ll i=(pos[l]-1)*blo+1;i<=min(pos[l]*blo,n);i++)}}
if(pos[l]!=pos[r])
v[pos[r]]=1;
for(ll i=(pos[r]-1)*blo+1;i<=min(pos[r]*blo,n);i++)}}
}for(ll i=pos[l]+1;i<=pos[r]-1;i++) change(i);
}ll query(ll l,ll r)
int main()
scanf("%lld",&m);
ll opt,l,r;
while(m--)
return 0;
}
P4145 上帝造題的七分鐘2 花神遊歷各國
xlk覺得 上帝造題的七分鐘 不太過癮,於是有了第二部。第一分鐘,x說,要有數列,於是便給定了乙個正整數數列。第二分鐘,l說,要能修改,於是便有了對一段數中每個數都開平方 下取整 的操作。第三分鐘,k說,要能查詢,於是便有了求一段數的和的操作。第四分鐘,彩虹喵說,要是noip難度,於是便有了資料範圍...
P4145 上帝造題的七分鐘2 花神遊歷各國
題目背景 xlk覺得 上帝造題的七分鐘 不太過癮,於是有了第二部。題目描述 第一分鐘,x說,要有數列,於是便給定了乙個正整數數列。第二分鐘,l說,要能修改,於是便有了對一段數中每個數都開平方 下取整 的操作。第三分鐘,k說,要能查詢,於是便有了求一段數的和的操作。第四分鐘,彩虹喵說,要是noip難度...
P4145 上帝造題的七分鐘 2 花神遊歷各國
include include include include include include include include include include using namespace std typedef long long ll const int n 1e6 5 ll a n stru...