摘要: 题目:给一个方程,求解方程的解。已给出解的范围,并且可知方程等号左侧的函数是递减的,可用二分法进行试探,直到得出给定误差范围内的解。 1 #include 2 #include 3 #define EPSILON 1e-9 4 5 int p, q, r, s, t, u; 6 7 double f(double x) 8 { 9 return p*exp(-1.0*x) + q*sin(x) + r*cos(x) + s*tan(x) + t*x*x + u;10 }11 12 int main()13 {14 #ifdef LOCAL15 freopen("in... 阅读全文
posted @ 2013-07-24 19:00 xiaobaibuhei 阅读(162) 评论(0) 推荐(0)
摘要: 题目大意:也是区间覆盖问题,是关于书籍查询的,和UVa 10020差不多,不过比那个简单,不用判断是否能覆盖,直接输出最小个数就行了。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define MAXN 5000+10 6 7 struct Interval 8 { 9 int l, r;10 };11 12 Interval interval[MAXN];13 14 bool cmp(const Interval a, const Interval b)15 {16 if (a.l != b... 阅读全文
posted @ 2013-07-24 16:05 xiaobaibuhei 阅读(176) 评论(0) 推荐(0)
摘要: 题目大意:以[L, R]的形式给出线段的左右端点,给出一些线段,判断是否能完全覆盖区间[0, m],如果能,算出所需线段的最小个数并输出线段。 区间覆盖问题,用贪心策略。“ 突破口是区间包含和排序扫描,不过要先进行一次预处理,每个区间在[s, t](对应本题的[0, m])外的部分都应该先被切掉。在预处理后,在相互包含的情况下,小区间显然不应该被考虑。把各区间按照左边界从大到小排序。如果区间1的起点不是s, 无解,否则选择起点在s的最长区间。选择区间[ai, bi]后,新的起点应该设置为bi,并且忽略所有区间在bi之前的部分,就像预处理一样。” ——摘自《算法竞赛入门经典》 虽然说的意... 阅读全文
posted @ 2013-07-24 16:00 xiaobaibuhei 阅读(410) 评论(0) 推荐(0)