经典算法(七)----堆排序----图解法让你快速入门

引言 相对于其他的排序算法,堆排序可以说算数比较难理解的,而且学习堆排序之前排序提前学习堆的定义。 不过不用担心,这篇文章会用通俗易懂的方式让你尽可能的学会堆排序!!!本文将从以下几个问题对堆排序进行分析和讲解:预备知识:堆是什么? 堆排序是什么?(★重要★) 堆排序的具体过程是什么?(★★★重要★★★) 堆排序的代码实现。 堆排序的代码详解。堆是什么?说起堆,不得不的说起二叉树。先看二叉树的定义百度百科的二叉树定义:二叉树(...
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

经典算法(八)----计数排序----图解法让你快速入门

引言 只要设计到数据,就会涉及到数据的排序问题,比如给你随机给你十个数3,2,2,5,4,0,5,4,5,1让你进行排序,那我们该怎样才是实现对这些整数的排序呢 ?答案是多种多样的,比如用冒泡排序、希尔排序、计数排序、归并排序、快速排序等等,这些排序方法都可以实现对整数排序,而这篇文章要讲的就是计数排序本文将从以下几个问题对计数排序进行分析和讲解:什么是简单的计数排序?它存在哪些问题? 怎样解决简单计数排序存在的问题? 计数排序的完整代码 计数排序的代码详解。 ...
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

经典算法(九)----基数排序----图解法让你快速入门

引言 只要设计到数据,就会涉及到数据的排序问题,比如给你随机给你十个数 让你进行排序,那我们该怎样才是实现对这些整数的排序呢 ?答案是多种多样的,比如用冒泡排序、希尔排序、计数排序、基数排序、快速排序等等,这些排序方法都可以实现对整数排序,而这篇文章要讲的就是基数排序 在学基数排序的时候,一定要先把计数排序学会,因为在代码中利用了计数排序的思想,如果计数排序不太理解,可以点击后面的连接,先把计数排序学会。https://blog.csdn.net/weixin_448...
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

C#和C混合编程——调用dll中函数返回值为字符串地址

因为C#不支持地址,调用dll函数中若函数返回值为字符串地址的处理方式:1、dll中封装的函数为:char * communication(char * str)2、在C#中声明: [DllImport(client_dll1.dll, CallingConvention = CallingConvention.Cdecl)] public static extern IntPtr communication(string str);注意,即communication函数返
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

经典算法(十)----桶排序----图解法让你快速入门

引言前面学习了计数排序和基数排序,其实桶排序就是他们的升级版,在这篇文章中主要会说明桶排序的思想,就不放桶排序的代码了,因为桶排序用的较少,至于为啥他用的很少,下面会说。这篇文章从一下两个角度分析桶排序桶排序的思想 桶排序的问题一、桶排序的思想假如我们对0.0 0.12 0.18 0.93 0.45 0.76 0.89 0.03 0.55 0.98 0.67 1.0这十二个数排序。桶排序的思想就主要分三步设计好有几个桶,每个桶的范围都为多少 对每个桶进行...
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

day06,字典增删查找修改

白天没空,没听到老师的课 ,晚上加班,有错过了大概半个小时,刚开始听程序老是不对,后来慢慢的就有些眉目了,自己多敲敲速度比之前快乐一些。今天写了一个比较长的代码。基本意思是在一个字典里补充单词,实现查找、修改、删除字典里面的单词。#1.新建一个新字典mydict = {}#循环打印菜单while True: print(1)添加单词) print(2) 查找单词) print(3)修改单词内容) print(4)删除解释) s = in
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

MyBatis XML、注解

MyBatis避免了几乎所有的JDBC代码,和手动设置参数以及获取结果集MyBatis可以使用简单的XML或者注解配置来映射接口和java的实体类有两种使用方式 : 一种是注解,一种是XML,各有千秋注解 : 使用注解的话,方便一些,不需要有XML配置文件,但是需要代码和SQL在一起XML : 把SQL语句放到一个XML文件中,java代码中感觉干净一些,并且使用XML形式写一些复杂的SQL语句会比较方便,也能统一管理,优化方便,修改变量,不容易出错所以一般常用的是XML,可以做SQL分离有时候
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

求最大公约数gcd(辗转相除法)

求两个数的最大公约数可以用辗转相除法来实现,辗转相除法又叫欧几里得算法,辗转相除法的实现基于一个原理:(a,b)=(a,ka+b),其中(a,b)表示a与b的最大公约数,a、b、k都为自然数大概的意思就是两个数的最大公约数,其中一个数加到另一个数上得到的新数,与原数的公约数不变package day4_7;import java.util.Scanner;public class ..._python在一行中顺序输出m和n的最大公约数和最小公倍数
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

整数划分(划分dp)总结

写了几个题发现整数划分是一类题,而不是一道题。具体题型:1、n相同元素放入m个相同的盘子 盘子允许为空 例题:放苹果POJ - 1664设dp[i][j]为 j 个元素放入i个盘子转移方程:dp[i][j]+=dp[i-1][j] 新添加一个盘子,盘子为空dp[i][j]+=dp[i][j-i] i个盘子 各取出一个2、n个相同的元素放入m个不同的盘子,盘子允许为空隔板法新加m个元素使得盘子不能为空演变为n+m个元素分成m个不同的盘子 盘子不..._划分dp
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

牛客练习赛64(C,D(容斥))

题目链接C-序列卷积之和题意:成功看错题,看成连乘,推算了一个小时的规律,然后跳D题自闭了。分析:#pragma GCC optimize(2)#include<bits/stdc++.h>#define ll long long#define maxn 1005#define inf 1e9#define pb push_back#define rep(i,a,b) for(int i=a;i<=b;i++)#define per(i,a,_牛客练习赛64 d
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

西安邮电大学第五届ACM-ICPC校赛(同步赛)(A(dp),B(拓扑排序),C(树形dp),E(模拟),G(差分),H(数学思维))

题目链接A、拯救咕咕咕之史莱姆做法:dp预处理第六天能减少的血量即可。dp1[i]记录第i天大洞的个数,dp[i]记录第i天产生的小洞数量,f[i]记录第i天所有洞的数量f[i]=f[i-1]+dp1[i-1]//前一天大洞dp1产生的小洞dp1[i]=dp1[i-1]+dp[i-3]//这里应该是i-3 但是过不去样例 改成i-2就可以了,不是说第四天吗,这样搞不就成了第三天了dp[i]=dp1[i-1]前一天大洞都产生小洞#include<bits/stdc._长沙学院
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

第十五届中北大学算法与程序设计竞赛(公开赛)A模拟 C(差分+贪心)D(线段树) E数学 F(线段树) G贪心 H (dp) I (KM算法) K 线段树 L 容斥

题目链接A-俄罗斯方块做法:简单模拟#pragma GCC optimize(2)#include<bits/stdc++.h>#define ll long long#define maxn 1005#define inf 1e9#define pb push_back#define rep(i,a,b) for(int i=a;i<=b;i++)#define per(i,a,b) for(int i=a;i>=b;i--)using names
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

Codeforces Round #644 (Div. 3)(F(思维) G(思维) H(思维))

题目链接F. Spy-string题意:给你n个m长度的小写字符,现求一个字符ans,使得所有的n个字符和ans字符位数不同的字符小于等于1个。做法:知道是暴力,但是并不是26个字符暴力的枚举,对第一个字符 当作模板 ,每次修改一个字符,修改的字符是另外几个字符的其中一个,时间复杂度:n^4#include <bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=a;i<(b);++i)
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

图论--二分图最大权匹配 KM学习 & 模板记录

参考学习博客:博客1,KM模板来自:博客2#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 305;const int INF = 0x3f3f3f3f;int love[MAXN][MAXN]; // 记录每个妹子和每个男生的好感度int ex_girl[MAXN]; // 每个妹子的期望值int_离散数学最大匹配图
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

2020年牛客算法入门课练习赛1(A,B,C(巧妙二分),D(二分),E(置换群))

题目链接好不太容易AK,不能不写题解。A-第k小数做法:nth_element的应用,去年寒假牛客训练营出过一次。#pragma GCC optimize(2)#include<bits/stdc++.h>#define ll long long#define maxn 1005#define inf 1e9#define pb push_back#define rep(i,a,b) for(int i=a;i<=b;i++)#define per(_√n一^小一?少厂ppli心谦
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

课堂笔记linux部分命令

Day01 回顾linux 命令1、pwd : 查看当前所在路径2、lsls -1 :长格式/列表形式ls -a :显示所有包含隐藏ls -lals -al3、路径绝对路径 : 以 / 开始的路径相对路径 :… : 上一级目录~ : 主目录 /home/tarena/4、cd : 切换目录cd /home/tarema/software…cd software/cd …直接跳转到上一级cd 直接跳转到主目录5、makdir 创建文件夹1.mkdir 目_1.回看今天的网课《找次品》
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

Spring和IOC、AOP介绍

Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架IOC : 控制反转和依赖注入,使我们的程序能够松耦合,自动创建一个对象,自动注入到指定类中AOP: 面向切面编程能够更加方便的使我们的日志系统或者事务机制管理更加完善方便Spring介绍Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

什么是Java多态?一篇文章搞懂Java的多态性以及向上(下)转型

多态的定义多态,是指同一行为具有多种表现形式或形态的能力。实现多态的技术称为:动态绑定,是指在运行期间(不是编译期间)根据对象的实际类型调用相对应的方法。举例:多种表现形态猫和狗都是动物,它们之间既有共同点,又有自己的特点。你让猫和狗一起叫,它们都会叫,但是叫声不一样。多态存在的条件继承重写(override)父类引用指向子类对象(向上转型)class Animal{//父类 void cry(){ System.out.println(动物叫);
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

牛客算法周周练8 (A(dp),B(dfs),C(线段树),D(hash),E(思维))

题目链接说实话,这些题或多或少的做过,或者补过,稍微想想就想到了做法。A-小A买彩票做法:dp,设dp[i][j]为前i个数,得到的金额为j,dp方程:rep(j,1,4){ for(int k=10;k<=200;++k) dp[i][k+j-3]+=dp[i-1][k]; }由于可能会减到负数,所以对所有状态移动到一个比较大的数即可。#pragma GCC optimize(2)#inclu..._()…(:::(()))…)((((()))))))(()))(-)-
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0

FZU 2204(环形dp)

题目链接Problem 2204 7做法:如果不考虑环的话,可以想到简单dp:dp[i][j][k] 当前位置i 放k 且已经有连续的j个k时的方案数。首位放1 和 首位放0 是一样的,所以考虑一半,答案最后乘2就可以了。考虑首位放0。由于是成环的,所以统计答案的时候枚举后缀是连续的j个1时的方案数就可以了。这时候疑问来了:那这个方案统计了吗?dp[n][5][0]01****100000 由于会有不合法计算:001**100000其实已经计算的了:下面...
分类: 其他 发布时间: 06-18 23:59 阅读次数: 0