题目链接 Simpson积分公式:\[\int_a^bf(x)dx\approx\frac{b-a}{6}\left[f(a)+f(b)+4f(\frac{a+b}{2})\right]\] 推导过程大概就是,令\(f(x)=Ax^2+Bx+C\),代进去求一下积分就好了? 自适应是指根据区间大小控制精度.满足精度要求时直接返回. 那个,有人知道asr是指什么吗..(什么的缩写?) //0ms 1.7MB #include <cmath> #include <cstdio> #in…
洛谷P4525 [模板]自适应辛普森法1 与P4526[模板]自适应辛普森法2 P4525洛谷传送门 P4525题目描述 计算积分 结果保留至小数点后6位. 数据保证计算过程中分母不为0且积分能够收敛. 输入格式 一行,包含6个实数a,b,c,d,L,R 输出格式 一行,积分值,保留至小数点后6位. 输入输出样例 输入 #1复制 1 2 3 4 5 6 输出 #1复制 2.732937 我的理解 求面积 说明/提示 a,b,c,d∈[-10,10] -100≤L<R≤100 且 R-L≥1 So…
参考:https://phqghume.github.io/2018/05/19/%E8%87%AA%E9%80%82%E5%BA%94%E8%BE%9B%E6%99%AE%E6%A3%AE%E6%B3%95/ 以及洛谷不多的题解. 辛普森推导过程就看参考吧,当然你要想看懂推导需要: 1.会高中导数那点东西,至少知道原函数怎么求. 2.粗略了解定积分. 3.知道微积分第一.第二基本定理(从知乎上找的:https://www.zhihu.com/question/21439225). 然后推导就很…
P4526 [模板]自适应辛普森法2 洛谷传送门 题目描述 计算积分 保留至小数点后5位.若积分发散,请输出"orz". 输入格式 一行,包含一个实数,为a的值 输出格式 一行,积分值或orz 输入输出样例 输入 #1复制 2.33 输出 #1复制 1.51068 说明/提示 a<=50 请注意时空限制. Solution 这和辛普森公式又啥关系?上限可是正无穷! 带着好奇心,我打开了几何画板. 几何画板 这……这么快就收敛了?!?!?! 看看a=50? 随便把B放在3边上.结果…
P4525 [模板]自适应辛普森法1 #include <bits/stdc++.h> using namespace std; ; double a, b, c, d, l, r; inline double f(double x) { return (c*x+d)/(a*x+b); } inline double simpson(double l, double r) { ; *f(mid)+f(r))*(r-l)/; } inline double asr(double l, doubl…
P4526 [模板]自适应辛普森法2 #include <bits/stdc++.h> using namespace std; ; double a; inline double f(double x) { return pow(x,a/x-x); } inline double simpson(double l, double r) { ; *f(mid)+f(r))*(r-l)/; } inline double asr(double l, double r, double eps, d…
LINK:自适应辛普森法1 观察题目 这个东西 凭借我们的数学知识应该是化简不了的. 可以直接认为是一个函数 求定积分直接使用辛普森就行辣. 一种写法: double a,b,c,d; double f(double x){ return (c*x+d)/(a*x+b); } //区间[a,b]上的辛普森值 double simpson(double a,double b){ double c=a+(b-a)/2; return (f(a)+4*f(c)+f(b))*(b-a)/6; } //区…
To 洛谷.3373 [模板]线段树2 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含三个整数N.M.P,分别表示该数列数字的个数.操作的总个数和模数. 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值. 接下来M行每行包含3或4个整数,表示一个操作,具体如下: 操作1: 格式:1 x y k 含义:将区间[x,y]内每个数乘上k 操作2: 格式:…
To 洛谷.3375 KMP字符串匹配 题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next.如果你不知道这是什么意思也不要问,去百度搜[kmp算法]学习一下就知道了. 输入输出格式 输入格式: 第一行为一个字符串,即为s1(仅包含大写字母) 第二行为一个字符串,即为s2(仅包含大写字母) 输出格式: 若干行,每行包含一个整数,表示s2在s1中出现的位置 接下来1行,包括length(s2)个整…
为了优化体验(其实是强迫症),蒟蒻把总结拆成了两篇,方便不同学习阶段的Dalao们切换. LCT总结--应用篇戳这里 概念.性质简述 首先介绍一下链剖分的概念(感谢laofu的讲课) 链剖分,是指一类对树的边进行轻重划分的操作,这样做的目的是为了减少某些链上的修改.查询等操作的复杂度. 目前总共有三类:重链剖分,实链剖分和并不常见的长链剖分 重链剖分 实际上我们经常讲的树剖,就是重链剖分的常用称呼. 对于每个点,选择最大的子树,将这条连边划分为重边,而连向其他子树的边划分为轻边. 若干重边连接在…