自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

快速进入竞赛模式!

高校程序竞赛讲解。

  • 博客(79)
  • 收藏
  • 关注

原创 C++ 实现计算组合数(一乘一除法附讲解)

Cnm =n!/(m!*(n-m)!)此时 n! 可以和 (n - m)! 约去得到 (n - m + 1) ~ n ,共 m 个数而剩下的 1 / m! 也是 m 个数, 所以可以在代码中通过m个循环反复先乘后除缩小数据规模long long C(int n, int m){ if(n == m || m == 0){ return 1; } //替换为等价值中较小的,减少循环次数 m = min(m, n - m);...

2022-05-31 19:26:23 374

转载 面试题:new/delete 和 malloc/free 的区别

1.属性new/delete 是C++关键字,需要编译器支持。malloc/free 是库函数,需要头文件支持。2.参数使用new 操作符申请内存分配时无须指定内存块大小,编译器会根据类型信息自行计算。而malloc则需要显式地指出所需内存的尺寸。3.返回类型new 操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转换,故new是符合类型安全性的操作符,而malloc内存分配成功则是返回void* ,需要通过强制类型转换将 void* 指针转换成我们需要的类

2022-04-09 11:59:33 215

转载 #include < > 和 #include “ “ 的区别

一、使用场景不同1、#include <> 一般用于包含系统头文件,诸如 stdlib.h 、stdio.h 、iostream等;2、#include " " 一般用于包含自定义头文件,如test.h、declare.h等二、查找的目录不同1、#include<> : 编译器直接从系统类库目录里查找头文件:#include <stdio.h>比如在VS2013中,此时编译器会直接在<VS 2013 安装目录> \VC\include

2022-04-09 11:31:29 6472

转载 虚函数和多态

一、虚函数在类的定义中,前面有virtual关键字的成员函数称为虚函数; virtual关键字只用在类定义里的函数声明中,写函数体时不用。 class Base { virtual int Fun() ; // 虚函数};int Base::Fun() // virtual 字段不用在函数体时定义{ } 二、多态的表现形式派生类的指针(对象) 可以赋给 基类指针(引用);通过基类指针(引用)调用基类和派生类中的同名虚函数时:1.若该指针(引用)指向一个基...

2022-04-09 10:54:57 146

转载 c++虚函数的作用

首先定义一个函数为虚函数,不代表函数不被实现,是为了允许基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数未被实现,纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。class A { public: virtual void foo() { cout<<"A::foo() is called"<<endl; } }; class B:publi

2022-04-09 09:23:08 434

原创 编程题:《语言解释器》

一、语言解释器描述:实现一个简单的语言解释器,支持以下指令:指令格式 描述mov a v 把数v赋值给a,其中a是变量名称,由不超过10个小写字母组成,v是变量名或者常数(常数为-10000~10000的整数)inc a 变量a加1dec a 变量a减1jnz a v 如果变量a的值不是0,则相对跳转v条指令。比如-2,向上跳转两个指令输入保证最多有100个变量,100条语句;执行inc, dec和jnz之前,相应变量一定已经用mov赋值过。输入:mo...

2022-04-08 16:15:10 581

转载 面试题:C++和JAVA的区别

学Java 难在框架和库,C++就业机会比java少。Java侧重于大型企业级应用开发,C++侧重于底层应用开发。现在网页,移动app,都是通过http与服务器通讯,在http请求上面,Java处理较好,C++没有处理优势。所以,后台服务器都会用到JAVA,而不一定用到C++(大型项目才会用到)。解释对编译:Java是一种解释性语言,需要JVM。而C++是编译语言,意味着只能在特定操作系统上编译和运行,C++是一步到位成机器语言的。 内存安全:Java是一种内存安全型语言,意味着大家可以为给定数组

2022-04-08 14:56:21 477

转载 面试题:TCP和UDP的区别

TCP/IP 协议是一个协议簇。里面很多协议,upd 是其中一个,之所以命名为这个,是因为TCP、IP 是两个很重要的协议。TCP/IP 协议集包括应用层、传输层、网络层、网络访问层应用层包括超文本传输协议(HTTP):万维网基本协议 文件传输(TFTP简单文件传输协议) 远程登录(Telnet)提供远程访问其他主机功能,运行用户登录Internet主机,并在这台主机上执行命令; 网络管理(SNMP简单网络管理协议),提供了监控网络设备的方法…… 域名系统(DNS) 用于在Inter

2022-04-08 14:49:56 482

转载 面试题:进程Process和线程Thread的区别?

进程是具有独立功能的程序,是系统资源分配的单位;线程是进程的一个实体,是CPU调度(程序执行)的单位,自己不拥有系统资源。同一进程的线程共享该进程所有资源,线程在执行过程中,需要协作同步。进程包括 线程、内存、文件/网络句柄线程包括 栈、PC(程序计数器)、TLS(Thread local storage)(分配内存、存放变量)并发性:进程和线程都可以。优劣:线程之间通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式进行。 线程的调...

2022-04-08 14:47:36 172

转载 不用排序一次遍历找数组中第二小的数

#include <iostream>#include <vector>using namespace std;int main(){ vector<int> a(100); for (int i = 99; i >= 0; --i) { a[i] = i - 50; } int firstmin; int secondmin; if (a[0] < a[1]) { firstmin = a[0]; secondmin .

2022-02-26 09:25:20 181

转载 归并排序 Merge Sort

#include <iostream>#include <vector>#include <algorithm>using namespace std;void merge(vector<int> &a, int l, int m, int r) { //tmp arr save the sorted after merge int n = r - l + 1; int *tmp = new int[n]; int i; int .

2022-02-24 09:10:04 75

转载 希尔排序

希尔排序希尔排序这个名字,来源于它的发明者希尔,也称作“缩小增量排序”,是插入排序的一种更高效的改进版本。我们知道,插入排序对于大规模的乱序数组的时候效率是比较慢的,因为它每次只能将数据移动一位,希尔排序为了加快插入的速度,让数据移动的时候可以实现跳跃移动,节省了一部分的时间开支。希尔排序动画演示图解希尔排序待排序数组 10 个数据:希尔排序1假设计算出的排序区间为 4 ,那么我们第一次比较应该是用第 5 个数据与第 1 个数据相比较。希尔排序2调换后的.

2021-01-30 20:35:29 201

转载 动态规划以及相关的“股票”算法题

下面的三道算法题都是来源于 LeetCode 上与股票买卖相关的问题 ,我们按照 动态规划 的算法流程来处理该类问题。股票买卖这一类的问题,都是给一个输入数组,里面的每个元素表示的是每天的股价,并且你只能持有一支股票(也就是你必须在再次购买前出售掉之前的股票),一般来说有下面几种问法: 只能买卖一次 可以买卖无数次 可以买卖 k 次 需要你设计一个算法去获取最大的利润。买卖股票的最佳时机题目来源于 LeetCode 上第 121 号问题:买卖股票的最佳时机。题目难度

2021-01-30 11:52:01 474

转载 Java参数传递网红面试题:int a = 10; int b = 10;method(a, b);//需要在method方法被调用之后,仅打印出a=100,b=200

题目代码方法一: public static void method(int a, int b) { a *= 10; b *= 20; System.out.println("a="+a); System.out.println("b="+b); System.exit(0); }方法二:需要提前import打印流,有点瑕疵import java.io.PrintStream; //...(此处省略的为题目代码) public stati

2021-01-16 22:14:16 899

原创 Java—回形数格式方阵

题目思路新手,探索了一下午用数学的方法把每一行的值求出来了。设方阵中的数为aij,输入的数字是m。观察方阵可知,方阵大致可按数字+1的增长规律分为四个区域:因此我们只需将如1 -> 20 这样跳跃性变化的数字之间的关系求出即可,易得20 = 1 + 4*6-5,即aij = ai-1 j + 4 * (m-2*j) -5 。由此我们即可分上下两个区域,各三种情况来一次性将其算出。代码import java.util.Scanner;public class A

2021-01-12 21:26:42 477

转载 计算任何一天是星期几的几种算法

http://blog.csdn.net/whz_zb/article/details/7425260

2017-12-15 13:14:24 1673

转载 HDU 4055 Number String(计数dp)

作者:蜘蛛侠链接:点击打开链接原题Number StringTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionThe signature of a permutation is a string tha

2017-09-07 19:58:16 383

转载 HDU 4489 The King’s Ups and Downs(组合DP)

作者:Accagain链接:点击打开链接原题The King’s Ups and DownsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionThe king has guards of all differ

2017-09-05 18:54:13 590

转载 ZOJ 3747 Attack on Titans(动态规划(DP) 递推)

作者:Accagain链接:点击打开链接原题Attack on TitansTime Limit: 2 Seconds Memory Limit: 65536 KBOver centuries ago, mankind faced a new enemy, the Titans. The difference of power between mankind and

2017-09-03 20:57:05 720

转载 [dp] Codeforces 429B B. Working out(动态规划(DP))

作者:Accagain链接:点击打开链接原题B. Working outtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputSummer is coming! It's time for Iahub an

2017-09-02 17:07:13 514

转载 HDU 2050 折线分割平面(动态规划(DP) 递推)

作者:新浪博客博主panda链接:点击打开链接原题折线分割平面Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description我们看到过很多直线分割平面的题目,今天的这个题目稍微有些变化,我们要求的是n条折线分割平面的最大

2017-09-01 17:15:23 619

转载 HDU 6180 Schedule(贪心)

作者:CSDN博主 最菜的acmer链接:点击打开链接原题ScheduleTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 153428/153428 K (Java/Others)Problem DescriptionThere are N schedules, the i-th schedule h

2017-08-31 20:39:20 372

转载 多重集组合数(动态规划(DP))

注:文章内容源自《挑战程序设计竞赛》(第二版)原题多重集组合数有 n 种物品,第 i 种物品有 ai 个。不同种类的物品可以相互区分但是相同的种类无法区分。从这些物品中取出 m 个的话,有多少种取法?求出方案数模M的余数。1112样例输入n=3m=3a={ 1,2,3 }M=10000样例输出6 (0+0+3,0+1+2,0+2+1,1+0+

2017-08-29 18:58:53 1285

转载 划分数(动态规划(DP))

作者:码农场站主链接:http://www.hankcs.com/program/m-n-recursive-division.html原题有n个无区别的物品,将它们划分为不超过m组,求出划分方法数模M的余数。限制条件:1≤m≤n≤10002≤M≤10000涉及知识及算法这样的划分被称作n的m划分,dpdp 数组可以这么定义:

2017-08-29 17:05:14 978

转载 多重部分和问题(动态规划(DP))

原题多重部分和问题有n种不同大小的数字ai,每种各mi个。判断是否可以从这些数字之中选出若干使它们的和恰好为K。111样例输入n=3a={3,5,8}m={3,2,2}K=17样例输出Yes(3*3+8=17)涉及知识及算法定义dp[i+1][j]为前i种数字是否能加和成j为了用前i种数字加

2017-08-28 17:17:10 1710 1

原创 HDU 1257 最少拦截系统(最长上升子序列 动态规划(DP))

原题最少拦截系统Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的

2017-08-28 15:55:27 325

原创 HDU 2222 Keywords Search (AC自动机 经典)

原题Keywords SearchTime Limit: 1000MS Memory Limit: 131072KB 64bit IO Format: %I64d & %I64uDescriptionIn the modern time, Search engine came into the life of everybody like Google, Baidu, etc.

2017-08-24 10:25:00 264

原创 HDU 6153 A Secret(扩展KMP算法)

原题A SecretTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 256000/256000 K (Java/Others)Problem DescriptionToday is the birthday of SF,so VS gives two strings S1,S2 to SF as a pres

2017-08-21 17:38:02 1277 2

转载 扩展KMP算法

作者:刘毅 链接:http://www.61mon.com/index.php/archives/186/ 文章采用[知识共享署名 - 非商业性使用 - 禁止演绎 4.0 国际许可协议]进行许可扩展 KMP 算法前文已经介绍了经典的 KMP 算法,本文继续介绍 KMP 算法的扩展,即扩展 KMP 算法。问题定义:给定两个字符串 S 和 T(长度分别为 n 和 m

2017-08-21 11:47:05 504

转载 01背包问题之二 (动态规划(DP))

注:本文内容源自《挑战程序设计竞赛》第二版原题01背包问题之二 有n个重量和价值分别为wi,vi的物品。从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。1111样例输入n=4(w,v)={(2,3),(1,2),(3,4),(2,2)}W=5样例输出7(选择0、1、3号物品)涉及知

2017-08-19 09:22:56 752

转载 完全背包问题(动态规划(DP))

原题完全背包问题有n种重量和价值分别为wi,vi的物品。从这些物品中挑选总重量不超过W的物品,求出挑选物品价值总和的最大值。在这里,每种物品可以挑选任意多件。111样例输入n=3(w,v)={(3,4),(4,5),(2,3)}W=7样例输出10(0号物品选1个,2号物品选2个)涉及知识及算法递推关

2017-08-14 09:39:34 6889

转载 HDU 1159 Common Subsequence(最长公共子序列(LCS) 动态规划(DP))

原题Common SubsequenceTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64uDescriptionA subsequence of a given sequence is the given sequence with some elements (possible

2017-08-13 11:52:56 424

转载 01背包问题(动态规划DP)

原题01背包问题有n个重量和价值分别为wi,vi的物品。从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。111样例输入n=4(w,v)={(2,3),(1,2),(3,4),(2,2)}W=5样例输出7(选择0、1、3号物品)代码递归写法(记忆化搜索)int n,W;int w[MA

2017-08-12 18:20:46 469

转载 TK题库 1133 最大子阵和(动态规划DP 最大字段和)

原题 最大子阵和时间限制: 1 Sec 内存限制: 32 MB题目描述有一个包含正数和负数的二维数组。一个子矩阵是指在该二维数组里,任意相邻的下标是1*1或更大的子数组。一个子矩阵的和是指该子矩阵中所有元素的和。本题中,把具有最大和的子矩阵称为最大子矩阵。例如:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2这个数组的最大子

2017-08-12 10:26:13 1254

转载 HDU 1071 The area(微积分 计算几何)

原题The areaTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionIgnatius bought a land last week, but he didn't know the area of the land b

2017-08-11 21:14:35 472

转载 HDU 1069 Monkey and Banana(动态规划DP 经典)

原题Monkey and BananaTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionA group of researchers are designing an experiment to test the

2017-08-09 22:38:05 337

转载 POJ 1094 Sorting It All Out(拓扑排序 入度性质)

原题Sorting It All OutTime Limit: 1000MS Memory Limit: 10000KDescriptionAn ascending sorted sequence of distinct values is one in which some form of a less-than operator is used to order t

2017-08-07 20:23:31 323

转载 POJ 1321 棋盘问题(DFS)

原题棋盘问题Time Limit: 1 Sec Memory Limit: 32 MBDescription在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。 每组数据的第一行是两个

2017-08-06 12:54:37 269

转载 TK题库 1098 最少的交换(分治 归并排序 逆序数)

原题最少的交换Time Limit: 1 Sec Memory Limit: 32 MBDescription现在给你一个由n个互不相同的整数组成的序列,现在要求你任意交换相邻的两个数字,使序列成为升序序列,请问最少的交换次数是多少?Input输入包含多组测试数据。每组输入第一行是一个正整数n(n接下来的n行,每行一个整数a[i](0Output

2017-08-02 19:05:16 1357

原创 数据结构基础 排序

//快速排序 s为首元素下标,e为尾元素下标void quick_sort(int n[],int s,int e){ if(s>=e) return; int i=s,j=e,x=n[s]; //一趟快速排序 while(i<j) { //从右往左找第一个小于x的 while(i=x) {

2017-08-02 15:48:46 228

空空如也

空空如也

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

TA关注的人

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