SRM 440(1-250pt, 1-500pt)

DIV1 250pt

题意:小球从一段折线斜坡上滚下来,告诉所用时间,求重力加速度。

解法:二分答案模拟即可。

tag:二分,simulation

  1 // BEGIN CUT HERE
  2 /*
  3  * Author:  plum rain
  4  * score :
  5  */
  6 /*
  7 
  8  */
  9 // END CUT HERE
 10 #line 11 "IncredibleMachine.cpp"
 11 #include <sstream>
 12 #include <stdexcept>
 13 #include <functional>
 14 #include <iomanip>
 15 #include <numeric>
 16 #include <fstream>
 17 #include <cctype>
 18 #include <iostream>
 19 #include <cstdio>
 20 #include <vector>
 21 #include <cstring>
 22 #include <cmath>
 23 #include <algorithm>
 24 #include <cstdlib>
 25 #include <set>
 26 #include <queue>
 27 #include <bitset>
 28 #include <list>
 29 #include <string>
 30 #include <utility>
 31 #include <map>
 32 #include <ctime>
 33 #include <stack>
 34 
 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_back
 40 #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)<<endl
 44 #define tst(a) cout<<a<<" "
 45 #define tst1(a) cout<<#a<<endl
 46 #define CINBEQUICKER std::ios::sync_with_stdio(false)
 47 
 48 typedef vector<int> vi;
 49 typedef vector<string> vs;
 50 typedef vector<double> vd;
 51 typedef pair<int, 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 IncredibleMachine
 59 {
 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[i+1])*(y[i]-y[i+1]) + (x[i]-x[i+1])*(x[i]-x[i+1]));
 68                 double a = g * (y[i] - y[i+1]) / d;
 69                 double t = (-v + sqrt(v*v+2*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 HERE
 89     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 vector<T> &V) { ostringstream os; os << "{ "; for (typename vector<T>::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 HERE
 99 
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术 Leader 怎样带跨一个团队?

网上很多分析大公司&#xff0c;小公司的文章&#xff0c;都会提到在大公司工作就是螺丝钉&#xff0c;岗位分的非常细&#xff0c;每个人把自己的专职工作做好就行&#xff1b;而在小公司需要每个人都是多面手&#xff0c;一岗多职。这种观点我同意一半&#xff0c;在小公司中…

我怀疑全国最会吹牛的人,都在这8个公众号上了

全世界只有3.14 % 的人关注了青少年数学之旅学习如逆水行舟&#xff0c;不进则退&#xff1b;只有坚持不断的学习,才能保持进步。今天给大家精心挑选的这几个优质的公众号&#xff0c;在行业深耕已久&#xff0c;相信大家一定会有所收获&#xff0c;感兴趣的可以关注一下。Pyth…

信息化之路------广州行

刚刚参加完SAP在广州举办的“红海战略的成功之路”的主题演讲&#xff0c;同时也给SAP在广州的合作伙伴做了一次培训&#xff0c;在这次广州行的过程中&#xff0c;深深地感觉到“企业信息化广州还行”&#xff01; 这次广州之行体会颇深&#xff0c;主要有以下几点&#xff1a…

CSS hack:区分IE6 IE7 Firefox

区别不同浏览器&#xff0c;CSS hack写法&#xff1a;区别IE6与FF&#xff1a;background:orange;*background:blue;区别IE6与IE7&#xff1a;background:green !important;background:blue;区别IE7与FF&#xff1a;background:orange; *background:green;区别FF&#xff0c;IE…

win1编辑java环境,在win7下配置java编译环境

今天刚接触java编程&#xff0c;环境的配置方法比较复杂。好记性不如烂笔头&#xff0c;发个文章记录一下吧。win7系统 Jdk版本1.6用鼠标右击“我的电脑”->属性->高级->环境变量系统变量->新建->变量名&#xff1a;JAVA_HOME 变量值&#xff1a;D:Program File…

linux磁盘管理------LVM

一、需求分析1&#xff0c;当我们需要存储一个500G的不可分割文件时&#xff0c;但是我们设备上没有这么大的单个磁盘。2&#xff0c;当我们在搭建一个服务&#xff0c;由于日常运转产生大量文件&#xff0c;磁盘容量不够用了&#xff0c;怎么办&#xff1f;添加磁盘&#xff0…

在 .NET 中创建对象的几种方式的对比

在 .net 中&#xff0c;创建一个对象最简单的方法是直接使用 new (), 在实际的项目中&#xff0c;我们可能还会用到反射的方法来创建对象&#xff0c;如果你看过 Microsoft.Extensions.DependencyInjection 的源码&#xff0c;你会发现&#xff0c;为了保证在不同场景中的兼容性…

.NET设计模式(16):模版方法(Template Method)

摘要&#xff1a;Template Method模式是比较简单的设计模式之一&#xff0c;但它却是代码复用的一项基本的技术&#xff0c;在类库中尤其重要。主要内容1&#xff0e;概述2&#xff0e;Template Method解说3&#xff0e;.NET中的Template Method模式4&#xff0e;适用性及实现要…

数学界最恐怖的存在,学过数学的人,一辈子都不会忘记!

全世界只有3.14 % 的人关注了青少年数学之旅何谓数学&#xff1f;数学家Eduardo曾这样回答“数学是永恒&#xff0c;是真理&#xff0c;是一切的答案。”回首往昔数学始终伴随我们左右纵横交错的几何、繁琐复杂的运算难以求解的方程、无从下手的猜想......尽管在数学道路上有多…

把我的爱送给你――C#3.5(这题目似乎写错了)

本文发表于 中国IT实验室周报。这是我初次写给杂志社稿件&#xff0c;其中必有许多不足之处&#xff0c;还望大家见谅&#xff0c;虽然这篇文章质量可能不太高&#xff0c;但我希望能将个人的这些总结与大家分享。 从笔者接触编程至今&#xff0c;经历了数种编程语言&#xff0…

php左连接,如何在php中对左联接查询返回的数组数据进...

我有以下具有以下值的2表&#xff1a;tbl_brandID名称1个苹果2三星tbl_productsID brand_id p_name1个1移动2个1 Earpods3 2移动在这里,当我使用左联接查询即选择’b’.’id’作为’brand_id’,’b’.’name’作为’brand_name’,’p’.’p_name’作为’product_name’FROM’tb…

Blazor 数据绑定开发指南

翻译自 Waqas Anwar 2021年3月21日的文章 《A Developer’s Guide to Blazor Data Binding》 [1]现如今&#xff0c;大多数 Web 应用程序要么是在页面上显示某种数据&#xff0c;要么是使用表单从用户那里收集数据。这意味着每个 SPA 框架都必须支持数据绑定&#xff0c;以便开…

lr中winsock协议的脚本(转载51testing)

winsock协议代码Actions(){char acTest[100];char acTest2[100];char* pcTest3;//生成发送的串sprintf(acTest,"kkkhhhh\r\n";//指定发送的串lrs_set_send_buffer ("socket0", acTest, strlen(acTest));//发送&#xff0c;由于之前运行了lrs_set_send_buff…

葛优:你们有看过我的作品吗?| 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅

阳江海滩景色一瞥

前几天同学去阳江的海边玩了2天&#xff0c;海景相当不错&#xff0c;不敢独享&#xff0c;特来贴图。 转载于:https://www.cnblogs.com/absolute8511/archive/2008/05/24/1649638.html

php-fpm 超时,PHP超时的坑

结合去年国庆和过年期间平台碰到的一些问题&#xff0c;下面主要介绍的是PHP里面会涉及到的各种超时以及其中存在的坑。Nginx的超时配置fastcgi_connct_timeout 60Nginx和fastcgi进程建立连接的超时时间&#xff0c;默认60秒&#xff0c;如果超过了这个时间就断开连接。fastcgi…

琪琪格的私人日记!

琪琪格的私人日记&#xff01; 不要的就干脆放弃&#xff0c;不要再回头看往情留下的痕迹&#xff0c;自己终究要逃离这个圈&#xff0c;选择走自己该走的路&#xff0c;给他留下百分的祝福&#xff0c;已足够。拥有过爱情的人才知这份难舍的痛楚&#xff0c;为了自己爱的他而离…

使用表达式自定义Serilog输出格式

Serilog是.NET Core中常用的结构化日志类库&#xff0c;透过logging API可以轻松的记录应用程式中对象属性&#xff0c;方便快速进行logging内容进行查询与分析&#xff0c;并将其记录内容通过指定方式输出。今天&#xff0c;介绍一个Nuget包Serilog.Expressions&#xff0c;它…

php实现电脑自动关机,用批处理实现电脑自动关机

虽然大家学过了一些Windows的命令,但用批处理来与用户交互并实现自动关机可能还没有试过吧.自己做一个关机程序,感觉可不一样.下面我们就利用Windows 的批处理脚本,来实现自动关机的功能,程序不算复杂,功能可一点都不少哦!本程序在Windows xp/2000/2003环境下测试通过.第一步:打…

人才是培养的吗? (转)

上段时间和朋友谈到一个人的职业发展问题&#xff0c;人总是想向上走&#xff0c;也想不搞技术&#xff0c;也想管理&#xff0c;也想创业&#xff0c;也想发财。其实我想有些是不适合的&#xff0c;以前听人说&#xff0c;想起老家的一句话&#xff1a;“别人教的曲唱不得”&a…