前言
今年(2021年),CCF發布了NOI Linux 2.0以及關于NOI系列活動中編程語言使用限制的補充說明,NOI系列比賽的面貌似憾訓然一新了,這次更新多出了很多小東西,代碼更加自由了,而抱靈的幾率大大增加了……
NOI Linux 2.0
- 以下內容較水,可直接跳到下一節——int128,
從九月一日開始,NOI Linux 2.0正式替代了舊版的NOI Linux,然而作為SD參賽選手并沒有機會使用……
但是我們也應該感到僥幸,因為NOI Linux 2.0并沒有提供一個很方便的IDE,
不過我還是裝了個虛擬機感受了一下:

是純英文的,看不大很懂,自己瞎搞,感覺不大好,可能是虛擬機的問題,
這里給出CCF提供的壁紙,都是原圖,直接從NOI Linux里拿出來的,
圖片有點大,可能會卡,
初始壁紙:

CCF提供的一些全網征集的壁紙:






還有一些偏娛樂性質的壁紙:


可以在Settings(設定)中找到這些壁紙并且切換,
似乎效果不錯,很有感覺,設計者確實用心了,不知道CCF給沒給稿費:

瀏覽器是Firefox:

軟體:



可以看到提供了VS,然而CCF只提供了在線插件,VS似乎只能用作文本編輯了,
由于SD選手仍然使用windows 7/10,這里不再闡述NOI Linux 2.0的具體使用方法,
int128

評測系統是64位的,這意味著,我們可以使用
int128
\text{int128}
int128!
有符號 int128 \text{int128} int128 表示的范圍為 [ ? 2 127 , 2 127 ? 1 ] [-2^{127},2^{127}-1] [?2127,2127?1],無符號 int128 \text{int128} int128 的范圍為 [ 0 , 2 128 ? 1 ] [0,2^{128}-1] [0,2128?1],
int128 \text{int128} int128 的宣告與 int \text{int} int、 long long \text{long long} long long 等型別相同:
__int128 x;//有符號
__uint128_t y;//無符號
int128 \text{int128} int128 的運算與 int \text{int} int、 long long \text{long long} long long 等也相同,
使用
int128
\text{int128}
int128 時唯一需要特別注意的一點是,cin/cout 以及 scanf/printf 無法讀寫
int128
\text{int128}
int128,我們只能使用自己撰寫的讀寫(即快讀和快寫),這里提供一個
簡單好記的模板:
__int128 qread()
{
__int128 s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
s=s*10+ch-'0';
ch=getchar();
}
return s*w;
}
void print(__int128 s)
{
if(s<0)
{
putchar('-');
s=-s;
}
if(s>9)
print(s/10);
putchar(s%10+'0');
}
另外,我不確定在SD垃圾的本機環境下能否編譯 int128 \text{int128} int128,建議試機時嘗試一下,如果不能編譯,這里給出一個有效的方法:使用 long long \text{long long} long long 撰寫程式以及讀寫,確定無誤后把 long long \text{long long} long long 全部替換為 int128 \text{int128} int128,
其他
- 可以使用下劃線開頭的函式
- 可以使用pb_ds
- 不能使用
gets() register無效- 使用萬能頭注意變數和函式名
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/330456.html
標籤:其他
上一篇:視頻解說:二分查找通用模板
下一篇:Java虛擬機——JVM總結
