- 博客(49)
- 收藏
- 关注
原创 求解平方根
求解平方根3种方法:二分法 递归+位操作法 牛顿迭代法介绍第二种递归操作方法:本方法的思路是使用递归,每一步都减小xx,直到x < 2x<2。当x < 2x<2时有有 sqrt(x)=x无需减小。当x >= 2x>=2时,减小方法如下: mySqrt(x)=2*mySqrt(x/4)减小 xx 可以用左移或右...
2020-04-10 13:43:52 733
原创 Matlab(一)数值数据
1.数值数据类型的分类(1)整型无符号8位整数数据范围:00000000~11111111(0~28-1)。 带符号8位整数数据范围:10000000~01111111(-27~27-1)。(2)浮点型single函数:将其他类型的数据转换为单精度型。 double函数:将其他类型的数据转换为双精度型。(3)复型复型数据包括实部和虚部两个部分,实部和虚部默认为双精度型,虚数...
2020-03-31 00:58:08 502
原创 《阿哈!算法》4-3 解救小哈——广度优先搜索
广度优先搜索:使用队列实现广度优先搜索代码:#include <stdio.h>#include <stdlib.h>#include <math.h>#include <ctype.h>#include <string.h>const int max=1000;struct note{ int x; ...
2019-04-09 14:48:49 490
原创 《阿哈!算法》4-1不撞南墙不回头 4-2 解救小哈——深度优先搜索
深度优先搜索关键在于解决“当下该如何做”。至于“下一步如何做”则与当下该如何做“是一样的。深度优先搜索模型:void dfs(int step){ 判断边界,一般在这里输出最终的结果 尝试每一种可能for(int i=1;i<=n;i++) { 标记 继续下一步dfs(step+1); 收回标记 }...
2019-04-08 12:00:43 472
原创 《阿哈!算法》2-5 模拟链表——用数组来实现链表
链表中的每一个结点只有两个部分。即data和struct node * next;构成:第一个整型数组data是用来存放序列中具体数字的。另一个整型数组right是用来存放当前序列中每一个元素右边的元素在数组data中位置的。例如right[1]的值为2,就表示当前序列中的1号元素右边的元素存放在data[2]中:如果是0,例如right[9】的值为0,就表示当前序列中9号元2s 素的右边没有...
2019-04-08 10:43:36 269
原创 《阿哈!算法》2-4链表
指针:存储一个地址,确切地说是存储一个内存空间的地址。malloc函数的作用是从内存中申请分配指定字节大小的分配空间。可以用 malloc(sizeof(int));申请。我们用指针来对这空间进行操作。用一个指针指向这个空间,即存储这个空间的首地址。 struct node *q; p=(struct node *)malloc(sizeof(struct ...
2019-04-07 23:56:11 188
原创 《阿哈!算法》2-2解密回文——栈
栈的实现之需要一个一维数组和一个指向栈顶的变量top即可。通过top对栈进行插入和删除操作。初始化栈只需要top=0;入栈:top++;s[top]=x;简写为s[++top]=x;栈可以用来判断回文,验证括号的匹配等题目代码如下:#include <stdio.h>#include <stdlib.h>#include <math.h>...
2019-04-07 22:45:59 326 2
原创 《阿哈!算法》2-1解密QQ号——队列
新学期开始了,小哈是小哼的新同桌(小哈是个小美女哦~),小哼向小哈询问QQ号,小哈当然不会直接告诉小哼啦,原因嘛你懂的。所以小哈给了小哼一串加密过的数字,同时小哈也告诉了小哼解密规则。规则是这样的:首先将第1个数删除,紧接着将第2个数放到这串数的末尾,再将第3个数删除并将第4个数再放到这串数的末尾,再将第5个数删除……直到剩下最后一个数,将最后一个数也删除。按照刚才删除的顺序,把这些删除的数连在一...
2019-04-07 19:49:08 492
原创 《算法竞赛入门经典》6-8树TREE UVA548——二叉树的递归遍历/深度优先遍历DFS
You are to determine the value of the leaf node in a given binary tree that is the terminal node of apath of least value from the root of the binary tree to any leaf. The value of a path is the sum o...
2019-04-06 21:12:25 249
原创 《算法竞赛入门经典》6-7 Trees on the level UVA122——二叉树的层次遍历(宽度优先遍历BFS)
Trees on the level UVA - 122Trees are fundamental in many branches of computer science (Pun definitely intended). Current state- of-the art parallel computers such as Thinking Machines’ CM-5 ...
2019-04-06 16:50:19 318
原创 《算法竞赛入门经典》6-6小球下落——二叉树的编号
6.3.1 二叉树的编号6-6 Dropping BallsA number of K balls are dropped one by one from the root of a fully binary tree structure FBT. Each time the ball being dropped first visits a non-terminal node. It the...
2019-04-06 14:52:41 299
原创 An easy problem HDU - 2055(对char和int的理解;Xcode中字符输入分输入法)
we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, ... f(Z) = 26, f(z) = -26;Give you a letter x and a number y , you should output the result of y+f(x).InputOn the first line, contains a numb...
2019-04-05 11:40:48 162
原创 HDU - 2054 A == B ?(string操作复习)
Give you two numbers A and B, if A is equal to B, you should print "YES", or print "NO".Inputeach test case contains two numbers A and B.Outputfor each case, if A is equal to B, you should p...
2019-04-03 23:06:48 241
原创 算法竞赛入门经典第四章(自顶向下,逐步求精 编写程序)
4-1古老的密码 //古老的密码 WRONG ANSWR #define maxn 100+10 int cmp(const void* a,const void* b){ return *(int *)a-*(int *)b;//从小到大排序 } int main() { char a[maxn]; char b[maxn]; while(scanf("%s %s",a...
2019-04-03 11:17:41 358 1
原创 十进制转二进制递归求解
#include <iostream>#include <cstdio>#include "cstring"#include "algorithm"#include <vector>#include <list>#include <stack>#include <queue>#include <map&...
2019-04-02 16:37:16 665
原创 神、上帝以及老天爷 HDU - 2048 (错排分析)
#include <iostream>#include <stack>#include <cstdio>#include <cstdlib>#include <queue>#include <algorithm>#include <list>using namespace std;long lon...
2019-03-31 00:44:56 192
原创 不容易系列之(4)——考新郎 (组合数+错排分析)
#include <iostream>#include <stack>#include <cstdio>#include <cstdlib>#include <queue>#include <algorithm>#include <list>using namespace std;long lon...
2019-03-30 23:45:18 268
原创 阿牛的EOF牛肉串
`#include <iostream>#include <stack>#include <cstdio>#include <cstdlib>#include <queue>#include <algorithm>#include <list>using namespace std;//分析题...
2019-03-29 21:33:42 618
原创 不容易系列之(3)—— LELE的RPG难题
#include <iostream>#include <stack>#include <cstdio>#include <cstdlib>#include <queue>#include <algorithm>#include <list>using namespace std;//如果有n个方...
2019-03-29 20:38:26 174
转载 排序
1.冒泡排序:冒泡排序的思想是比较两两相邻的关键字,如果反序则进行交换,直到没有反序的为止。设想一个数组按照升序排列,经过第一轮比较之后最大的数就被放在最后了,因此剩下的比较中就不需要将它再参与进来,第二轮比较中第二大的数据被放在了倒数第二的位置,它的位置也就固定了,也不需要参与剩余的比较。因此我们需要两层循环,外层循环控制比较的轮数,和数组元素的个数有关,内层循环控制需要参与比较的元素个数,和外...
2019-03-28 18:57:02 155
原创 今年暑假不AC
这是WA代码 一直找不到原因 案例能通过#include <iostream>#include <stack>#include <cstdio>#include <cstdlib>#include <queue>#include <algorithm>#include <list>using ...
2019-03-28 18:25:27 160
原创 《算法问题实战策略》6-7 解决旅行商问题的递归调用算法
//6-7 解决旅行商问题的递归调用算法const int Max=1000;int n;//城市个数double dist[Max][Max];//保存两城间距的数组//path:城市个数//visited:对各城市访问与否//currentLendth:所有已检索路径的长度//在访问所有剩余城市的路径的中。返回最短路径double shortesPath(vector<...
2019-03-07 00:00:17 634
原创 《算法问题实战策略》6-6盖游戏板(对vector嵌套的熟练运用)
#include <iostream>#include <cstdio>#include "cstring"#include "algorithm"#include <vector>using namespace std;//6-6 解决盖板游戏的递归调用算法//对当前格子的4种覆盖方法//构成板块的3个格子的相对位置{dy,dx}const...
2019-03-06 21:30:30 302
原创 《算法问题实战策略》6-3郊游问题升级➡️D - 过山车 HDU - 2063
用递归方法求解,相比之下D - 过山车多了一个匈牙利算法。匈牙利算法:趣写算法系列之--匈牙利算法详细一点的:HDU-2063过山车—匈牙利算法#include <iostream>#include <cstdio>#include "cstring"#include "algorithm"#include <vector>using n...
2019-03-06 00:06:24 276
转载 vector用法总结
介绍vector是表示可变大小数组的序列容器。 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。 本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,...
2019-03-04 18:29:10 552
原创 《算法问题实战策略》6-1计算1到n的之和的递归函数和6-2求在n个元素中选择m个元素的所有可能的组合
//6-1计算1到n的之和的递归函数int recursive_sum(int n){ if(n==1)return 1; return n+recursive_sum(n-1);}//6-2求在n个元素中选择m个元素的所有可能的组合#include <iostream>#include <cstdio>#include "cstrin...
2019-03-04 18:09:29 425
原创 《算法问题实战策略》6-3郊游
#include <iostream>#include <cstdio>#include "cstring"using namespace std;//6-4 PICNICint n,m;bool areFriends[10][10]={0};bool taken[10]={0};//判断taken[i]是否已经配对,初始化为false,没有配对//若...
2019-03-04 16:42:55 405
转载 JDBC标准
导入JDBC包:使用Java语言的import语句在Java代码开头位置导入所需的类。 注册JDBC驱动程序:使JVM将所需的驱动程序实现加载到内存中,从而可以满足JDBC请求。 数据库URL配置:创建一个正确格式化的地址,指向要连接到的数据库(如:MySQL,Oracle和MSSQL等等)。 创建连接对象:最后,调用DriverManager对象的getConnection()方法来建立实...
2018-09-02 01:30:52 256
原创 第三节 前端开发基础——JavaScript
初级拓展1、测验 完成测验:http://www.w3school.com.cn/quiz/quiz.asp?quiz=js ;2、实践 1)相比html,javascript较为复杂。完成实例:http://www.w3school.com.cn/js/ ; 2)完成所有的“亲自试一试”(重点学习JS HTML DOM、JS Window部分);3、掌握...
2018-04-05 23:53:12 311
原创 第三节 前端开发基础——HTML
初级拓展1、测验 完成测验:http://www.w3school.com.cn/quiz/quiz.asp?quiz=html 。2、实践 完成实例:http://www.runoob.com/html/html-examples.html 中的“HTML实例”;在运行实验代码时,需要了解其含义,并尝试修改每一个实例相关的元素(标签、属性、内容)。3、了解HTML实体...
2018-04-05 23:51:49 195
原创 第二节 Web通信知识
初级拓展1、 熟悉常见浏览器协议 1)学习ftp、https、file三种协议:列出每一种协议的具体说明; FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。...
2018-04-05 23:50:04 248
原创 第一节 Web介绍知识
重点:Web的工作流程 浏览器上如何工作的初级扩展:1.Web架构熟悉前后端的划分,可以简单地理解为凡是运行在用户设备上的技术都可以称为前端技术( 比如 HTML / CSS / JS,甚至移动设备的 Obj-C / Swift );而后端的作用就是负责将这些东西封装在 HTTP 的数据包中然后通过网络传送到前端。当然除了这些前端文件,后端还有一个更重要的职能,即保存和提供用户数据,比如移动端常见...
2018-04-05 23:36:22 313
原创 Python中的getpass模块介绍(登陆程序)
getpass模块提供了平台无关的在命令行下输入密码的方法; 该模块主要提供:两个函数: getuser, getpass一个报警: GetPassWarning(当输入的密码可能会显示的时候抛出,该报警为UserWarning的一个子类)备注: 上面为密码显示时抛出的报警getpass.getuser()该函数返回登陆的用户名,不需要参
2018-01-19 02:14:55 13203
原创 双向链表(一)
struct Node{ int key; Node *prev,*next;};//初始化双向链表,创建一个空表Node *nil;void init(){ nil=(Node *)malloc(sizeof(Node)); nil->prev=nil; nil->next=nil;
2017-11-24 16:43:33 134
原创 单链表插入函数优化(C和指针)
//链表实现插入函数#define FALSE 0#define TRUE 1//单链表插入思想:始终保存一个指向链表当前节点之前的那个节点的指针。`typedef struct NODE { struct NODE *link; int value;}Node;//插入到一个有序的单链表。函数的参数是一
2017-11-24 16:01:15 642
原创 Y - 奇数阶魔方 HDU - 1998
Y - 奇数阶魔方 HDU - 1998 #include #include #include #include #include const int max=110;int main(){ int t; scanf("%d",&t); int n;
2017-11-18 07:46:49 157
原创 X - 折线分割平面 HDU - 2050 (分割问题)
X - 折线分割平面 HDU - 2050 我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示。 Input输入数据的第一行是一个整数C,表示测试实例的个数,然后是C 行数据,每行包含一个整数n(0Output对于每个测试实例,请输出平面的最大分
2017-11-17 22:02:08 292
转载 分割问题
(1) n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域。 析:可能你以前就见过这题目,这充其量是一道初中的思考题。但一个类型的题目还是从简单的入手,才容易发现规律。当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点。这样就会得到n-1个交点。这些交点将第n条直线分为2
2017-11-17 21:41:24 335
原创 W - 不容易系列之(4)——考新郎 HDU - 2049 (错排思想和排列组合)
#include #include #include #include #include const int max=40;//相同的错排思想。m个新郎全部找错。则从n中选出n-m个新郎找对了新娘//错排公式M(n)=(n-1)*(M(n-1)+M(n-2))long long f(int m){ if(m
2017-11-17 21:11:30 235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人