PAT甲級入門刷題記錄(一)

2021-10-16 09:43:32 字數 3292 閱讀 6064

2020.1.15-2020.1.16

advance level

1001 a+b format

題意:輸入兩個數進行加法,結果按照每三位乙個逗號進行標準輸出,資料量小,可以暴力,也可以使用邊計算邊輸出。

1002 a+b for polynomials

題意:兩個多項式相加。可以使用map(也可以暴力用兩個指標輪著掃)。悄悄貼npy給的**。

#include

#include

#include

#include

using

namespace std;

map<

int,

double

>f;

int k;

int n;

double an;

intmain()

scanf

("%d"

,&k)

;for

(int i=

1;i<=k;

++i)

vector<

int>memo;

for(

auto t:f)

for(

auto t:memo)

printf

("%d"

,f.size()

);for(

auto t:f)

return0;

}

1003 emergency

迪傑斯特拉的應用。

從源點出發,每次走距離源點最近的點。(貪心)

這篇部落格寫的很好!

#include

using

namespace std;

#define mem(a) memset(a,0,sizeof(a))

const

int maxn=

550;

const

int inf=

99999999

;struct node

;int d[maxn]

;//距離(從已知源點到某點的距離)

int sum[maxn]

;//條數

int num[maxn]

;//最大人數

int cnt[maxn]

;//人數

int mark[maxn]

;//標記

vectoradj[maxn]

;void

dijkstra

(int s,

int n)}if

(u==-1

)return

; mark[u]=1

;for

(int i=

0;i.size()

;i++

)elseif(

!mark[id]

&& d[u]

+adj[u]

[i].cost==d[id])}

}}}int

main()

for(

int i=

0;i)dijkstra

(c1,n)

; cout<<<

" "<

3 1 0 1

1 2 3

1 2 1

0 2*/

1005 spell it right

map的應用

#include

using

namespace std;

map<

int,string> alph;

intmain()

//coutwhile

(sum>=1)

j--; cout

1;j>=

0;j--

) cout<}

1007 maximum subsequence sum

暴力也能過,寫了個動態規劃的。

#include

using

namespace std;

int a[

10010];

int dp[

10010];

intmain()

int temp=0;

//int maxn=0;

temp=dp[0]

=a[0];

//把temp初始a[0]也是為了k=1,防止不計算

for(

int i=

0;i(dp[i]

>maxn)}if

(maxn>=0)

printf

("%d %d %d\n"

,maxn,s,e)

;else

printf

("0 %d %d\n"

,a[0

],a[k-1]

);}

1008 elevator

小學數學題?

1009 product of polynomials

跟1002幾乎一樣注意更改細節就好啦!

#include

using

namespace std;

map<

int,

double

>f1;

map<

int,

double

>f2;

intmain()

cin>>k;

for(

int i=

0;ivector<

int>del;

for(

auto j:f2)

for(

auto i:del)

cout

;for

(auto j:f2)

cout<}

1011 非常簡單。略。

1054 the dominant color

講來講去就是找眾數。

#include

using

namespace std;

#define ll long long

unordered_mapint>f;

intmain()

}}cout<}

PAT 甲級 1145 解題記錄

這題遇到了兩個大問題 處理碰撞的函式搞錯了 計算查詢長度時,沒有考慮 本來就沒有嘗試插入的情況,只考慮到插入但是失敗的情況 對於探測失敗 為什麼到 tsize,當j tsize時 j j tsize tsize,於是 h key j j tsize h key 即j 0 時的情況,即回到原來的地方了...

pat 刷題記錄 pat 乙級 刷題 1002

讀入乙個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10 100 在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後乙個拼音數字後沒有空格。123456789098765432...

PAT甲級刷題

給定兩個字串s1和s2,刪除s1中在s2 現過的字元設定flag陣列,初始化為0。遍歷s2並將其字元轉化為ascii碼值,並在flag陣列中相應位置值標記為1,表示它出現過。再遍歷s1,若對應字元ascii碼值在flag陣列中相應位置值標記為0,則輸出。就是hash的思想,時間複雜度o len s1...