算法竞赛宝典
佛西程序媛
优秀一点,与世无争一点。
展开
-
分治算法——折半查找法
折半查找二分查找算法根据边界情况不同,一般可分为两种情况,一中是左闭右开区间,类似于[left,right),一种是左闭右闭区间,在非递归二分中,必须遵守一定的区间规则,否则会造成程序错误,即区间不能够重复。思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。【题目描述】折半查找法(half.cpp/c/pas)大魔导师培根曾经...原创 2019-07-13 18:02:08 · 2212 阅读 · 0 评论 -
poj1650 近似整数
每个分子和分母都在[1,L]中,因此,每一个分母都存在一个使分子/分母最接近A然后比较出最小误差的分子网上有种叫追赶法不太理解#include<iostream>#include<cstdio>#include<cstdlib>#include<iostream>#include<cmath>#include&...原创 2019-08-02 20:57:33 · 200 阅读 · 0 评论 -
逃亡
#include<iostream>#include<cstdio>#include<cstdlib>#include<iostream>#include<cmath>#include<algorithm>#define Max 100001using namespace std;typedef long ...原创 2019-08-02 21:57:44 · 222 阅读 · 0 评论 -
快速幂优化
普通方法是逐个相乘,但是速度相当慢:fun(long long x,long long n) { for(int i = 0; i < n; i++) { x *= x; } return x;}拿来说,可分为:2*2*2*2*2*2*2*2*2,由于2*2=4,进一步可以写成4*4*4*4*2,由此类推,可以写成8*8*2;需要判断...原创 2019-08-04 19:51:19 · 330 阅读 · 0 评论 -
poj3273 花费
转载自:http://exp-blog.com/2018/06/24/pid-1059/-------------------------------------------------------------------------大致题意:给出农夫在n天中每天的花费,要求把这n天分作m组,每组的天数必然是连续的,要求分得各组的花费之和应该尽可能地小,最后输出各组花费之和中的最大值...转载 2019-08-04 21:25:48 · 103 阅读 · 0 评论 -
循环比赛
问题描述: 设有n=2^k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次; (2)每个选手一天只能参赛一次; (3)循环赛在n-1天内结束; (4)每个元素占用空间为四个字符; 请按此要求将比赛日程表设计成有n行和n-1列的一个表。在表中的第i行,第j列处填入第i个...原创 2019-08-05 21:00:57 · 546 阅读 · 0 评论 -
解一元三次方程noip2001
题目描述有形如:ax^3+bx^2+cx^1+dx^0=0ax3+bx2+cx1+dx0=0这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,da,b,c,d均为实数),并约定该方程存在三个不同实根(根的范围在-100−100至100100之间),且根与根之差的绝对值\ge 1≥1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后22位。提示:记...原创 2019-08-08 17:07:29 · 495 阅读 · 0 评论 -
交叉的梯子PKU2507
Crossed laddersTime Limit:1000MS Memory Limit:65536K Total Submissions:5476 Accepted:2070 DescriptionA narrow street is lined with tall buildings. An x foot long ladder is...原创 2019-08-08 21:16:44 · 500 阅读 · 0 评论