3 程勇uestc

尚未进行身份认证

电子科大

等级
TA的排名 2w+

CCF CSP 2013年12月 I’m stuck!

\quad这就是一个搜索题,DFS和BFS均可。需注意搜索的时间复杂度为O(m2n2∗4)O(m^2n^2*4)O(m2n2∗4),最多每个有4个搜索方向。故而计算量达到2.5∗1072.5*10^72.5∗107,稍不留神就超时了。所以需要写程序的时候进行一些优化,比如存放各个字符对应哪些搜索方向就不要采用判断或者map存放,会导致最后一个点超时。#include <iostream&...

2020-03-29 21:34:26

CCF CSP 201409-4 最优配餐

\quad这个题主要考察多源BFS,有几个坑点如下:实现上尽可能高效,博主在使用cin,cout时最后两个测试点超时队列中每个点信息存储时尽量用结构体,博主最开始用queue里面嵌套vector得的方式存储每个点信息,超时最后的结果可能会爆int,最多有大约1000*1000个用户点,每个点最多参量为1000,距离供货点最远为2000,完全可以爆int。故用long long存储结果...

2020-03-29 20:23:34

数据挖掘课程第一次作业

一、课后习题2.41、求均值、中位数和标准差age = [23, 23, 27, 27, 39, 41, 47, 49, 50, 52, 54, 54, 56, 57, 58, 58, 60, 61]fat = [9.5, 26.5, 7.8, 17.8, 31.4, 25.9, 27.4, 27.2, 31.2, 34.6, 42.5, 28.8, 33.4, 30.2, 34.1, 3...

2020-03-25 09:22:00

数字通信——第一章 绪论

一、离散时间信号与系统1.5 全零点滤波器的格型结构一个M阶全零点系统的

2020-03-05 15:43:28

Java集合——Set

一、综述\quadSet集合包含三个常用的类——HashSet, TreeSet, EnumSet,这三个类各有特色,使用场景不同。这里先讨论Set集合的通用特性:Set集合与Collection基本一样,没有提供额外的方法,只是行为不同Set集合不允许有相同的元素,如果试图把两个相同的元素加入一个Set集合则添加操作失败,add方法将返回falseSet判断两个对象相同不是使用==运算...

2020-01-30 18:14:19

Java集合——Collection和Iterator接口

一、Java集合概述\quadJava集合类是一种特殊的工具类,可以用于实现常用的数据结构,如栈、队列等。Java集合大致上可以分为:Set、List、Map三种体系。\quad集合类主要负责保存、盛装其他数据,因此集合类也称为容器类,所有的集合类都位于java.util包下。\quad集合类与数组不同,数组元素既可以是基本类型的值,也可以是对象;而集合里只能保存对象(实际上也是保存对象的引...

2020-01-30 17:01:29

最长回文子串的几种求法

题目链接:最长回文子串一、暴力求解O(n3)O(n^3)O(n3)\quad直接枚举两端点i,ji,ji,j,再判断字符串s[i,,,j]s[i,,,j]s[i,,,j]是否是回文串,一共三重循环。class Solution {public: string longestPalindrome(string s) { int n = s.length(); ...

2020-01-29 20:24:07

Java类——继承和组合

一、继承的缺点和注意点\quad继承是实现类重用的重要手段,但继承带来了一个最大的坏处——破坏封装。相比之下,组合也是实现类重用的重要方式,但采用组合方式来实现类重用能提供更好的封装性。\quad在继承中,子类可以直接访问父类的属性和方法,并可以改变父类方法的实现细节(例如通过方法重写的方式来改变父类方法实现),从而导致子类可以恶意篡改父类方法。为保证父类良好的封装性,不会被子类随意改变,通常...

2020-01-28 21:30:25

Java类——多态

一、多态性\quadJava引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时的类型决定,运行时的类型由实际赋值给该变量的对象决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态。\quad先看一个父类Base和子类Sub的代码,根据其结果做进一步分析:public class Base { public int book = 6; ...

2020-01-27 22:11:24

Java类——继承

一、继承的特点\quad继承是面向对象三大特征之一,也是软件复用的重要手段。Java继承具有单继承的特点,每个子类只有一个直接父类。\quadJava的继承通过extends关键字实现,实现继承的类称为子类,被继承的类称为父类或基类。父类与子类的关系其实就是一般与特殊的关系,例如水果和苹果的关系,苹果继承了水果,苹果是水果的子类,则苹果是一种特殊的水果。\quadJava里面子类继承父类的语...

2020-01-27 21:38:25

Java类——深入构造器

一、使用构造器\quad构造器是一个特殊的方法,用于创建类的实例。Java语言中构造器是创建对象的重要途经,因此,Java类必须包含一个或一个以上的构造函数。\quad构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统为这个对象的属性进行默认初始化+将所有的基本类型设为0或false,将所有的引用类型设置为null。我们可以在构造器中改变这种默认的初始化,如下面程序所示:pu...

2020-01-27 17:29:14

Java类——封装

一、为什么要封装?\quad封装是面向对象的三大特征之一(另外两个是继承和多态),它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部的信息,而是通过该类提供的方法来实现对内部信息的操作和访问。\quad比如Person类的属性中可能包含age,age属性只能随着时间流逝才能变大,通常不能随意修改Person对象的age属性。对一个类或对象实现封装,好处很多:隐藏类的实现...

2020-01-27 16:37:30

背包九讲

一、01背包要求:每种物品只能选择0个或1个,即对于每种物品只有选或者不选两种情况。题目描述:(题目链接)\quad有 NNN 件物品和一个容量是 VVV 的背包。每件物品只能使用一次。第 iii 件物品的体积是 viv_ivi​,价值是 wiw_iwi​。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式:\quad第一行两个整数,N,VN...

2020-01-26 18:24:00

Java类——方法和变量

一、方法\quad方法是类或对象的行为特征的抽象,从功能上看,方法完全类似于传统结构化程序设计里的函数。Java中方法不能独立存在,所有的方法必须定义在类里。即方法要么属于类,要么属于对象。\quad如果一个方法使用了static修饰,则该方法属于类,否则属于这个类的对象。\quad所有方法都必须使用“类.方法”或“对象.方法”的形式来调用。有人会问:同一个类中的不同方法相互调用的时候,不是...

2020-01-25 21:32:21

Java类——类的组成成员、定义、创建和使用

一、定义类\quad定义类的简单语法如下:在上面的语法格式中,修饰符可以是public和final中的一个,或者不要也可以。类可以包含三种最常见的成员:构造器、属性和方法,三种成员都可以定义0个或多个类中各成员间可以相互调用,但static修饰的成员不能访问没有static修饰的成员属性用于定义类或类的实例中所包含的数据,方法则用于定义类或类的实例的行为特征或功能实现构造器用于构造...

2020-01-25 20:23:38

Java循环及数组

一、循环\quadJava的for,while循环与C/C++及其相似,不同之处在于Java提供了更强大的跳出循环的功能。在Java中,break不仅可以跳出当前循环,还可以跳出更外层指定循环层的循环,此时需要在break后加一个标签,这个标签用于标识一个外层循环。Java中的标签就是一个紧跟英文冒号的标识符,且放在循环语句前。示例程序如下:public static void main(St...

2020-01-22 13:14:10

Java学习之数据类型

一、Java关键字\quadJava关键字都是小写的,一共48个。如下图所示:注意,与C或者C++不同,Java没有将const和goto作为关键字。目前这两个是保留关键字,可能在未来会被Java采用,有可能永远不用。Java还提供了3个特殊的直接量:true、false和null。故Java语言的标识符(即给程序中变量、类、方法命名的符号)不能是这48+2+3=5348+2+3=5348+...

2020-01-19 22:37:12

Java学习之基本概念

一、Java程序的运行机制\quadJava程序需要经过编译和解释两个步骤,但其编译步骤并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(*.class文件)。这种字节码不是可执行的,须使用Java解释器来解释执行。因此,我们可以认为:Java既是编译型语言,也是解释型语言。\quad负责解释执行字节码文件的是Java虚拟机,即JVMJVMJVM(Java Virtual Machi...

2020-01-19 21:15:20

刷题篇-队列

一、小组队列题目描述:\quad有n个小组要排成一个队列,每个小组中有若干人。当一个人来到队列时,如果队列中已经有了自己小组的成员,他就直接插队排在自己小组成员的后面,否则就站在队伍的最后面。请你编写一个程序,模拟这种小组队列。输入格式:\quad输入将包含一个或多个测试用例。对于每个测试用例,第一行输入小组数量t。接下来t行,每行输入一个小组描述,第一个数表示这个小组的人数,接下来的数表...

2020-01-13 19:38:43

刷题篇-栈

一、设计一个最小栈题目要求:设计一个支持push,pop,top等操作并且可以在O(1)O(1)O(1)时间内检索出最小元素的堆栈。push(x)–将元素x插入栈中pop()–移除栈顶元素top()–得到栈顶元素getMin()–得到栈中最小元素样例:MinStack minStack = new MinStack();minStack.push(-1);minStack.p...

2020-01-11 18:47:25

查看更多

勋章 我的勋章
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。