自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 动态规划算法

一、主要定律目标:T(n)=aT(n/b)+f(n)a>=1是子问题的个数;b>0是子问题规模减少的因子;f(n)是分割/合并子问题的工作量。recursion tree(重现树):树的层次为k=logbn;在第i层的子问题数为li=ai;在第i层子问题的规模为mi=n/bi。1、case1 总成本由叶子成本决定T(n)=lk*mk=a^logbna=3 b=2 3二、整数乘法三、矩阵乘法四、convolution(卷积)和FFT...

2020-11-28 20:39:27 235 3

原创 [POJ]三.D:Multiplication Puzzle石子合并

题目分类:区间DP一、AcWing 5282. 石子合并设有N堆石子排成一排,其编号为1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。状态表示:s[i]=a[1]+a[2]+…+a[i]dp[i][j]=合并区间[i,j]的石子,min cost状态计算:dp[i][j]=min (dp[i][k]+dp[k+1][j]+a[i]+a[i+1]+…+a[j])=min (dp[i][k]+dp[k+1][j]+s[j]-s[i.

2020-11-25 22:14:11 9

原创 [POJ]四.A.Maximum sum连续子数组的最大和

动态规划一、AcWing 55. 连续子数组的最大和输入一个 非空 整型数组,数组里的数可能为正,也可能为负。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。思路:动态规划。状态表示:令dp[i]=以a[i]为结尾的子数组,最大和(也就是说a[i]在dp[i]中是一定选的)。状态计算:①若dp[i-1]>0,dp[i]=dp[i-1]+a[i]。②若dp[i-1]<=0,dp[i]=a[i]。即 dp[i]=max( dp[i-1]+a[.

2020-11-24 13:32:33 10

原创 分治算法

大纲:1.mergesort归并排序2.counting inversions统计逆序数3.closest pair of points点的最短路径4.randomized quicksort随机化快速排序5.median and selection中位数分治1.将问题分解为几个子问题2.递归(recursively)的解决每个子问题3.把子问题的答案组合,成为整个问题的答案最常使用在线性时间分解和组合问题n->n/2Brute force暴力法O(n2),分治法O(nlog.

2020-11-01 23:37:36 44

原创 404. 左叶子之和

计算给定二叉树的所有左叶子之和。我的解法:思路:相当于树的广度优先遍历(BFS),使用一个队列。class Solution {public: int sumOfLeftLeaves(TreeNode* root) { queue<TreeNode*> q; q.push(root); int res=0; while(!q.empty()){ TreeNode* t=q.front();.

2020-09-19 11:35:18 13

原创 101. 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。我的解答:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bo.

2020-09-18 10:25:27 14

原创 用软件AD画PCB

一、简介Altium Designera. 下载安装ADb. 新建一个PC工程:文件——>new——>project——>PCBc. 新建一个原理图:文件——>new——>schematicd. 导入基本元件库:libraries——>Available Libraries——>Installe from file——>选两个.IntLib文件 打开e. 查找元件:(eg.电阻)选Miscellaneous Devices.IntLib——&g

2020-09-17 23:06:48 42

原创 1. 两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。我的解答:class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int low=0,high=nums.size()-1,sum=0; .

2020-09-17 09:35:08 17

原创 STL学习

一、STL概述1、标准模板库标准模板库(Standard Template Library, STL)就是一些常用的数据结构(eg.链表、数组、二叉树)和算法(eg.排序、查找)的模板的集合。STL基本概念(1)容器:可容纳各种数据类型的通用数据结构,即== 类模板==。(2)迭代器:依次存取容器中的元素,即== 指针==。(3)算法:操作容器中的元素的函数模板。eg.sort()、find()。算法与操作的数据结构类型无关,可使用在任何数据结构上。如:int array[100];——容器

2020-08-03 18:17:01 28

原创 Spring Boot+Vue前后端分离开发

我的学习Spring Boot+Vue前后端分离开发笔记一、Spring Boot+Vue概述1.前后端分离是什么?把一个应用程序的前后端代码分开写。前端只需要独立编写客户端代码,后端只需要独立编写服务端代码&提供数据接口即可。前端通过Ajax请求访问后端的数据接口,将Model展示到View中即可。前后端约定好接口文档(URL、参数、数据类型…),之后可以独立开发。为什么?如果不分离(eg.传统的java web开发中,前端用开发出HTML静态页面—(传递给)—>后端,后

2020-07-20 22:03:42 24

原创 算法题——链表

单链表结构体// Definition for singly-linked list.struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};1.反转链表输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路1:迭代法。数组三个指针,pre、cur、next,从前到

2020-07-20 12:52:35 28

原创 算法题——数组

1.移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。思路1:所有非零数字,从0给数组赋值(双指针)。时间复杂度O(n),空间复杂度O(1)。void moveZeroes(int* nums, int numsSize){ int k=0;//第一个零数字下标 for(int i=0;i<numsSize;i++) { if(nums[i]!=0) { nums

2020-07-20 11:02:05 53

原创 20北大软微华为实验班——排序题

学习目标:完成10017~10022 共6题(排序算法)中至少3道题。1.基本排序题输入:53 1 8 6 1输出:1 1 3 6 8思路一:冒泡排序(把最大的换到最后面)#include <iostream>using namespace std;int a[500000]={0};int main(){ int n; cin>>n; //输入数据 for(int k=0;k<n;k++) cin>>a[k]; //冒

2020-07-01 14:48:35 141

原创 20北大软微华为实验班——守护进程

实验目的:在Linux下使用C语言实现一个守护进程。一、守护进程的特点1.进程组父进程创建了n个子进程,子进程和父进程默认是一个进程组(多个进程的集合)。父进程是组长,子进程是组员。进程组ID=组长进程ID。进程组的概念可以简化对多个进程的管理。在waitpid()和kill()函数的参数中都曾用到过。如 kill -SIGKILL -进程组ID(负数) 可以杀死组内的全部进程。只要进程组中有一个进程,组就存在,与组长是否存在无关。进程组生存期:进程组创建~最后一个进程离开。进程可为自己活

2020-06-26 22:17:35 258

原创 二叉树的应用:前中序转后序

基本理论1.二叉树结点结构体:左右孩子指针&datastruct BTNode(){ BTNode *lchild; BTNode *rchild; /** 其他信息 **/};2.递归遍历方法(eg.中序遍历)void inOrder(BTNode *Tree){ if(Tree->lchild!=NULL) inOrder(Tree->lchild); /** 遍历当前结点 **/ if(Tree->rchild!=NULL) i.

2020-06-26 11:21:42 49

原创 栈的应用:简单的计算器

基本知识//声明使用标准命名空间#include <stack>//定义一个保存元素类型为int的堆栈Sstack<int> S;//加入一个元素iS.push(i);//删一个元素S.pop();//读栈顶元素,给xint x=S.top();//判断栈是否空,空返回true,非空返回falseS.empty();例题1、括号匹配寻找不匹配的左右括号,(不匹配下面标$ ; )不匹配下面标?思路:从左到右遍历字符串,遇到.

2020-06-26 09:44:21 50

原创 leetcode2——链表中倒数第k个节点

给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.思路1:先遍历链表,计算表长n。再遍历n-k步,找到所求。思路2:使用双向循环链表,沿pre走k步,找到所求。思路3:使用单链表,设置指针former、latter,初始指向头结点。former先走k步(former距离表尾还有n-k步),再former、latter共同走n-k步(即former指向null)。/** * Definition for singly-linke.

2020-06-17 23:17:28 39

原创 20北大软微华为实验班——Linux基本操作

实验目的:熟悉Linux基本命令一.帮助指令作用:查阅指令的使用方法1.man指令:获得帮助信息man [命令或配置文件]eg.man ls # 查找命令ls的用法结果:ls是列出目录的内容,参数包括:a(不忽略隐藏文件)…*注:按Enter可以看下一页2.help指令:获得shell内置指令的帮助信息help 命令eg.help cd # 查找命令cd的帮助信息结果:cd是改变当前工作目录总结:百度更快捷二.目录类指令1.pwd指令显示当前工作目录的绝对

2020-06-14 13:11:25 168

原创 POJ16:忽略大小写的字符串比较

一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到’\0’为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到’\0’而另一个字符串还未遇到’\0’,则前者小于后者)。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"H...

2020-02-16 17:51:52 65

原创 大数据学习笔记——Python基础(上)

Python知识点1.jupyter notebook常用快捷键Esc 和 Enter 在命令和编辑模式之间跳转。命令模式下:A 键将在选中单元格上方插入新单元格,B 键将在选中单元格下方插入一个单元格按两次D键,可以删除单元格Z键,撤消已删的但与前各Y键,将选中的单元格变成代码单元格F键、弹出’查找和替换’菜单编辑模式下:Shift+Enter : 运行本单元,并选中下个单元...

2020-02-16 16:54:41 66

原创 POJ22:津津的储蓄计划

描述 津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留...

2020-01-23 11:07:01 150

原创 POJ44:第n小的质数

描述 输入一个正整数n,求第n小的质数。输入 一个不超过10000的正整数n。 输出 第n小的质数。#include<iostream>#include<stdio.h>#include<cstdio>#include<cmath>using namespace std;int sushu(int n)//是素数1,不是0{ ...

2020-01-22 18:30:23 98

原创 POJ45:金币

描述国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。你需要编写一个程序,确定从第一天开始的给...

2020-01-22 17:34:24 50

原创 POJ40:数1的个数

给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。输入 正整数n。1 <= n <= 10000。 输出 一个正整数,即“1”的个数。#include<iostream>#inclu...

2020-01-22 15:44:46 92

原创 coursera学习——指针

1.变量三要素:地址(指向这个变量的指针)、值、名字。2. &:取变量的地址int a=0;cout<<&a;//打印a变量起始地址(a的地址为4B,即地址长度、指针为4B)3.*:取指针(地址)的值cout<<*&c;//取地址为&c的变量的值(*&c=c)4.指针变量:存放指针(地址)的变量int *pointe...

2020-01-22 10:14:27 55

原创 POJ25:求特殊自然数

一个十进制自然数,它的七进制与九进制表示都是三位数,且七进制与九进制的三位数码表示顺序正好相反。编程求此自然数,并输出显示。 输入 无。输出 三行: 第一行是此自然数的十进制表示; 第二行是此自然数的七进制表示; 第三行是此自然数的九进制表示。思想:枚举法#include<iostream>using namespace std;int main(){ int i, ...

2020-01-21 23:54:07 95

原创 POJ29:数字反转

描述给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。输入 输入共 1 行,一个整数N。-1,000,000,000 ≤ N≤ 1,000,000,000。 输出 输出共 1 行,一个整数,表示反转后的新数。#include<iostream>#include&lt...

2020-01-21 21:58:34 133

原创 POJ31:开关灯

假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。请问:当第M个人操...

2020-01-21 15:44:57 197

原创 POJ16:买房子

某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子?(第一年年薪N万,房价200万)输入 一行,包含两个正整数N(10 <= N <= 50), K(1 <= K <= 20),中间用单个空格隔开。 输出...

2020-01-20 21:29:59 95

原创 骑车与走路

在北大校园里,没有自行车,上课办事会很不方便.但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间.假设找到自行车,开锁并车上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。输入输入一行,包含一个整数,表示一次办事要行走的距离,单位为米。输出输出一行,如果骑车快...

2020-01-19 16:37:32 365

原创 POJ苹果和虫子

你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?输入输入仅一行,包括n,x和y(均为整数)。输入数据保证y <= n * x。输出输出也仅一行,剩下的苹果个数#include <iostream>using namespace std;int m...

2020-01-18 15:09:20 240

原创 POJ字符菱形

字符菱形查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。输入输入只有一行, 包含一个字符。输出该字符构成的菱形#include <iostream>using namespace std;const int N = 5;void delta(int n, char ...

2020-01-17 14:25:25 38

原创 coursera学习——字符串与字符数组

1.字符串与字符数组定义关系:字符串=以’\0’结尾的字符数组char a[10]={'a','b'};//没赋值的默认'\0'char b[]={'a','b'};//系统默认加一个b[2]='\0'char c[5]="asdfg";//× 前5后62.字符串与字符数组赋值char c[6]="asdfg";//√c[6]="asdfg";//×str1=str2;//×...

2020-01-09 16:27:52 51

原创 十天机试学习DAY2

1.日历问题(1)输入描述:有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出描述:每组数据输出一行,即日期差值思想:把0000年1月1日到5000年1月1日之间的每一天与0000年1月1日的天数差值算出来,保存在一个三维数组中。计算任意两天差值即为使用数组作差。#include<iostream>#include<stdio.h>...

2020-01-08 22:28:27 36

原创 十天机试学习DAY1

1.排序输入的第一行包括一个整数n(1<=n<=100)。 接下来的一行包括n个整数。输出描述:可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。每组测试数据的结果占一行。#include<iostream>using namespace std;int main(){ //输入 int n,a[100]; whil...

2020-01-07 20:24:23 47

原创 计蒜客刷题——1

相信你已经学会 A + BA+B 问题了,那么问题又来了~输入两个正整数 AA 和 BB ,求A×B。输入格式一行,包含两个正整数 A 和 B,中间用单个空格隔开。1≤A,B≤50000。输出格式一个整数,即A×B 的值。#include <iostream>using namespace std;int main(){ long a, b; cin &gt...

2020-01-06 22:16:54 205

原创 函数的应用——日历问题

给定从2020年1月1日过去的天数,输出“YYYY-MM-DD dayofweek(Sunday、Monday、Tuesday、Wednsday、Thursday、Friday、Saturday)”。注:闰年为是4的倍数,且不是100的倍数。闰年二月有29天(一年266天),平年二月有28天(一年365天)思路:先计算出星期计算年计算月得到日(星期有固定周期规律;2000.1.1为Sat...

2020-01-05 23:32:21 42

原创 PKU软微算法题总结3——小白鼠检验毒药

给你10只实验小鼠,用7天的时间检验1000个瓶子中带有一瓶毒药的瓶子是哪一瓶,小鼠喝了毒药7天后才会死亡,如何编程实现?找规律:假设有3个瓶子,其中1瓶毒药(每一列表示一只老鼠,0表示不喝,1表示喝)瓶子编号123号老鼠10 0 120 1 030 1 1最后老鼠的状态也可以用0表示活着,1表示死亡,最终老鼠编号组合成二进制数值=瓶子编号数值。...

2020-01-05 15:25:19 123

原创 PKU软微算法题总结2——汉诺塔

2.Q.如何判断单链表是否存在环给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少?解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题1的碰撞点p,slow...

2020-01-05 14:09:47 47

原创 leetcode1——斐波那契数

1.Q.爬楼梯(斐波那契数)一共有n个台阶,你一次可以走一个台阶,或者两个台阶。那么,走到台阶顶时,一共有多少种走法。1阶2阶3阶4阶n阶1种2种(1、2)3种(111、21、12)5种(1111、211、112、22、121)(2+3)f(n-1)+ f(n-2)直接思路:递归法:时间复杂度:O(n) ,空间复杂度:O(n)迭代法:时间复杂度:O(n...

2020-01-04 13:03:10 58

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除