NOIP2016提高組A組7 16 第三條跑道

2021-07-15 02:30:33 字數 2116 閱讀 7876

對於乙個序列a,給定兩個操作

0:將l~r乘上x

1:查詢πr

i=lφ

(a[i

])mo

d1000000007

對於每個詢問輸出答案

5 2 3 4 5 6

3 1 1 5

0 2 3 6

1 2 3

32 48

發下小於600的素數只有109個 然後φ

的公式為φ(

n)=n

(1−1

p1)(

1−1p

2)(1

−1p3

)……

那麼只需要維護a[l~r]的積和每個素數在[l~r]區間內出現的次數即可

110棵線段樹

#include

#include

#include

#include

#define ll long long

#define fo(i,a,b) for(int i=a;i<=b;i++)

#define n 10100

#define mo 100000007

using namespace std;

ll n,m,a[n],root[610],sb[610],ny[610];

struct note;

note t1[500000];

struct nooe;

nooe t[120][50100];

ll mi(ll a,ll b)

void dow(int v,int i,int j)

void cha(int v,int i,int j,int

x,int

y,int z)

intm=(i+j)/2;if(t1[v].l>1) dow(v,i,j);

if(y

<=m) cha(v*2,i,m,x,y,z);

else

if(x>m) cha(v*2+1,m+1,j,x,y,z);

else cha(v*2,i,m,x,m,z),cha(v*2+1,m+1,j,m+1,y,z);

t1[v].d=t1[v*2].d*t1[v*2+1].d%mo;

}ll fin(int v,int i,int j,int

x,int

y)void down(int

q,int v,int i,int j)

void insert(int

q,int v,int i,int j,int

x,int

y) if(t[q][v].l) down(q,v,i,j);int

m=(i+j)/2;

if(y

<=m) insert(q,v*2,i,m,x,y);

else

if(x>m) insert(q,v*2+1,m+1,j,x,y);

else insert(q,v*2,i,m,x,m),insert(q,v*2+1,m+1,j,m+1,y);

t[q][v].d=t[q][v*2].d+t[q][v*2+1].d%mo;

}ll find(int

q,int v,int i,int j,int

x,int

y)int main()

if(bz) root[i]=++root[0],ny[root[0]]=mi(i,mo-2),sb[root[0]]=i;

}fo(j,1,n*50) t1[j].d=t1[j].l=1;

fo(i,1,n) scanf("%lld",&a[i]),cha(1,1,n,i,i,a[i]);

fo(i,1,n)

if(jy>1) insert(root[jy],1,1,n,i,i);

}int

q;scanf("%d",&q);

for(;q;q--)

printf("%lld\n",ans);

}else

if(z>1) insert(root[z],1,1,n,x,y);}}

}

NOIP2016提高組總結

這次noip可以用幾個字來形容 浪的飛起,頹的不行。中午從校門出發,在車上睡了半個車程。4 00左右,霧比較大,遠處的小蠻腰若隱若現。你好,廣州。5 00,symbol叫我們去看考場,結果被拒在門外,然後大家都散了。我與其它幾位小夥伴匆匆吃完飯,回到酒店,該看電視看電視,中途開會,提醒我們一些注意事...

NOIP2016 提高組 總結

這是倒數第三次noip了。今年我初三。去年的傷痕還未褪去,我在比賽前意識到,當務之急其實是鞏固基礎而非深究一些難題。於是賽前兩周,我認真讀了白書的前面部分,尤其重點練習了dp。dp作為基礎演算法之一,其靈活性極高,所以可以出得很難,也是各種比賽的寵兒。練好dp是尤為重要的。賽前好幾場模擬賽都做得很爛...

NOIP2016提高組總結

來到了廣州,不錯啊,旁邊的飯店很多,可以好好的腐一下了。一群人走進了乙個小巷,住進了乙個七天酒店,發現房間裡面好小啊。吃完飯後,一直都在腐敗。通知開會的同學並沒有到我們的房間來,結果在結束開會的前幾分鐘我們才過去。早早的睡了 第一天,狀態不錯。早早的到了考場。開啟c 發現除錯不了,嚇了我一大跳。做到...