#10.4考試總結
阿新 • • 發佈:2018-10-04
沒有 lse .... 計算 als get 就是 數據 隨機
10.4考試總結
P1017 進制轉換
題目裏的進制轉換跟最開始做的區別就是這個權值是負數......在短除過程中可能會有各種問題.....
我想用短除就必須要解決這個負數的問題:-3/-2=2 要做到這個樣子.....系統從來不會讓你好過:-3%-2=-1,總會為難你一下。就需要自己想辦法來解決這個問題
-m+n%m 這個樣子就可以解決了.....然後題目就簡單了起來。棧儲存結果,或者遞歸輸出隨意就好
P1004 方格取數
沒有仔細看數據範圍。在認證研讀了一邊以後.....這.....(嗶~~)就是一道水題.......
各種暴力方法盡管上就好了。
暴力跑一遍就沒有問題了
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) for(int k=1;k<=n;k++) for(int l=1;l<=n;l++) { f[i][j][k][l]=max(max(f[i-1][j][k-1][l],f[i-1][j][k][l-1]),max(f[i][j-1][k-1][l],f[i][j-1][k][l-1]))+a[i][j]+a[k][l]; if(i==k&&l==j)f[i][j][k][l]-=a[i][j]; }
P1027 Car的旅行路線
我覺得最難的就是建圖(主要是找第四個點),其實就是普通的跑一遍圖就可以出結果.....
因為是隨機三個點,所以可以數學一下
搬運一下為什麽(WHY)大佬的的代碼
bool check(city x,int p1,int p2,int p3) { if(dis(x.x[p2],x.y[p2],x.x[p3],x.y[p3])== dis(x.x[p1],x.y[p1],x.x[p2],x.y[p2])+ dis(x.x[p1],x.y[p1],x.x[p3],x.y[p3]) ) return true; return false; } void get_4(city &x) { for(int k=0;k<3;k++) if( check(x,k,(k+1)%3,(k+2)%3) ) { x.x[3]=x.x[(k+1)%3]+x.x[(k+2)%3]-x.x[k]; x.y[3]=x.y[(k+1)%3]+x.y[(k+2)%3]-x.y[k]; } }
當然暴力也可以啊
就是各種判斷找點的位置,然後計算
#10.4考試總結