网站推广怎么做优化,网站建设可行性的分析,做网站相关人员,那里做直播网站DIV1 250pt 题意#xff1a;小球从一段折线斜坡上滚下来#xff0c;告诉所用时间#xff0c;求重力加速度。 解法#xff1a;二分答案模拟即可。 tag:二分#xff0c;simulation 1 // BEGIN CUT HERE2 /*3 * Author: plum rain4 * score :5 */6 /*7 8 */9 // END CUT…DIV1 250pt 题意小球从一段折线斜坡上滚下来告诉所用时间求重力加速度。 解法二分答案模拟即可。 tag:二分simulation 1 // BEGIN CUT HERE2 /*3 * Author: plum rain4 * score :5 */6 /*7 8 */9 // END CUT HERE10 #line 11 IncredibleMachine.cpp11 #include sstream12 #include stdexcept13 #include functional14 #include iomanip15 #include numeric16 #include fstream17 #include cctype18 #include iostream19 #include cstdio20 #include vector21 #include cstring22 #include cmath23 #include algorithm24 #include cstdlib25 #include set26 #include queue27 #include bitset28 #include list29 #include string30 #include utility31 #include map32 #include ctime33 #include stack34 35 using namespace std;36 37 #define clr0(x) memset(x, 0, sizeof(x))38 #define clr1(x) memset(x, -1, sizeof(x))39 #define pb push_back40 #define sz(v) ((int)(v).size())41 #define all(t) t.begin(),t.end()42 #define zero(x) (((x)0?(x):-(x))eps)43 #define out(x) cout#x:(x)endl44 #define tst(a) couta 45 #define tst1(a) cout#aendl46 #define CINBEQUICKER std::ios::sync_with_stdio(false)47 48 typedef vectorint vi;49 typedef vectorstring vs;50 typedef vectordouble vd;51 typedef pairint, int pii;52 typedef long long int64;53 54 const double eps 1e-8;55 const double PI atan(1.0)*4;56 const int inf 2139062143 / 2;57 58 class IncredibleMachine59 {60 public:61 vi x, y;62 double gao(double g)63 {64 int n sz(x);65 double v 0, sum 0;66 for (int i 0; i n-1; i){67 double d sqrt((y[i]-y[i1])*(y[i]-y[i1]) (x[i]-x[i1])*(x[i]-x[i1]));68 double a g * (y[i] - y[i1]) / d;69 double t (-v sqrt(v*v2*a*d)) / a;70 sum t; v a*t;71 }72 return sum;73 }74 75 double gravitationalAcceleration(vector int X, vector int Y, int T){76 x X; y Y;77 int cnt 0;78 double l 0, r inf;79 while (cnt 1000){80 double mid (l r) / 2;81 if (gao(mid) T) r mid;82 else l mid;83 cnt;84 }85 return l;86 }87 88 // BEGIN CUT HERE89 public:90 void run_test(int Case) { if ((Case -1) || (Case 0)) test_case_0(); if ((Case -1) || (Case 1)) test_case_1(); if ((Case -1) || (Case 2)) test_case_2(); }91 private:92 template typename T string print_array(const vectorT V) { ostringstream os; os { ; for (typename vectorT::const_iterator iter V.begin(); iter ! V.end(); iter) os \ *iter \,; os }; return os.str(); }93 void verify_case(int Case, const double Expected, const double Received) { cerr Test Case # Case ...; if (Expected Received) cerr PASSED endl; else { cerr FAILED endl; cerr \tExpected: \ Expected \ endl; cerr \tReceived: \ Received \ endl; } }94 void test_case_0() { int Arr0[] {0,6}; vector int Arg0(Arr0, Arr0 (sizeof(Arr0) / sizeof(Arr0[0]))); int Arr1[] {100,22}; vector int Arg1(Arr1, Arr1 (sizeof(Arr1) / sizeof(Arr1[0]))); int Arg2 4; double Arg3 9.807692307692307; verify_case(0, Arg3, gravitationalAcceleration(Arg0, Arg1, Arg2)); }95 void test_case_1() { int Arr0[] {0,26,100}; vector int Arg0(Arr0, Arr0 (sizeof(Arr0) / sizeof(Arr0[0]))); int Arr1[] {50,26,24}; vector int Arg1(Arr1, Arr1 (sizeof(Arr1) / sizeof(Arr1[0]))); int Arg2 4; double Arg3 26.743031720603582; verify_case(1, Arg3, gravitationalAcceleration(Arg0, Arg1, Arg2)); }96 void test_case_2() { int Arr0[] {0,7,8}; vector int Arg0(Arr0, Arr0 (sizeof(Arr0) / sizeof(Arr0[0]))); int Arr1[] {10,6,0}; vector int Arg1(Arr1, Arr1 (sizeof(Arr1) / sizeof(Arr1[0]))); int Arg2 7; double Arg3 1.1076837407708007; verify_case(2, Arg3, gravitationalAcceleration(Arg0, Arg1, Arg2)); }97 98 // END CUT HERE99
100 };
101
102 // BEGIN CUT HERE
103 int main()
104 {
105 // freopen( a.out , w , stdout );
106 IncredibleMachine ___test;
107 ___test.run_test(-1);
108 return 0;
109 }
110 // END CUT HERE View Code DIV1 500pt 裸的高斯消元求解概率dp。。。。。。转载于:https://www.cnblogs.com/plumrain/p/srm_440.html