題意是給定兩個點的位置,過原點引一條射線穿過第乙個點,射線位置作為斜面位置,第二個點處令一小球自由落體,問小球能碰撞到斜面幾次。
開始時想算出兩次碰撞中小球沿斜面運動的距離,然後發現每一段距離會因為高度差導致動能不斷變大,然後一臉懵......
直到看了別人的題解,才想起運動分解來(這可是高中基礎知識,罪過)。
將小球受到的重力在平行於斜面和垂直於斜面方向分解,小球在平行於斜面方向做初速度為0的勻加速直線運動,在垂直於斜面方向做類自由落體(初速度為0的勻加速直線)運動,由於能量不會因碰撞而損耗,那麼只要求出小球沿斜面方向運動時在斜面上方的總時間,再求出小球在垂直於斜面方向上做勻加速直線運動加勻減速直線運動(乙個週期)的單次碰撞時間(因為兩次運動的對稱性,此處算半週期就可以),用總時間除以單次碰撞的時間就是答案。(注意第一次碰撞所花時間只有半週期的時間)
1 #include 2 #include 3view codeusing
namespace
std;
4int
main()
524 ans += t / pt / 2; //
計算小球剩餘的時間能完成多少來回(即碰撞次數)
25 printf("
%d\n
",ans);26}
27return0;
28 }
HDU 6373 多校第六場1012 高中物理題
打比賽的時候不是我敲的,自己回去補題的時候寫了下,需要理解高中物理的自由落體和勻加速直線運動,將斜面上的不規則跳動轉化為兩個分運動,就可以了 include include include include include include include include include include...
hdu1285 hdu4857 拓撲排序
一 原題內容 problem description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在...
樹狀陣列 hdu2689 hdu2838
題意 給定乙個正整數n,和乙個1 n的乙個排列,每個數可以和旁邊的兩個數的任意乙個交換,每交換一次總次數就要加一,問將這個排列轉換成乙個遞增的排列需要多少次交換?題意可以轉換成求這個排列的逆序對數。include include include include using namespace std...