csu 1806 & csu 1742 (simpson公式+最短路)
1806: Toll
Time Limit: 5 Sec Memory Limit: 128 MB Special Judge
Submit: 256 Solved: 74
[Submit][Status][Web Board]
Description
wants to know the average money he must spend at least if he starts from
city 1 at t∈[0,T]. Note that since Bobo's car is super-fast, traveling on the roads costs him no time.

Input
Output
Sample Input
3 3 2
1 2 1 0
2 3 1 0
1 3 1 1
3 3 2
1 2 1 0
2 3 1 0
1 3 0 5
Sample Output
1.75000000
2.00000000 这东西实在太好用了,可惜省赛不会...simpson公式就是求定积分用的,这题的F函数就是在时间点为 t 时从 1点到n点的最小花费.
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const double INF = ;
struct Edge{
int v,next;
int c,d;
}edge[];
int head[],tot;
int n,m,T;
void init(){
memset(head,-,sizeof(head));
tot = ;
}
void addEdge(int u,int v,int c,int d,int &k){
edge[k].v = v,edge[k].c = c,edge[k].d = d,edge[k].next = head[u],head[u] = k++;
}
double dis[];
bool vis[];
double F(double x){
for(int i=;i<=n;i++){
dis[i] = INF;
vis[i] = false;
}
dis[] = ;
queue<int> q;
q.push();
while(!q.empty()){
int u = q.front();
q.pop();
vis[u] = false;
for(int k = head[u];k!=-;k = edge[k].next){
int v = edge[k].v,c = edge[k].c,d = edge[k].d;
double t = x*c+d;
if(dis[v]>dis[u]+t){
dis[v] = dis[u]+t;
if(!vis[v]){
vis[v] = true;
q.push(v);
}
}
}
}
double ret = dis[n];
return ret;
}
// 三点simpson法。这里要求F是一个全局函数
double simpson(double a,double b){
double c = a+(b-a)/;
return (F(a) + *F(c) + F(b))*(b-a)/;
}
// 自适应Simpson公式(递归过程)。已知整个区间[a,b]上的三点simpson值A
double asr(double a , double b ,double eps ,double A){
double c = a+ (b-a)/;
double L = simpson(a,c) ,R = simpson(c,b);
if(fabs(A-L-R)<=*eps) return L + R +(A-L-R)/;
return asr(a,c,eps/,L) + asr(c,b,eps/,R);
}
// 自适应Simpson公式(主过程)
double asr(double a, double b, double eps) {
return asr(a, b, eps, simpson(a, b));
} int main()
{
while(scanf("%d%d%d",&n,&m,&T)!=EOF){
init();
for(int i=;i<m;i++){
int u,v,c,d;
scanf("%d%d%d%d",&u,&v,&c,&d);
addEdge(u,v,c,d,tot);
}
double ans = asr(,T,1e-)/T;
printf("%.8lf\n",ans);
}
return ;
}
csu 1742
1742: Integral Function
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 79 Solved: 27
[Submit][Status][Web Board]
Description
In mathematics, several function are unable to integral. For example:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAX8AAADYAQMAAAA55HHGAAAABlBMVEX///8AAABVwtN+AAAFC0lEQVR4nO3ZMY/kNBQAYFs+XZq9CeWedEz+wnTsitXkr2xHySKaQawmOa0EDTr+Ab+DAomgK7Y56Voq5BMFraVrXFgx7zlxknHsxIZDRzFPKyXK5Jt1PM6z80LIOc5xjnP8z4MKu/ek29QrgEm796Lb8BWQKbt36DZ30aBv200soE233caCrO62eSywJ2bNMhh6yTaF8WUw/A57e2AFDDH0jlg4aRoHuyOXzprEcN593PnjmNqvfB4JCu4cGHuz9P+HMCjiQDaC2gdY4xzIhwN5MnA/GgFVcFteEVaX9SowgznTPxAqodGakwJPu8Ixm/MgyLUimSTVSy3MpcJQh80CKJgipWT6ey0JtIqULSkbkokg2BNFvpRP9Y8jqELA3F/3MKaxST9BWxBQTXQQ4O95AAB3XPkzNK3Cf1lRBPPxDT9Njt8oIXkhELQH5cNbLyg52UJjB8ApNN588MBqH4Be3D5yBBcGNKQHxXdkmjxtUOiUAken6kE9gFcBoMiWGvBkANqANwiUCxiAPYLWBfnvXpABuEGga5IGKu4CEQQHA6QDMj/ICwmgMWPHAdwP4IsODEABFxEDNvAbCAQ53DgxABO7YNhD8JOfAOa/BgPwhsBfMBbwDPeqNqqXtpjHNrhXJIALc4I+Bc9kGFziHo0DJYKd2dX1yfB+bsBseGM+v+ME1yHVKbhWQWBSdA3nDgAP7MLARAPuBNxisp3f016AWYRw9XQRcAfQpr0gnkQ2BWQKWL0CxCnIHurj5SKQkI4tgPkhf0uOu3G243PQkuMJaM1d3s8PlQfolwonkaqBIQITVa4wifZTFtONB8ANBF+rOdM1ApM17RxXTkDd7zzCLVrpR60KLaDlWTdx9aDwgFqPPQGANQTvkn5in8zv5bg7xmzpsApEIpgtfyZn+cEw5CwYP/OC2RJuFQxLvX61WK0Bdxl6XAN2ZWyvfgIqL7Brb7tWWwV2dc+abjvJTn5gT7RwFdimbEgkcB5p6CR3VI0XXHWbQzQ4eSwrfpOwd7MITh789DtZCNu1ATANxt8LWMLoaJDVnwOg8aAghcgUiwd7eF6gKosH95jO2ryMBtKAi00sgCEO2el4SWIB5BwEV9EAnkch8VW7aJAbUN5GA0hi8JcCjBnytwWlDoQsTaYoXFCFQLs3eWzIruvgaPJYArj3g3AonDDH57MPDyABwCPIvJeWAEsG0KrPeCyA1UGWBgTZAPgiBeD68i+RAD4F8DoFXEPPPohP4sFXsO5/EJexQJI/xW3G5C4a0Nei2SQABc35Y0PlbSSgbc7e/XpDZRMLdJu9LyF515GAaJW1pSADqNdAJZmC9aJdsPmXDtMoOZMwuO1iYB3kNeX5MK9GAPcfnsEZfCzgL0aewb8FuORq0kD+dSK4nDyargekqJ2/khwGd6mAu+Bq6VXIhtDG+birFgdCbghzQVct9gdTAOo5CE4zrN3C84RT0e+qxf7I9Au4QPf1kKkWh4AC4L6VMNXiEJBegJXCINhOn2VNmGpxCAgA7qsYUy32B9McwC8ueLMAGrKl7ls3U/z1By4ICnaoowFeb/HqG/c/iDDAj+W3zhH/K4HJ97ndOr7V8QZrDs6RFTCPZDBWi/4rsNJLHwA8i32T+I/B81RwPStFr8QuFZhqcUqYanFCdNXihOiqxfHRV4vjo68WJ4B2WiKOAV21OAHI8Hzijb5aHB+sGcp75zjHOT5m/A188CFzlzTsVAAAAABJRU5ErkJggg==" alt="" name="图片 1" width="113" height="64" align="bottom" border="0" data-pagespeed-url-hash="2268721189" />
But you can get the answer by computer.
Input
There are no more than T (T<=30) cases. Each case include two integer a, b (0<a <= b<=10).
Output
Each case output an answer.
(Please output the answer by ‘‘ printf (“%d\n”,(int)(answer*10000)) ‘‘ ).
Sample Input
1 1
1 2
2 8
Sample Output
0
6593
-312 这题更好用..直接带进去算
#include <bits/stdc++.h>
using namespace std;
typedef long long LL; double F(double x){
return sin(x)/x;
}
// 三点simpson法。这里要求F是一个全局函数
double simpson(double a,double b){
double c = a+(b-a)/;
return (F(a) + *F(c) + F(b))*(b-a)/;
}
// 自适应Simpson公式(递归过程)。已知整个区间[a,b]上的三点simpson值A
double asr(double a , double b ,double eps ,double A){
double c = a+ (b-a)/;
double L = simpson(a,c) ,R = simpson(c,b);
if(fabs(A-L-R)<=*eps) return L + R +(A-L-R)/;
return asr(a,c,eps/,L) + asr(c,b,eps/,R);
}
// 自适应Simpson公式(主过程)
double asr(double a, double b, double eps) {
return asr(a, b, eps, simpson(a, b));
} int main()
{
double a,b;
while(scanf("%lf%lf",&a,&b)!=EOF){
printf("%d\n",(int)(asr(a,b,1e-)*));
}
return ;
}
csu 1806 & csu 1742 (simpson公式+最短路)的更多相关文章
- CSU 1806 Toll 自适应simpson积分+最短路
分析:根据这个题学了一发自适应simpson积分(原来积分还可以这么求),然后就是套模板了 学习自适应simpson积分:http://blog.csdn.net/greatwall1995/arti ...
- 【最短路】【数学】CSU 1806 Toll (2016湖南省第十二届大学生计算机程序设计竞赛)
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1806 题目大意: N个点M条有向边,给一个时间T(2≤n≤10,1≤m≤n(n-1), ...
- simpson公式求定积分(模板)
#include<cstdio> #include<cmath> #include <algorithm> using namespace std; double ...
- CSU 1333 Funny Car Racing (最短路)
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1333 解题报告:一个图里面有n个点和m条单向边,注意是单向边,然后每条路开a秒关闭b秒 ...
- CSU 1806 Toll
最短路,自适应$Simpson$积分. 看了别人的题解才知道有个东西叫自适应$Simpson$积分. 有这样一个积分公式:$\int_a^b {f(x)dx} \approx \frac{{b - ...
- CSU 2005 Nearest Maintenance Point(最短路+bitset)
https://vjudge.net/problem/CSU-2005 题意:给出带权值的图,图上有一些特殊点,现在给出q个询问,对于每个询问,输出离该点最近的特殊点,如果有多个,则按升序输出. 思路 ...
- 数值积分之Simpson公式与梯形公式
Simpson(辛普森)公式和梯形公式是求数值积分中很重要的两个公式,可以帮助我们使用计算机求解数值积分,而在使用过程中也有多种方式,比如复合公式和变步长公式.这里分别给出其简单实现(C++版): 1 ...
- Simpson公式的应用(HDU 1724/ HDU 1071)
辛普森积分法 - 维基百科,自由的百科全书 Simpson's rule - Wikipedia, the free encyclopedia 利用这个公式,用二分的方法来计算积分. 1071 ( T ...
- 自适应Simpson公式
参考刘汝佳<算法指南>P163 #include<cstdio> #include<cmath> double a; double F(double x){ +*a ...
随机推荐
- 洛谷 P1854 花店橱窗布置 【dp】
题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目.花束可以移动,并且每束花用1到F的整数标识 ...
- BZOJ 1367 [Baltic2004]sequence 解题报告
BZOJ 1367 [Baltic2004]sequence Description 给定一个序列\(t_1,t_2,\dots,t_N\),求一个递增序列\(z_1<z_2<\dots& ...
- Python3 字典 get() 方法
Python3 字典 描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...
- vmware中ubuntu虚拟机扩容
https://blog.csdn.net/ldzm_edu/article/details/78893721
- [转载]js正则表达式语法
1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的 ...
- SpringMVC 重定向
在返回视图名字的字符串前面加forword:或redirect:前缀是就会对他们做特殊处理,它们分别是转发和重定向 我们测试一个重定向操作把 Java代码 @RequestMapping(" ...
- python--生成器协程运算
生成器 一.yield运行方式 我们定义一个如下的生成器: def put_on(name): print("Hi {}, 货物来了,准备搬到仓库!".format(name)) ...
- shizhong
<script charset="Shift_JIS" src="http://chabudai.sakura.ne.jp/blogparts/honehonecl ...
- 前端PHP入门-027-数组常用函数-掌握级别
下面的函数一定要到熟悉甚至到掌握级别. 这些函数,也是面试中基础面试中最爱问到的问题. 函数名 功能 array_combine() 生成一个数组,用一个数组的值作为键名,另一个数组值作为值 rang ...
- git相关网址
git入门教程: 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b00 ...