上帝造題的七分鐘2 花神遊歷各國(分塊)

2022-04-29 23:54:10 字數 824 閱讀 8385

好吧,樓下有分塊的解法,那麼我就再闡述一遍好了

本以為暴力分塊為\(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...