2021 HUASACM第二週周練題解

2021-10-19 11:00:33 字數 2872 閱讀 6544

新年快樂~

這次是我們精心為你們準備的題目,題目難度沒有很難。周練的目的是為了在學到一點知識的同時也讓寒假在家對程式設計不那麼陌生。好好享受吧~。

簽到題,判斷字串是不是」abc「的的排列。兩種解法

c++:

#include

using

namespace std;

intmain()

return0;

}

c:

#include

int a, b, c;

intmain()

if(a ==

1&& b ==

1&& c ==1)

//如果各自都為1則輸出yes

printf

("yes\n");

else

printf

("no\n");

}return0;

}

也是簽到題,思路:破洞的座標都知道,只要判斷所有破洞的座標都在圓內就可以。判斷點在圓內方法: (x−

a)2+

(y−b

)2

<=r

2(x-a)^+(y-b)^<=r^

(x−a)2

+(y−

b)2<=r

2複雜度o(t*n)

#include

using

namespace std;

double a,b,r;

double

jud(

double a,

double b)

//判斷是否超出圓

intmain()

if(temp)

printf

("no\n");

else

printf

("yes\n");

}return0;

}

還是簽到題

可以直接模擬。複雜度o(n)

#include

using

namespace std;

intmain()

}return0;

}

當然,我們還可以用求根公式算:

化解我們可以得到:

375 x2

+625x−

ans=

0375x^+625x-ans=0

375x2+

625x

−ans

=0公式:−b±

b2−4

ac2a

\frac-4ac}}

2a−b±b

2−4a

c​​複雜度o(1)

#include

using

namespace std;

intmain()

依舊是簽到題。

#include

using

namespace std;

intmain()

//從小到大列舉,最大不超過b

for(

int i =

max(b - k +

1, a + k)

; i <= b; i++

)//同理

return0;

}

模板題,快速冪模板,複雜度log(n)。

#include

typedef

long

long ll;

using

namespace std;

intmain()

cout << ans;

return0;

}

本來應該是壓軸題,暴力模擬應該是過不了的。資料問題沒卡成。

模擬沒啥好講的,直接上**:

複雜度o(n2n^

n2)

#include

typedef

long

long ll;

using

namespace std;

intmain()

scanf

("%d"

,&k)

;while

(k--

)return0;

}

o(n2n^

n2) 的複雜度2e5的資料數量級達到了10。在acm中,1秒最多允許執行8的數量級。這題出題人資料的鍋沒卡成。(手動滑稽)正確的做法應該是字首和加差分。

思路:首先用差分計算q次區間加。然後字首和變為原陣列,然後再一次字首和。(注意,兩次字首和!)

#include

#define ll long long

using

namespace std;

const

int mod=

1e9+7;

const

int n=

2e5+10;

ll a[n]

;ll sum[n]

;//求字首和

ll pre[n]

;//差分進行區間加減

intmain()

cin>>q;

int l,r,x;

for(

int i=

1; i<=q; i++

)for

(int i=

1; i<=n; i++

) cin>>k;

for(

int i=

1; i<=k; i++

)return0;

}

第二週作業

實驗作業 1.編寫調式執行第乙個c 程式,要求輸出你的班級 姓名和學號 2.輸入課本例題1.2,除錯執行程式,並分析程式。3.分析程式中哪些是識別符號,哪些是關鍵字。4.回答什麼是程式 工程,原始檔 目標檔案 執行檔案 編譯預處理 名字空間 函式.主函式 功能 顯示輸出班級 姓名 學號 includ...

第二週作業

第一題 include stdafx.h int main int argc,char argv 第二題 include using namespace std int max int x,int y int main 好吧,老師我實在不知道錯在 啊。我都是照著書本來打的,打了幾次還是這樣。第三題 ...

第二週作業

作業1 輸出學生的班級 姓名和學號 include using namespace std int main 以下是主函式 int main 主函式 int number1,number2 定義兩個基本整型變數 number1和number2 cout 請輸入兩個數 輸出 請輸入兩個數 cin nu...