Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Same0620 committed Sep 22, 2024
2 parents c1226b8 + c1fcfd7 commit 08350c9
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 9 deletions.
14 changes: 9 additions & 5 deletions pC/statement/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@

眾所周知,神魔之塔是一款發行已久的遊戲,而角色的強度越來越誇張,
在遊戲剛推出時,毒龍還需要靠伊登隊慢慢磨,而現在新角色隨便手轉傷害便會破兆,
但這都不是重點,重點是在某片遙遠的大陸上,也存在著這麼一座神魔之塔。\
這座神魔之塔其實早期也不能稱之為「塔」,因為他最初只有一層,但第一層的神魔覺得這樣太廢了,因此決定擴建神魔之塔到 $n$ 層。每層神魔之塔在蓋好後,其中會孕育一顆魔胎,而這顆魔胎的初始戰力為 $1$,但這麼弱的神魔實在是太遜咖了,因此在魔胎即將孵化之時,在他樓下的所有神魔都會幫他進行洗禮以提升他的戰力,而由於住的越高獲得的視野越好,因此住在較高樓層的神魔需要幫忙洗禮較多次。我們稱一次強度為 $k$ 的洗禮,會使得受洗神魔的戰力變為原本的 $k$ 倍,則住在第 $i$ 層的神魔幫第 $j$ 層的神魔洗禮時,需要進行 $i$ 次強度為 $gcd(i, j)$ 的洗禮。\
值得注意的是,由於第一層的神魔誕生時,沒有樓下的其他神魔幫忙洗禮,因此他的戰力只有 $1$。同時,我們也可以預見,位於質數層的神魔即使有其他神魔的洗禮,戰力也只會有 $1$,但正如那句老話:「人生全靠投胎,失敗只能重開。」想來對於神魔而言,這句話也是成立的。\
然而,富有正義感的城之內覺得這樣會讓神魔之塔的整體戰力太過強大,因此為了限制神魔之塔,他決定翻開覆蓋的陷阱卡「六芒星的束縛」,該卡的作用會讓過去進行的某些特定強度的洗禮無效,只留下其中 $m$ 種強度分別為 $c_1, c_2, ..., c_m$ 的洗禮仍然有效。也就是說,若過去某神魔受到了這 $m$ 種強度以外的洗禮,則該洗禮對神魔戰力的影響將會消失。\
神魔之塔的眾神魔在受到「六芒星的束縛」影響後,都感受到了自身戰力或多或少的降低,因此,為了反抗,他們決定融合第 $a$ 樓到第 $b$ 樓的神魔,以產生一個戰力超群的大神魔Ex,而他的戰力會是被融合的所有神魔戰力的乘積。但由於事關重大,因此神魔們希望進行 $q$ 次模擬融合,第 $i$ 次模擬會融合第 $a_i$ 樓到第 $b_i$ 樓的所有神魔,請你輸出該次融合產生的大神魔Ex的戰力會有多少。若答案過大,則對 $998244353$ 取模。\
但這都不是重點,重點是在某片遙遠的大陸上,也存在著這麼一座神魔之塔。

這座神魔之塔其實早期也不能稱之為「塔」,因為他最初只有一層,但第一層的神魔覺得這樣太廢了,因此決定擴建神魔之塔到 $n$ 層。每層神魔之塔在蓋好後,其中會孕育一顆魔胎,而這顆魔胎的初始戰力為 $1$,但這麼弱的神魔實在是太遜咖了,因此在魔胎即將孵化之時,在他樓下的所有神魔都會幫他進行洗禮以提升他的戰力,而由於住的越高獲得的視野越好,因此住在較高樓層的神魔需要幫忙洗禮較多次。我們稱一次強度為 $k$ 的洗禮,會使得受洗神魔的戰力變為原本的 $k$ 倍,則住在第 $i$ 層的神魔幫第 $j$ 層的神魔洗禮時,需要進行 $i$ 次強度為 $gcd(i, j)$ 的洗禮。

值得注意的是,由於第一層的神魔誕生時,沒有樓下的其他神魔幫忙洗禮,因此他的戰力只有 $1$。同時,我們也可以預見,位於質數層的神魔即使有其他神魔的洗禮,戰力也只會有 $1$,但正如那句老話:「人生全靠投胎,失敗只能重開。」想來對於神魔而言,這句話也是成立的。

然而,富有正義感的城之內覺得這樣會讓神魔之塔的整體戰力太過強大,因此為了限制神魔之塔,他決定翻開覆蓋的陷阱卡「六芒星的束縛」,該卡的作用會讓過去進行的某些特定強度的洗禮無效,只留下其中 $m$ 種強度分別為 $c_1, c_2, ..., c_m$ 的洗禮仍然有效。也就是說,若過去某神魔受到了這 $m$ 種強度以外的洗禮,則該洗禮對神魔戰力的影響將會消失。

神魔之塔的眾神魔在受到「六芒星的束縛」影響後,都感受到了自身戰力或多或少的降低,因此,為了反抗,他們決定融合第 $a$ 樓到第 $b$ 樓的神魔,以產生一個戰力超群的大神魔Ex,而他的戰力會是被融合的所有神魔戰力的乘積。但由於事關重大,因此神魔們希望進行 $q$ 次模擬融合,第 $i$ 次模擬會融合第 $a_i$ 樓到第 $b_i$ 樓的所有神魔,請你輸出該次融合產生的大神魔Ex的戰力會有多少。若答案過大,則對 $998244353$ 取模。

