春节前后想了好久才在队友的讲解下想明白…… 太难讲了,我就不讲了,大概就是考虑直着走到高速上还是斜着走到高速上,然后平移直线和大圆相切,把生成的最大的“桥”和大圆并一下就行了. #include<cstdio> #include<cmath> using namespace std; #define EPS 0.00000000001 const double PI=acos(-1.0); double v0,v1,D,T; double x0,R,x3,x1,Y1,k,b,A,B…
LINK:月下柠檬树 之前感觉这道题很鬼畜 实际上 也就想到辛普森积分后就很好做了. 辛普森积分法的式子不再赘述 网上多的是.值得一提的是 这道题利用辛普森积分法的话就是一个解析几何的问题 而并非计算几何. 求面积的并也没有什么好的方法 不能使用半平面交 因为不是一个凸多边形. 决定使用辛普森之后 容易想到 要求出 函数f(x)的式子. 考虑 当x处于一个圆中时 容易求得f(x) 利用勾股定理即可 考虑在梯形内时 容易发现在两圆的公切线上. 求出公切线的解析式就完事了.这个问题 容易使用相似三角…
原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ2178.html 题目传送门 - BZOJ2178 题意 给出 $n(n\leq 1000)$ 个圆,求面积并. 所有圆的圆心坐标和半径都是绝对值不大于 1000 的整数. 题解 自适应辛普森积分模板题.注意先删掉被其他圆包含的圆. 但是 bzoj 大概是加过数据了,网上大部分直接自适应辛普森的代码都 TLE 了. 有一种卡常方法效果很好: 把 x 坐标按照整点划分成 $O(1000)$ 个区间,对于…
VJ题目链接 题意:平面上有n个点,在x轴上放一些点,使得平面上所有点都能找到某个x轴上的点,使得他们的距离小于d.求最少放几个点. 思路:以点为中心作半径为d的圆,交x轴为一个线段.问题转换成用最少的店覆盖所有的线段.经典贪心.按右点从小到大排序,然后从左往右扫,每次选择区间右点就行了. 代码: #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using…
计算科学(也称科学计算 scientific computation 或 SC)是一个快速增长的多学科领域,使用先进的计算能力来理解和解决复杂的问题. 计算科学包括三个不同的方面: 1. 开发用于解决科学(例如生物,物理和社会).工程.人文问题的算法(数值和非数值),或建模软件,或仿真软件:    2. 计算机和信息科学,开发和优化高级系统硬件,软件,网络和数据管理组件,解决计算要求严苛的问题:    3. 计算基础设施,支持科学和工程问题解决.发展计算机和信息科学: 在实际使用中,通常是从数值…
有一个陶罐,陶罐是由函数Y=2+cosX,截取x=Z1到x=Z2段后,形成的旋转体,陶罐只有底x=Z1,没有盖子. 问陶罐能乘多少的水(体积),以及它的表面积 体积还是比较好求的,直接用旋转体体积公式,pi*∫[z1,z2](2+cosX)2dX=  pi* ( 4sinX+sin2X/4+9X/2 | [z1,z2] ) 比较难求的是表面积,套用旋转体侧面积公式,2pi*∫[z1,z2](2+cosX)*sqrt(1+sin2X)dX 然而这个积分相当难求(好像是第二类椭圆积分),我们需要用辛…
前两天对学习了R里面计算的基本范围,以及一些求解方程的方法,今天来看看积分,其实上个学期学了数值分析,对这部分的算法是有所了解的,当时是用matlab写了一遍,已经忘了怎么实现的了,现在用R重新写一遍吧,算法有梯形积分法,辛普森积分法,自适应积分法. 梯形积分法 梯形积分法可以用下图很好的解释 就是将微积分的时候用的方法,取Δx,则一小块面积就约等于f(x)*Δx,连续函数在Δx趋于0的时候,该公式会越来越精确. ###设置小数位数 options(digits = 8) func1 <- fu…
题目:Toll 传送门:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1806 题目简述:给定n个点m条有向边的有向图,每条边的花费是$b_i * t +d_i$,设f(t)表示给定t的时候1-n的最小花费,求:${\frac{\int_0^T{f(t)dt}}{T}}$ 分析: (1)f(t)可用最短路求出来. (2)积分值可用自适应辛普森积分法计算. 注意:有向图! 代码: #include <cstdio> #include <…
辛普森积分法 - 维基百科,自由的百科全书 Simpson's rule - Wikipedia, the free encyclopedia 利用这个公式,用二分的方法来计算积分. 1071 ( The area ) #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #include <cmath> using namespace std;…
题意:很复杂的题意,我描述不清楚. 题目链接:http://acm.bnu.edu.cn/bnuoj/contest_show.php?cid=3033#problem/33526 大致是,给定一个起点,一个终点,和一些墙,这些墙是不能越过的,然后一个人他每次走可以往四个方向走,可以加速,可以减速,也可以匀速. 也不一定是四个方向,因为他有一个VX,VY,所以每次走的方向其实都是不固定的,所以的四个方向就是他加速度的方向就是这四个.大家理解就好. 然后要从起点开始,走到终点,问最少需要多少步,而…