![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法竞赛入门经典
linjiayina
hello world!
展开
-
算法竞赛入门经典——暴力求解法
算法竞赛入门经典——暴力求解法 生成1~n的排列 void print_permutation(int n,int* A,int cur){ if(cur==n){ for(int i=0;i<n;i++){ printf("%d ",A[i]); } printf("\n"); } else{ for(int i=1;i<=n;i++){ int o...原创 2020-01-17 17:32:56 · 380 阅读 · 0 评论 -
算法竞赛入门经典——数据结构基础
算法竞赛入门经典——数据结构基础 再谈栈和队列 问题:铁轨(UVa 514) 某城市有一个火车站,有n节车厢从A方向驶入车站,按进站顺序编号为1~n。你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶出车站。例如,出栈顺序(5 4 1 2 3)是不可能的,但(5 4 3 2 1)是可能的。 为了重组车厢,你可以借助中转站C。这是一个可以停放任意多节车厢的车站,但由于末端封顶,驶入C的...原创 2020-01-17 16:05:34 · 362 阅读 · 0 评论 -
算法竞赛入门经典——C++与STL入门
算法竞赛入门经典——C++与STL入门 C++在string头文件里定义了string类型,直接支持流式读写。string有很多方便的函数和运算符,但速度有些慢。 考虑这样一个题目:输入数据的每行包含若干个(至少一个)以空格隔开的整数,输出每行中所有整数之和。如果只能使用字符与字符数组,一般由两种方案:一是使用getchar()边读边算,代码较短,但容易写错,并且相对较难理解;二是每次读取一行,然...原创 2020-01-17 12:42:03 · 625 阅读 · 0 评论 -
算法竞赛入门经典——函数和递归
算法竞赛入门经典——函数和递归 hypot函数 hypot(dx,dy)=sqrt(dx*dx+dy*dy); 例:求(x1,y1),(x2,y2)之间的距离 struct Point{ double x,y; }; double dist(struct Point a,struct Point b) { return hypot(a.x-b.x,a.y-b.y); } ...原创 2020-01-16 20:39:15 · 172 阅读 · 0 评论 -
算法竞赛入门经典——数组和字符串
算法竞赛入门经典——数组和字符串 注意点: 1.比较大的数组应尽量声明在main函数外,否则程序可能无法运行。 2.C语言的数组并不是“一等公民”,而是“受歧视”的。例如,数组不能够进行赋值操作,如果声明“int a[maxn],b[maxn]”,是不能赋值b=a的。如果要从数组a复制k个元素到数组b,可以这样做:memcpy(b,a,sizeof(int)*k)。当然,如果数组a和b都是浮点型的...原创 2020-01-16 18:54:10 · 278 阅读 · 0 评论 -
算法竞赛入门经典——循环结构程序设计
算法竞赛入门经典——循环结构程序设计 for循环 例题:输出所有形如aabb的4位完全平方数(即前两位数字相等,后两位数字也相等)。 方法一: #include<cstdio> #include<cmath> int main() { for(int a=1;a<=9;a++){ for(int b=0;b<=9;b++){ int n=a*1100...原创 2020-01-16 17:34:42 · 191 阅读 · 0 评论