## 輸入
TODO: 輸入說明
Expand Down
4 changes: 2 additions & 2 deletions pD/gen/gen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include <bits/stdc++.h>
using namespace std;
inline long long int randomint(){
return pow(10.,rnd.next(1.,18.));
return pow(10.,rnd.next(1.,17.));
}
int main(int argc, char* argv[]){
registerGen(argc, argv, 1);
Expand All @@ -17,6 +17,6 @@ int main(int argc, char* argv[]){
else cout<<(idx%3==1?rnd.next(100,1000):idx%3==2?rnd.next(100000,1000000):rnd.next(100000000,1000000000))<<" \n"[i==n-1];
}
for(int i=0;i<n;i++){
cout<<(idx%5==1?rnd.next(100,1000):idx%5==2?rnd.next(10000000,100000000):idx%5==3?rnd.next(1000000000000,10000000000000):idx%5==4?(long long int)1e18:randomint())<<" \n"[i==n-1];
cout<<(idx%5==1?rnd.next(100,1000):idx%5==2?rnd.next(10000000,100000000):idx%5==3?rnd.next(100000000000,1000000000000):idx%5==4?(long long int)1e17:randomint())<<" \n"[i==n-1];
}
}
2 changes: 1 addition & 1 deletion pD/statement/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Angus 在菜寮種的菜可以平均劃分為 $n$ 個區域種植不同的蔬菜
- $1\le n\le 10^6$
- $0\le c\le 10^{18}$
- $1\le a_i\le 10^9$
- $1\le v_i\le 10^{18}$
- $1\le v_i\le 10^{17}$

## 子任務
\subtasks
Expand Down
2 changes: 1 addition & 1 deletion report.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
| solution | [:x:](pA/solution)<br>[correct.cpp](pA/solution/correct.cpp) | [:x:](pB/solution)<br>[correct.cpp](pB/solution/correct.cpp) | [:x:](pC/solution)<br>[correct.cpp](pC/solution/correct.cpp) | [:white_check_mark:](pD/solution) | [:x:](pE/solution)<br>[correct.cpp](pE/solution/correct.cpp) | [:white_check_mark:](pF/solution) |
| validator | [:x:](pA/validator)<br>[validator.cpp](pA/validator/validator.cpp) | [:x:](pB/validator)<br>[validator.cpp](pB/validator/validator.cpp) | [:x:](pC/validator)<br>[validator.cpp](pC/validator/validator.cpp) | [:x:](pD/validator)<br>[validator.cpp](pD/validator/validator.cpp) | [:x:](pE/validator)<br>[validator.cpp](pE/validator/validator.cpp) | [:x:](pF/validator)<br>[validator.cpp](pF/validator/validator.cpp) |
| subtasks.json<br>global_validators | [:white_check_mark:](pA/subtasks.json) | [:white_check_mark:](pB/subtasks.json) | [:white_check_mark:](pC/subtasks.json) | [:warning:](pD/subtasks.json) Not set | [:white_check_mark:](pE/subtasks.json) | [:warning:](pF/subtasks.json) Not set |
| tests | [:x:](pA/tests)<br>[Auto build disabled](pA/gen/DISABLE_AUTO_BUILD) | [:x:](pB/tests)<br>[Auto build disabled](pB/gen/DISABLE_AUTO_BUILD) | [:x:](pC/tests)<br>[Auto build disabled](pC/gen/DISABLE_AUTO_BUILD) | [:x:](pD/tests)<br>[Auto build disabled](pD/gen/DISABLE_AUTO_BUILD) | [:x:](pE/tests)<br>[Auto build disabled](pE/gen/DISABLE_AUTO_BUILD) | [:x:](pF/tests)<br>[Auto build disabled](pF/gen/DISABLE_AUTO_BUILD) |
| tests | [:x:](pA/tests)<br>[Auto build disabled](pA/gen/DISABLE_AUTO_BUILD) | [:x:](pB/tests)<br>[Auto build disabled](pB/gen/DISABLE_AUTO_BUILD) | [:x:](pC/tests)<br>[Auto build disabled](pC/gen/DISABLE_AUTO_BUILD) | [:x:](pD/tests)<br>[Auto build disabled](pD/gen/DISABLE_AUTO_BUILD) | [:x:](pE/tests)<br>[Auto build disabled](pE/gen/DISABLE_AUTO_BUILD) | [:white_check_mark:](pF/tests)<br>[Auto build disabled](pF/gen/DISABLE_AUTO_BUILD) |
| statement/index.md | [:x:](pA/statement/index.md) | [:x:](pB/statement/index.md) | [:x:](pC/statement/index.md) | [:white_check_mark:](pD/statement/index.md) | [:x:](pE/statement/index.md) | [:white_check_mark:](pF/statement/index.md) |
| statement/index.pdf | [:x:](pA/statement/index.pdf)<br>[Auto build disabled](pA/statement/DISABLE_AUTO_BUILD) | [:x:](pB/statement/index.pdf)<br>[Auto build disabled](pB/statement/DISABLE_AUTO_BUILD) | [:x:](pC/statement/index.pdf)<br>[Auto build disabled](pC/statement/DISABLE_AUTO_BUILD) | [:x:](pD/statement/index.pdf)<br>[Auto build disabled](pD/statement/DISABLE_AUTO_BUILD) | [:x:](pE/statement/index.pdf)<br>[Auto build disabled](pE/statement/DISABLE_AUTO_BUILD) | [:x:](pF/statement/index.pdf)<br>[Auto build disabled](pF/statement/DISABLE_AUTO_BUILD) |

Expand Down

0 comments on commit 08350c9

Please sign in to comment.