ধরি, M=107+19M = 10^7 + 19.

সবার আগে ধরি, g=6g=6 হচ্ছে MMএর প্রিমিটিভ রুট। প্রিমিটিভ রুট বের করতে সময় লাগে O(M)\mathcal{O}(\sqrt{M}))। সুতরাং সংজ্ঞানুযায়ী, আমরা শূণ্য নয় এমন কোন সংখ্যাকে gg এর পাওয়ার এবং MMএর মডুলো আকারে প্রকাশ করতে পারি। আবারো ধরি, FigGi(modM)F_i \equiv g^{G_i} \pmod{M}. লক্ষণীয় যে, একটি নির্দিষ্ট মডMMএর জন্য, এমন কোন k106k \le 10^6 নাই যা Fk0(mod M)F_k \equiv 0 \, (\textrm{mod}\ M)শর্তটি পূরণ করে। সুতরাং আমাদের ০ নিয়ে চিন্তা করতে হবে না। সকল GiG_i যেখানে 0<i<M0 < i < M, কে O(M)\mathcal{O}(M)এ হিসাব করে বের করা যাবে।

এখন ধরি, FlFrgGlFr(modM)F_l^{F_r} \equiv g^{G_l \cdot F_r}\pmod M

তা হলে, আমাদের ইকুয়েশনটি দাঁড়ায়, P(k)l=1nr=l,MEX(l,r)=kngGlFr(modM)P(k) \equiv \prod\limits_{l \,=\, 1}^{n}{\prod\limits_{\substack{r \,=\, l,\\ MEX(l,\, r) \,=\, k}}^{n}{ g^{G_l \cdot F_r}}}\pmod M
অথবা, P(k)gl=1nr=l,MEX(l,r)=knGlFr(modM)P(k) \equiv g^{\sum\limits_{l \,=\, 1}^{n}{\sum\limits_{\substack{r \,=\, l,\\ MEX(l,\, r) \,=\, k}}^{n}{G_l \cdot F_r}}} \pmod M

সুতরাং, আমাদেরকে এই GlFr{G_l \cdot F_r}গুণফলগুলোর যোগফল নির্ণয় করতে হবে।

ধরি, ansk=i=knP(k)ans_k = \sum\limits_{i = k}^{n}{P(k)}। তা হলে আমরা ০ থেকে nnএর মধ্যে সবগুলো kk এর জন্য anskans_k এর মান বের করবো।

এখন leftleft অ্যারেটি বানাতে হবে যেখানে, leftrleft_r rr থেকে ছোট বা সমান রেঞ্জের সর্বোচ্চ ইনডেক্স যার প্রতিটা ইনডেক্স lleftrl \le left_rএর জন্য [l,r][l, r] পর্যন্ত সাব-অ্যারের MEX অবশ্যই k\ge kহবে। MEX হচ্ছে সর্বনিম্ন অৠণাত্মক সংখ্যা যা এই সাব-অ্যারেতে অনুপস্থিত।

এখন আমরা থেকে nn এর মধ্যে সকল kk এর জন্য leftleft অ্যারেটি বের করি। k+k + ১ এর জন্য অ্যারেটি বানানোর জন্য আমরা aa তে kk এর উপস্থিতি থাকলে সেটা দিয়ে leftleft কে আপডেট করবো। এটার জন্য আমাদেরকে নিম্নবর্ণিত কাজ দুটি করতে হবে:

  • রেঞ্জ আপডেট যেমন (L,R)(L, R) রেঞ্জ এবং ইন্টিজার xx এর জন্য: lefti=min(lefti,x):LiRleft_i = \min(left_i, x): L\le i \le R

  • রেঞ্জ আপডেট যেমন: Fi(G1+G2++Glefti):1inF_i \cdot (G_1 + G_2 + \dots + G_{left_i}): 1 \le i \le nএর যোগফল।

আমরা এই অংশটুকু সেগমেন্ট ট্রি বিটসের সাহায্যে সমাধান করতে পারি। এই ব্যাপারে আরো জানতে সেটারের সলিউশন দেখুন।

এখানে আরো লক্ষ্যণীয় যেleftleft একটি নন-ডিক্রিসিং অ্যারে। সুতরাং সাধারণ সেগমেন্ট ট্রি দিয়েও অপারেশনটি করা যায়।

সামগ্রিক কমপ্লেক্সিটি: O(nlog(n)+M)\mathcal{O}(n \, log(n) + M).

সেটারের সলিউশনের জন্য: এখানে ক্লিক করুন

Statistics

78% Solution Ratio
Um_nikEarliest, Jun '21
user.794723Fastest, 1.0s
nusuBotLightest, 108 MB
Deshi_TouristShortest, 4088B
Toph uses cookies. By continuing you agree to our Cookie Policy.