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...