- 博客(40)
- 收藏
- 关注
原创 PAT-1003
文章目录一、题目二、解析三、代码一、题目“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1.字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;2.任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;3.如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、
2022-01-01 13:13:13 244
原创 卷积神经网络基础知识总结
一般来说CNN具有卷积层,池化层和完全连接层FC(正如在常规神经网络中所见),在池化层之前一般会有个激活函数。CNN局部连接:每个神经元不再和上一层的所有神经元相连,而只和一小部分神经元相连。这样就减少了很多参数权值共享:一组连接可以共享同一个权重,而不是每个连接有一个不同的权重,这样又减少了很多参数。卷积层的作用卷积是一种局部操作,**通过一定大小的卷积核作用于图像信息的局部区域获得图像的局部信息。卷积网络中的卷积核参数是通过网络训练学出的总结输出大小输入体积大小H_1W_1D_1H1
2021-07-06 23:00:01 1856 3
转载 卷积神经网络
人工神经网络网络VS卷积神经网络人工神经网络神经网络之所以不太适合图像识别任务,主要有以下几个方面的问题:参数数量太多,在CIFAR-10(一个比赛数据集)中,图像只有大小为32x32x3(32宽,32高,3色通道),因此在正常神经网络的第一隐藏层中的单个完全连接的神经元将具有32 32 3 = 3072个权重。这个数量仍然是可控的,但显然这个完全连接的结构不会扩大到更大的图像。例如,一个更可观的大小的图像,例如200x200x3,会导致具有200 200 3 = 120,000重量的神经元。此外,我
2021-07-02 23:38:07 361
转载 线性筛求素数
上代码!!!普通筛素数#define SIZE 1000000int main(){ int check[SIZE] = {0};//元素值为0代表是素数 int prime[SIZE] = {0}; int pos=0; int flag; for (int i = 2 ; i < SIZE ; i++) { if (!check[i])//如果是素数 prime[pos++] = i;
2021-07-02 22:26:27 386
转载 前向传播算法与反向传播算法
1.前向传播如图所示,这里讲得已经很清楚了,前向传播的思想比较简单。举个例子,假设上一层结点i,j,k,…等一些结点与本层的结点w有连接,那么结点w的值怎么算呢?就是通过上一层的i,j,k等结点以及对应的连接权值进行加权和运算,最终结果再加上一个偏置项(图中为了简单省略了),最后在通过一个非线性函数(即激活函数),如ReLu,sigmoid等函数,最后得到的结果就是本层结点w的输出。最终不断的通过这种方法一层层的运算,得到输出层结果。对于前向传播来说,不管维度多高,其过程都可以用如下公式表示:
2021-07-01 22:55:50 1421
转载 MVC模式简介
MVC模式一.MVC是什么二.优缺点2.1 MVC模式的优点2.1.1 低耦合2.1.2 重用性高2.1.3 生命周期成本低2.1.4 部署快2.1.5 可维护性高2.1.6 有利软件工程化管理2.2 MVC模式的缺点2.2.1 没有明确的定义2.2.2 不适合小、中型应用程序2.2.3 增加系统结构和实现的复杂性2.2.4 视图对模型数据的低效率访问一.MVC是什么MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,它把软件系统分为三个基本部分:模型(Model)
2021-06-05 09:52:18 19053
原创 排序算法
排序算法一.插入类排序1.直接插入排序2.折半插入排序3.希尔排序一.插入类排序在一个已经有序的序列中,将一个新的关键字插入到合适的位置,这种方法叫做插入类排序。包括直接插入排序,折半插入排序,希尔排序。1.直接插入排序void InsertSort(int R[],int n){ int i,j,temp; for(i=1;i<n;i++){ //注意是从i=1开始的,因为第一个不用排序 temp = R[i]; //将待插入关键字暂存与temp j=i-1; //下面这个循环
2021-05-15 21:54:10 160
原创 数据结构之图的基本知识点
图一.图的存储结构1.邻接矩阵2.邻接表二.图的遍历算法1.深度优先搜索遍历(DFS)2.广度优先搜索(BFS)3.注意4.图的遍历的几个简单应用最小生成树普利姆算法克鲁斯卡尔算法一.图的存储结构1.邻接矩阵typedef struct{ int no; //顶点编号 char info; //顶点信息,一般没用}VertexType;typedef struct{ int edges[maxSize][maxSize]; //用二维数组存储邻接矩阵,若为带权图则用float型 int
2021-04-26 22:31:49 600 1
转载 hibernate多对多
Teacher.javapackage com.xiaostudy.domain;import java.util.HashSet;import java.util.Set;/** * Teacher * * @author xiaostudy * */public class Teacher { // id private Integer id; // 普通属性 private String name; // 另一个类的集合 priv
2021-04-23 18:59:53 127
转载 Spring自动装载
Spring自动装配什么是自动装载?手动装配自动装配方式一:通过xml文件实现自动装配方式二:通过注解实现自动装配什么是自动装载?自动装配就是让应用程序上下文为你找出依赖项的过程。说的通俗一点,就是Spring会在上下文中自动查找,并自动给bean装配与其关联的属性!spring中实现自动装配的方式有两种,一种是通过xml文件、另一种是通过注解。下面将为大家介绍这两种方式实现自动装配。为了更简单的让大家理解,我们通过例子来说明:有以下三个实体类,People类,Dog类,Cat类,分别代表人、狗、
2021-04-23 09:11:15 1278
转载 一些对Spring IOC以及DI的理解
网上的大神对IOC的理解分享开涛对Ioc的精彩讲解1、IoC是什么Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下:●谁控制谁,控制什么:传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主
2021-04-22 19:22:13 90
转载 hibernate三种状态的转换
一、遇到的神奇的事情使用jpa操作数据库,当我使用findAll()方法查处一个List的对象后,给对这个list的实体进行了一些操作,并没有调用update 或者 saveOrUpdate方法,更改后的数据却神奇的保存到数据库里面去了。最后简单粗暴的解决办法是把这份从数据里面查出来的List 复制了一份,然后再操作,再返回。数据就正常了,数据库也没更新。后面找了资料才发现是jpa是对hibernate的封装,底层是hibernate,这是hibernate的持久状态搞的鬼。二、hibernate 的
2021-04-22 15:56:47 461
转载 hibernate一对一关系
hibernate(五) hibernate一对一关系映射详解 </h1> <div class="clear"></div> <div class="postBody"> <div id="cnblogs_post_body" class="blogpost-body blogpost-body...
2021-04-21 21:11:48 559
原创 [蓝桥杯]修改数组
题目描述修改数组时间限制: 1.0s 内存限制: 256.0MB 本题总分:20 分【问题描述】给定一个长度为 N 的数组 A = [A1, A2, · · · AN],数组中有可能有重复出现的整数。现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改A2, A3, · · · , AN。当修改 Ai 时,小明会检查 Ai 是否在 A1 ~ Ai-1 中出现过。如果出现过,则小明会给 Ai 加上 1 ;如果新的 Ai 仍在之前出现过,小明会持续给 Ai 加 1 ,直到 Ai 没有在
2021-04-17 23:22:48 957 1
转载 并查集
并查集概述并查集初始化查询(集合的代表元素)合并路径压缩合并(路径压缩)概述并查集被很多OIer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作:合并(Union):把两个不相交的集合合并为一个集合。查询(Find):查询两个元素是否在同一个集合中。并查集并查集的重要思想在于,用集合中的一个元素代表集合。我曾看过一个有趣的比喻,把集合比喻成帮派,而代表元素则是帮主。接下来我们利用这个比喻,看看并查集是如何运作的。最开始,所有大侠各
2021-04-17 21:39:20 149
原创 [蓝桥杯]完全二叉树的权值
题目【问题描述】给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是 A 1 , A 2 , ··· A N ,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度。注:根的深度是 1。【输入格式】第一行包含一个整数 N。第二行包含 N 个整数 A 1 , A 2 , ··· A N 。【输出格式】输出一个整数代表答案。【样例输入】71 6 5
2021-04-16 21:44:11 447
原创 [蓝桥杯]迷宫
题目 下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可以通行的地方。010000000100001001110000 迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这个它的上、下、左、右四个方向之一。 对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共10 步。其中D、U、L、R 分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30 行50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前提下,请找
2021-04-15 22:21:38 152
原创 [蓝桥杯]数列求和
问题描述: 给定数列1,1,1,3,5,9,17,…从第四项开始,每项都是前三项的和。求第20190324项的最后四位数。答案提交:这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个 4 位整数(提示:答案的千位不为 0),在提交答案时只填写这个整数,填写多余的内容将无法得分。 答案:4659思路 如果直接求出第20190324项的值,应该会超限,所以应该换种想法。因为我们只要最后结果的后四位,所以每次相加的时候只要把每个数的后四位加起来就可以了。代码#include
2021-04-14 22:12:48 1667
原创 [蓝桥杯]平方和
题目描述 小明对数位中含有2、0、1、9 的数字很感兴趣,在1 到40 中这样的数包括1、2、9、10 至32、39 和40,共28 个,他们的和是574,平方和是14362。 注意,平方和是指将每个数分别平方后求和。 请问,在1 到2019 中,所有这样的数的平方和是多少?答案:2658417853思路 其实也不用想的多复杂,无非就是判断一个数里是否含有2,0,1,9这四个数中的一个或多个。比如我们如何判断一个数里是否含有2呢?是不是直接想到的是取出这个数的每一位,然后让每一位与2比较
2021-04-13 23:37:06 509
转载 Spring AOP
1.Spring AOP是什么? Aspect Oriented Programming:面向切面编程 什么时候会出现面向切面编程的需求?按照软件重构的思想,如果多个类中出现重复的代码,就应该考虑定义一个共同的抽象类,将这些共同的代码提取到抽象类中,比如Teac...
2021-04-12 22:38:08 131
原创 一维差分
差分差分具体是个什么东西?给你一个序列a,设一个序列s为a序列中相邻两个数的差,即s(i)=a(i)−a(i−1)。特别的,未赋值的a(0)为0。我们发现,这样一个数就可以用前面所有的差的和来表示,即a(i) = a(i)−a(i−1)+a(i−1)−a(i−2)+…+a(1)−a(0) = s(i)+s(i−1)+…+s(1)这就是差的前缀和。如果我们只想快速得到少量位置的当前数的话,应该用树状数组维护差分。但我们现在需要知道所有的数(判断是否存在小于0的数),就没必要再用一个log维护了,直
2021-04-05 21:30:26 79
转载 C++getline函数用法详解
虽然可以使用 cin 和 >> 运算符来输入字符串,但它可能会导致一些需要注意的问题。当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。以下面的语句为例:cin >> namel;可以输入 “Mark” 或 “Twain”,但不能输入 “Mark Twain”,因为 cin 不能输入包含嵌入空格的字符串。下面程序演示了这个问题:// This program
2021-04-04 23:07:52 1439
原创 [蓝桥杯][2018年第九届真题]递增三元组
递增三元组题目代码题目给定三个整数数组A = [A1, A2, … AN],B = [B1, B2, … BN],C = [C1, C2, … CN],请你统计有多少个三元组(i, j, k) 满足:1 <= i, j, k <= NAi < Bj < Ck输入第一行包含一个整数N。 第二行包含N个整数A1, A2, … AN。 第三行包含N个整数B1, B2, … BN。 第四行包含N个整数C1, C2, … CN。输出一个整数表示答案样例输入31
2021-03-29 22:29:08 302
原创 数组中的第K小的元素
数组中的第K小的元素题目思路代码题目给定一个数组,输出第k小的数。思路 可以借用快速排序的思想。我们知道,快速排序的核心思想就是在要排序的数组中选择一个数,然后将数组中比这个数小的数放在这个数的左边。比这个数大的数放在他的右边。现在我们要找第k大的数,那么如果在数组中选了一个数,用快排的方法,将比这个数小的数都放在它的左边,而左边的这些数正好有k-1个,那我们选的这个数不就是第k大的数?代码#include <iostream>using namespace std;con
2021-03-28 23:35:38 914
原创 乘积尾零
标题:乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 3135 1170 4014 5510 5120 729 2880 90192049 698 4582 43
2021-03-26 22:47:21 211
原创 珍惜现在,感恩生活(HDU-2191)
HDU-2191题目分析代码题目Problem Description急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1<=n<=100, 1<=m<=100),分别表示经费的金额和大米的
2021-03-24 23:18:21 156
原创 湫湫系列故事——减肥记I(HDU-4808)
湫湫系列故事——减肥记I题目思路代码题目对于吃货来说,过年最幸福的事就是吃了,没有之一! 但是对于女生来说,卡路里(热量)是天敌啊! 资深美女湫湫深谙“胖来如山倒,胖去如抽丝”的道理,所以她希望你能帮忙制定一个食谱,能使她吃得开心的同时,不会制造太多的天敌。当然,为了方便你制作食谱,湫湫给了你每日食物清单,上面描述了当天她想吃的每种食物能带给她的幸福程度,以及会增加的卡路里量。Input 输入包含多组测试用例。 每组数据以一个整数n开始,表示每天的食物清单有n种食物。 接下来n行
2021-03-23 22:35:18 515
原创 全排列
全排列一.问题描述 给定一组字符串,输出其全排列。比如,给定abc,其全排列为abc,acb,bac,bca,cab,cba。二.思路 其实求全排列的过程可以看作一棵树。比如上面的求abc的全排列,它的全排列无非是以a或者b或者c开头,那么我们就分别以a,b,c为根节点建立一棵树。先遍历第一棵树,即以a为根节点的树,当前树的深度为1,小于三,说明以a为根的全排列还没有完成,则往下遍历,产生三个子节点即a,b,c。其中a我们已经用过了,那么只能用b或者c当作全排列的第二个字符。如果我们选择了b,那
2021-03-23 21:17:41 140 2
原创 简单的递归问题
几个简单的递归问题一. 有一个整形数组A[0,1,…,n-1],求其中的最大值,要求用递归求。//用递归的方法找数组A中Ai到Aj之间的的最大值int findMax(int A[],int i,int j){ if(i == j){ return A[i]; }else{ return max(A[i],findMax(A,i+1,j)); }}二. 求数组的和。//求数组的和int arraySum(int A[],int
2021-03-23 21:06:03 118
原创 点菜问题
点菜问题题目描述思路代码题目描述链接:https://www.nowcoder.com/questionTerminal/b44f5be34a9143aa84c478d79401e22a来源:牛客网北大网络实验室经常有活动需要叫外卖,但是每次叫外卖的报销经费的总额最大为C元,有N种菜可以点,经过长时间的点菜,网络实验室对于每种菜i都有一个量化的评价分数(表示这个菜可口程度),为Vi,每种菜的价格为Pi, 问如何选择各种菜,使得在报销额度范围内能使点到的菜的总评价分数最大。 注意:由于需要营养
2021-03-21 22:31:53 542
原创 Common Subsequence(POJ-1458)
Common Subsequence题目DescriptionA subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, …, xm > another sequence Z = < z1, z2, …, zk > is a subsequence of X if there
2021-03-20 22:54:36 103
转载 Java反射机制讲解及使用
一.什么是反射?(1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁。二.反射的原理下图是类的正常加载过程、反射原
2021-03-20 15:48:02 192
原创 最长递增子序列(POJ2533)
最长递增子序列题目题目大意思路朴素的递归算法自顶向下的备忘录法(递归+记忆化)自底向上的递推算法题目DescriptionA numeric sequence of ai is ordered if a1 < a2 < … < aN. Let the subsequence of the given numeric sequence (a1, a2, …, aN) be any sequence (ai1, ai2, …, aiK), where 1 <= i1 < i2
2021-03-18 22:38:22 340
原创 动态规划经典问题-最大连续子序列和
最大连续子序列和题目分析朴素的递归策略(未用到动态规划)改进:自顶向下的备忘录法自底向上的递推方法题目给出一个整数序列S,其中有N个数,定义其中一个非空连续子序列T中所有数的和为T的“序列和”。 对于S的所有非空连续子序列T,求最大的序列和。 变量条件:N为正整数,N≤1000000,结果序列和在范围(-263,263-1)以内。输入描述:第一行为一个正整数N,第二行为N个整数,表示序列中的数。输出描述:输入可能包括多组数据,对于每一组输入数据,仅输出一个数,表示最大序列和。示例1输入5
2021-03-17 22:44:40 1266 1
转载 动态规划
已知问题规模为n的前提A,求解一个未知解B。(我们用An表示“问题规模为n的已知条件”)此时,如果把问题规模降到0,即已知A0,可以得到A0->B.如果从A0添加一个元素,得到A1的变化过程。即A0->A1; 进而有A1->A2; A2->A3; …… ; Ai->Ai+1.这就是严格的归纳推理,也就是我们经常使用的数学归纳法;对于Ai+1,只需要它的上一个状态Ai即可完成整个推理过程(而不需要更前序的状态)。我们将这一模型称为马尔科夫模型。对应的推理过程叫做“贪心法
2021-03-16 22:37:05 93
原创 Square(POJ-2362)
Square一、题目二、题目大意三、思路代码一、题目DescriptionGiven a set of sticks of various lengths, is it possible to join them end-to-end to form a square?InputThe first line of input contains N, the number of test cases. Each test case begins with an integer 4 <= M
2021-03-15 22:28:20 405
原创 栈的应用-后缀式求值
栈的应用-后缀式求值什么是后缀式?怎样求后缀式的值呢?代码什么是后缀式?后缀式就是把运算符写在运算对象的后面。比如(a+b+cd)转化为后缀式为abcd++e/。注意,中缀式转化为前缀或者后缀式是不唯一的,所以后缀式可以有多种。怎样求后缀式的值呢?后缀式求值可以用栈来解决。当遇到数值的时候入栈,当遇到运算符的时候,连续两次出栈,将两个元素结合运算符进行运算,将结果当成新遇到的数值入栈。如此往复,直到遇到终止符号#。此时栈里只有一个元素就是表达式的值。代码int op(int a, char o
2021-03-15 20:59:08 426
原创 栈的应用-括号匹配问题
顺序栈的应用-括号匹配问题问题描述问题分析代码总结问题描述 编写算法,判断一个表达式的括号是否正确配对。问题分析 从左往右看这个表达式中的括号,看到一个“(”就记住它(这里可以理解为入栈),如果下一个括号是")"(这里可以理解为出栈),则去掉这两个括号,一对括号处理完毕继续往后看。如果前边所有的括号都被划掉,而下一个括号是")",则括号一定不匹配,因为")“之前已经没有括号和它匹配了。如果下一个括号是”(",则暂时不管前一个"(",先把它放在那里,等后边的"(“处理掉后再来处理它。后边的”(“
2021-03-15 20:14:41 443
原创 A Knight‘s Journey(POJ-2488)
A Knight's Journey欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学
2021-03-15 13:23:33 514
原创 回溯法
回溯法目录回溯法一、回溯法是什么?二、回溯法基本思想三、回溯法实现1.递归实现2.递推(迭代)实现四.子集树和排列树1.子集树2.排列数一、回溯法是什么? 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。二、回溯法基本思想 回溯法对任一解的生成,一般都采用逐步扩大解的方式。每前进一步,都试图在当前部分
2021-03-14 21:54:39 1207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人