- 博客(653)
- 资源 (6)
- 收藏
- 关注
原创 粒子群算法
一、解决最优化问题的方法:1》传统搜索方法:保证能找到最优解2》启发式搜索:不能保证找到最优解二、定义粒子群优化算法(Particle Swarm Optimization,PSO)是自然计算的一个分支,是一种模拟自然界的生物活动的随机搜索算法。群体迭代,粒子在解空间追随最优的粒子进行搜索。三、基本原理:基础:信息的社会共享四、算法描述:1》鸟群:假设一个区域...
2018-08-04 10:11:33 13541 1
原创 蚁群算法
一种应用于组合优化问题的启发式搜索算法。蚁群算法是一种用来寻找优化路径的概率型算法组合优化:组合优化(Combinatorial Optimization)问题的目标是从组合问题的可行解集中求出最优解,通常可描述为:令Ω={s1,s2,…,sn}为所有状态构成的解空间,C(si)为状态si对应的目标函数值,要求寻找最优解s*,使得对于所有的si∈Ω,有C(s*)=minC(si)。组合优化往...
2018-08-01 21:10:42 14132 1
原创 MySQL 7种JOIN
CREATE TABLE `tbl_emp` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) DEFAULT NULL,`deptId` int(11) DEFAULT NULL,PRIMARY KEY (`id`) ,KEY `fk_dept_id`(`deptId`))ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8;CREATE TABLE `tbl_dept
2021-10-14 17:02:36 157
原创 #91. 解码方法 Tag:DP
题目:一条包含字母A-Z 的消息通过以下映射进行了 编码 :'A' -> 1'B' -> 2...'Z' -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"11106" 可以映射为:"AAJF" ,将消息分组为 (1 1 10 6)"KJF" ,将消息分组为 (11 10 6)注意,消息不能分组为(1 11 06) ,因为 "06" 不能映射为 "F" ,这是由于 "6" 和 "06" 在映射中并不等价...
2021-04-22 16:16:27 190
原创 面试题 01.01. 判定字符是否唯一 Tag:数组(位运算)
题目:注意:字符串仅包含26个英文字母!!!地址:https://leetcode-cn.com/problems/is-unique-lcci/思路:一个比较简单的题目,数据量也很小。但是如果把问题往深处想,如何不使用额外的数据结构?会有很多不同的解法。要想做到真正的提高,绝对不能仅满足于AC,我们应该尽量降低算法的时间和空间复杂度!解法一:思路:看到给的提示:“你能用O(NlogN)的时间复杂度解决它吗?这样的解法会是什么样呢?”立马想到快排,前后比较一下就可以!但是时间复杂
2021-04-21 15:53:23 203 2
原创 #27.移除元素 Tag:数组
给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。地址:https://leetcode-cn.com/problems/remove-element/-----------------------------------------------------------------------...
2021-04-19 16:54:16 142 2
原创 数组与集合学习笔记
数组与集合学习笔记集合和数组都是对多个数据进行存储操作的结构,简称Java容器!!一.数组数组也是对象!!!数组变量属于引用类型!!!1.数组声明//方式一:dataType[] array;//方式二:dataType array[];使用 array.length可以 获取数组长度2.数组的三种初始化静态初始化(创建+赋值)动态初始化数组的默认初始化:数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式
2021-04-18 20:46:02 158
原创 lambda表达式
Lambda表达式学习笔记1.为什么使用Lambda?Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升2.Lambda表达式使用举例package com.deng;import org.junit.Test;import java.util.Comparator;/** * Lambda表达式使用举例 * @author Deng
2021-04-09 19:49:30 84
原创 Java 注解与反射(狂神笔记)
注解和反射学习笔记注解:Annotation反射:Reflection1.什么是注解?Annotation是从JDK5.0开始引入的新技术.Annotation的作用:不是程序本身,可以对程序作出解释.(这一点和注释(comment)没什么区别)可以被其他程序(比如:编译器等)读取.Annotation的格式:注解是以“@注释名“在代码中存在的,还可以添加一些参数值,例如:@SuppressWarnings(value=“unchecked”).Annotation在哪里使用?
2021-04-07 23:16:19 301
原创 西南科技大学2021届新生赛--F.数字金字塔(java大数、矩阵快速幂)
链接:https://ac.nowcoder.com/acm/contest/12478/F来源:牛客网现在有一个数字金字塔,它的第1层有1个数字1,第2层有3个数字2,……,第i层有2i−1个数字i,形如:现在我们希望你能够求从第1层到第n层的数字和。由于答案可能过大,输出对998244353取模的结果。思路:联想到数列问题。可以转化为求和,即通项为(2i-1)*i的数列的前n项和。通过对式子整理发现,原式子可以转换为:,则i的前n项和很容易求出,那么对求和公式如下:,则通过整理以后,我们
2021-03-26 20:16:25 280
原创 牛客小白月赛32--C消减整数、E春游(贪心)
C、消减整数链接:https://ac.nowcoder.com/acm/contest/11163/C来源:牛客网题意:给出一个正整数H,从1开始减,第一次必须减1,每次减的数字都必须和上一次相同或者是上一次的两倍,请问最少需要几次能把H恰好减到0。思路:这个题目我们应该从给定的H是奇数还是偶数入手,除了1以外,所减的数必定为偶数。因此我们讨论如下:当H为偶数时,为了能够成功减到0,那么必定是减了两次1; 当H为奇数时,为了使得减到0的次数最少,所以减了一次1;在上面处理以后确保H为偶
2021-03-23 16:31:27 750
原创 Maven配置详解学习笔记(狂神笔记)
Maven详解学习笔记前言为什么学习?1、在javaweb开发中,需要使用大量的jar包,我们手动去导入;2、如何能够让一个东西自动帮我导入和配置这个jar包。 由此,Maven诞生了!1.Maven项目架构管理工具我们目前用来就是方便导入jar包的!Maven的核心思想:约定大于配置 ·有约束,不要去违反Maven会规定好你如何去编写Java代码,必须按这个要求来!2.下载安装Maven官网:https://maven.apache.org/...
2021-03-22 20:02:54 2188 1
原创 牛客挑战赛48--A and B
A-天使果冻链接:https://ac.nowcoder.com/acm/contest/11161/A来源:牛客网题意:一个数组包含n个数,求前i个数的次大值是多少(倘若最大值有两个,则次大值即为最大值)?思路:使用两个变量,记录最大值、第二大值即可,在遍历过程中不断维护,代码中使用了dp[i]数组存下来了前i个第二大值的数值,此外当时还想到了一种做法,就是使用优先队列,下面贴上代码:方法一:两个变量维持#include <bits/stdc++.h>using nam
2021-03-22 14:00:23 251
原创 Java异常处理详解(狂神笔记)
常处理详解异1.什么是异常(1)概念:◆实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了,等等。◆软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些例外情况,或者叫异常,怎么让我们写的程...
2021-03-17 11:17:39 175
原创 #628. 三个数的最大乘积 Tag:数组
题目:给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。思路:首先介绍我的想法,很冗余、傻瓜,没时间的直接略过吧:这三个数的正负有四种可能正正正、正正负、正负负、负负负,我们使用条件判断来模拟出每一种可能,代码量可想而知,if中套if...其次,介绍一下官方题解,对数组排一下序,对最前面三个和最后面三个去较大值,即为最终答案,仔细一想,醍醐灌顶。下面来解释一下:如果数组中全是非负数,则排序后最大的三个数相乘即为最大乘积;如果全是非正数,则最大的三个数相乘同样也
2021-03-15 21:01:07 121
原创 IDEA学习笔记(简要)
IDEA 学习 一、常用配置 1、设置自动导包2、Show method separators:显示方法分隔线效果:3、忽略大小写提示只有当 String才提示,string时即小写时不提示,所以开启忽略大小写提示。4、取消单行显示 tabs 的操作5、设置默认的字体、字体大小、字体行间距6、设置注释颜色7、...
2021-03-14 17:33:51 511
原创 牛客练习赛78-B、CCA的搬运(贪心)
题目描述在一个竖直的洞里有 n 个有重量的球,需要进行 m 次操作,每次操作需要将其中一个球拿出来然后放在最上面 。取出一个小球放在最上面需要消耗的体力为它上面的小球的重量之和 。现在给定每次操作需要取的小球的编号,要求出一种初始的放球方案使得消耗的总体力最少 。链接:https://ac.nowcoder.com/acm/contest/11168/B来源:牛客网思路:寻找初始放球的方案,这是解决题目的关键。那么如何放球会使得消耗的总体力最少?将题目所给的样例,所有的放球方案都计算一
2021-03-13 18:40:56 168 3
原创 STL整理
一、stack头文件: #include <stack>定义:stack<data_type> stack_name; 如:stack <int> s;操作: empty() -- 返回bool型,表示栈内是否为空 (s.empty() ) size() -- 返回栈内元素个数 (s.size() ) top() -- 返回栈顶元素值 (s.top() ) pop() -- 移除栈顶元素(s.pop(); ) push(da...
2021-03-08 22:11:30 129
原创 #1 两数之和
题意:给定数组,寻找两个数,这两个数满足之和为targe,输出这两个数的下标。思路:暴力枚举,两个for循环搞定代码:class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int n=nums.size(); for(int i=0;i<n;i++) for(int j=i+1;j<n;j
2021-03-08 19:20:07 89
原创 蓝桥杯训练总结(收官)
准备了将近3个周,明天就要正式奔赴战场了。都说蓝桥杯比赛很水,但是我以为不管任何比赛,都需要怀有一颗敬畏之心。蓝桥杯比赛算是自己对ACM比赛重新回顾的一次机会,恐怕这也是最后一次机会。虽然这一段时间,敲了4000多行代码,但是心里仍然是空落落的,心里没底。现在自己想检测一下自己的真实水平,可却又害怕知道自己真实的水平。ACM已经放弃了将近快1年了,心里满满的悔恨,后悔当初那个错误的决定,所...
2019-03-23 22:13:08 1422 1
原创 #1038 : 01背包 - #1043 : 完全背包
#1038 : 01背包时间限制:20000ms单点时限:1000ms内存限制:256MB描述且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时刻了!小Ho现在手上有M张奖券,而奖品区有N件奖品,分别标号为1到N,其中第i件奖品需要need(i)张奖券进行兑换,同时也只能兑换一次,为了使得辛苦得到的奖券不白白浪费,小Ho给每...
2019-03-23 21:35:09 186
原创 C++实现快速排序
快速排序大体思路:快速排序基本思想(递归): 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直到各区间只有一个数。代码:#include <iostream>#include <cstdio>using namespace ...
2019-03-23 17:26:51 226
原创 历届试题 小数第n位 (模拟)
问题描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。 本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。输入格式 一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后位置(0<a,b,n<1000000000)输出格式 一行...
2019-03-22 20:47:35 330
原创 历届试题 分糖果 (模拟)
问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。输入格式 程序首先读入一个整数N(2<...
2019-03-21 22:25:19 445
原创 hihoCoder #1098 : 最小生成树二·Kruscal算法 最短路(Kruskal标准模板)
最近,小Hi很喜欢玩的一款游戏模拟城市开放出了新Mod,在这个Mod中,玩家可以拥有不止一个城市了!但是,问题也接踵而来——小Hi现在手上拥有N座城市,且已知这N座城市中任意两座城市之间建造道路所需要的费用,小Hi希望知道,最少花费多少就可以使得任意两座城市都可以通过所建造的道路互相到达(假设有A、B、C三座城市,只需要在AB之间和BC之间建造道路,那么AC之间也是可以通过这两条道路连通的)。...
2019-03-21 21:26:08 191
原创 历届试题 错误票据 (getchar的使用)+历届试题 带分数 (全排列)+ 历届试题 大臣的旅费
问题描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式要求程序首先输入一个整数N(N<100)表示后面...
2019-03-19 20:02:16 168
原创 算法训练 矩阵乘法 (vector使用案例)
问题描述 输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。输入格式 第一行,空格隔开的三个正整数m,s,n(均不超过200)。 接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。 接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。输出格式 m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。样例输入2 3 21...
2019-03-14 20:48:49 1070
原创 算法训练 出现次数最多的整数
问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20。然后程序将对这个数组进行统计,把出现次数最多的那个数组元素值打印出来。如果有两个元素值出现的次数相同,即并列第一,那么只打印比较小的那个值。 输入格式:第一行是一个整数N,N £ 20;接下来有N行,每一行表示一个整数,并且按照从小到大的顺序排列。 输出格式...
2019-03-13 20:11:21 183
原创 算法训练 素因子去重
传送门:URL题目:问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1输入格式 一个整数,表示n输出格式 输出一行,包含一个整数p。样例输入1000样例输出10数据规模和约定 n<=10^12 样例解释:n=1000=2^3*5*3,p=2*5=10思路:题目描述有问题,题...
2019-03-11 20:25:19 166
原创 算法训练 审美课 (map的使用案例)
问题描述 《审美的历程》课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋友之手。老师请同学们分辨哪些画的作者是梵高,但是老师自己并没有答案,因为这些画看上去都像是小朋友画的……老师只想知道,有多少对同学给出的答案完全相反,这样他就可以用这个数据去揭穿披着皇帝新衣的抽象艺术了(支持帅老师^_^)。 答案完全相反是指对每一幅画的判断都相反。输入格式 第...
2019-03-05 15:21:41 149
原创 单源最短路(SPFA模板)--------------#1093 : 最短路径·三:SPFA算法
问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出...
2019-03-04 21:10:41 446
原创 小米 OJ 编程比赛 02 月常规赛 (Carryon 数数字)
题目大意:给出l,r两个数字,求出l r之间每个数的16进制表示然后再将它们连接起来形成一个数,再将这个数转换成10进制,最后将这个数用15求余,输出结果!思路:这题考察了对基本数学知识的考察能力,仔细观察不难发现规律,因为是用15求余,所以很容易就想到从求余来着手,因为数据比较大,所以直接计算肯定TLE,具体思路看代码,很简单:#include<bits/stdc++.h...
2019-02-28 21:13:39 490 1
原创 (蓝桥杯 算法题)节点选择
问题描述有一棵 n 个节点的树,树上每个节点都有一个正整数权值。如果一个点被选择了,那么在树上和它相邻的点都不能被选择。求选出的点的权值和最大是多少?输入格式第一行包含一个整数 n 。接下来的一行包含 n 个正整数,第 i 个正整数代表点 i 的权值。接下来一共 n-1 行,每行描述树上的一条边。输出格式输出一个整数,代表选出的点的权值和的最大值。样例输入51...
2019-02-28 21:09:04 1410
原创 Sleepy Kaguya (回归之战)
眼看马上就要到蓝桥杯了,该刷刷题练练手了,找找当年的感觉了!大概快半年没有更新过了,有些算法知识基本都遗忘了,很难受,寒假期间一定要多温习,掌握一些基础的、重要的算法知识!还要多刷题,寻找一些解题的技巧,蓝桥杯一定可以取得满意的成绩的!加油呀! 链接:https://ac.nowcoder.com/acm/contest/338/C来源:牛客网 时间限制:C/C++ 1秒,其...
2019-01-14 17:20:51 492
原创 网易2016校招内推笔试编程题
牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。输入描述:每个输入包含 1 个测试用例。每个测试用例的第 i 行,表示完成第 i 件料理需要哪些材料,各个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过 50 行,每一行不超过 50 个字符。 输出描述:输出一行一个数字表示完成所有料理需要多少种不同的材料。示例...
2018-11-10 16:42:13 166
原创 Python--——文件读写
一.文件写操作 import pickle三步:(1)开:文件变量 = open(“文件路径文件名”,“wb”) (2)存:pickle.dump(“待写入的变量”,“文件变量“) (3)关:文件变量.close()代码如下: Python 2.7.12 (default, Dec 4 2017, 14:50:18) [G...
2018-08-14 00:13:42 298
2020年中科院杨力祥老师操作系统思考题(期末考试)
2020-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人