**:csust訓練3
a 三分的題目,給出燈高,人高,以及和牆的距離,求最長的影子長度。 light bulb
zoj 3203
本來我是三分角度,角度[0,atan(h/d)],測試資料都是對的,但是wa了,我到現在還是不知道為什麼........
後來是三分投在牆上的影子長度,[0,h],投在牆上的影子最多是h。
**: 0ms
1 #include 2 #include 3 #include 4這道題還有個數學方法,直接求峰值,詳情見: (表示膜拜,用數學方法的都膜拜)using
namespace
std;
5int
main()
626 printf("
%.3lf\n
",l2);27}
28return0;
29 }
b 求最長回文子串的長度,如果暴力0(n^2)果斷超時,要用manacher演算法。
優化原因見:
**: 360 ms/15000ms 10936kb/65536kb 這道題的時間限制真長......從沒做過15s的題orz
1 #include2 #include3 #include4c minimum inversion numberusing
namespace
std;
5#define n 1000008
6char str[n], str1[n<<1];7
int p[n<<1];8
intmaxx;
9void
manacher()
10
32if( p[i]-1>maxx )
33 maxx=p[i]-1; //
更新最長長度
34} 35}
36int
main()
3745 }
hdu 1394 大意是給n個數,分別是0~n-1,前面的數比後面的數大的數對有多少個,算好之後把第乙個數移到最後,又算.......最後求最小的數對是多少個。此題用線段樹做,但是我還沒看線段樹,過一陣再補上,先講下不用線段樹的做法。
** : 265ms
1 #include 2 #include 3d line beltusing
namespcae std;
4int
main()
524 printf("
%d\n
",minn);25}
26return0;
27 }
hdu 3400 三分疊三分
**: 0ms ,注意不能用while,用do....while,因為至少要執行一次,算ab,cd 間的距離
1 #include2 #include3 #include4 #include5 #include6 #includee 超級簡單,母函式解決 fruit7using
namespace
std;
8struct
point9;
12double
dis(point a,point b)
1316
double
p,q,r;
17double find2(point a,point c,point d)//
三分cd
18while(dis(left,right)>1e-5
);
37return
t2;38}39
double find(point a,point b,point c,point d) //
三分ab
40while(dis(left,right)>=1e-5
);59
return
t2;60}61
intmain()
6273
return0;
74 }
hdu 2152
**: 0ms
1 #include 2 #include 3 #include4using
namespace
std;
5int a[105],b[105];6
int c1[10005],c2[10005];7
intmain()
826 printf("
%d\n
",c1[m]);27}
28return0;
29 }
8月22日小練
8月21日小練 a find the shortest common superstring hdu 1841 b 免費餡餅 hdu 1176 dp 思路 從時間後往前推,dp i j 表示在i,j地能接到的最多的餡餅數。46ms 1 include 2 include 3 include 4usi...
8月19日小練
csust訓練 a 小q系列故事 絲的逆襲 hdu 4500 一道以前就做過的題,而且當時也做出來了,就是找到乙個得分最高的位置,女為正數,男為負數,與鄰居性別不同則加上絕對值,否則相減。15ms 1 include2 include3 include 4using namespace std 5i...
8月15日小練
csust練習5 a n hdu 1042 n的階乘,大數相乘,這裡的n 10000,故可以用陣列不用字串。1546ms 1 include 2 include 3 using namespace std 4int a 40000 5 intmain 615 a 0 1 0 記錄陣列的長度 16 a...