自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(413)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 wppay免登录付费内容插件

插件介绍目前很多付费内容插件功能都很多,插件又大,而我们只需要一款简单的付费内容功能的插件,WPPAY是个不错的选择。WPPAY是一款模板兔开发的免登录的付费查看内容/付费下载资源WordPress插件,使用起来超级方便,利用短代码即可。使用方法:[wppay]这里放隐藏的内容[/wppay]。在文章编辑器下方可以内容收费类型和价格,如下图:设置好后效果如下点击支付后就会弹出支付二维码如果是手机页面则会显示“启动支付宝”支付成功后就会显示加密内容。安装方法在wordpress后面插件.

2021-02-10 19:26:51 1343 1

原创 波动数列

观察这个数列:1 3 0 2 -1 1 -2 …这个数列中后一项总是比前一项增加2或者减少3,且每一项都为整数。栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加 a 或者减少 b 的整数数列可能有多少种呢?输入格式共一行,包含四个整数 n,s,a,b,含义如前面所述。输出格式共一行,包含一个整数,表示满足条件的方案数。由于这个数很大,请输出方案数除以 ...

2020-01-12 11:54:41 514

原创 地宫取宝

XXX国王有一个地宫宝库,是 n×mn×mn×m 个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是kkk件,则这些宝贝就可以送给小明。请你帮小明算一算...

2020-01-12 10:58:41 435

原创 Java设计模式之抽象工厂模式

抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。介绍意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具...

2019-12-23 10:01:11 158

原创 Java设计模式之单例模式

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3...

2019-12-23 09:04:29 179

原创 Java设计模式之策略模式

策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。介绍意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,...

2019-12-23 08:27:39 134

原创 Java设计模式之观察者模式

观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。介绍意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何时使用:...

2019-12-16 09:49:54 100

原创 Java设计模式之适配器模式

适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。如图所示,Client不能直接访问Adaptee。Adapter是适配器,它将Adaptee转换成Client能访问的接口。所以通过适配器Adapter,用户端就可以访问Adaptee。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的...

2019-12-16 09:15:16 151

原创 逆序对的数量

给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i<ji < ji<j 且 a[i]>a[j]a[i] > a[j]a[i]>a[j],则其为一个逆序对;否则不是。输入格式第一行包含整数n,表示数列的长度。第二行包含 n 个整数,表示整个数列。输出格式输出一个整数,表示逆序对...

2019-12-10 20:05:24 126

原创 归并排序

给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1−1091-10^91−109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤1000001≤n≤1000001≤n≤100000...

2019-12-10 19:35:50 167

原创 第k小数

给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在1~109范围内),表示整数数列。输出格式输出一个整数,表示数列的第k小数。数据范围1≤n≤1000001≤n≤1000001≤n≤1000001≤k≤n1≤k≤n1≤k≤n输入样例:5 32 4 1 5 3输...

2019-12-10 19:19:18 135

原创 第k个数

给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在1~109范围内),表示整数数列。输出格式输出一个整数,表示数列的第k小数。数据范围1≤n≤1000001≤n≤1000001≤n≤1000001≤k≤n1≤k≤n1≤k≤n输入样例:5 32 4 1 5 3输...

2019-12-10 18:54:37 128

原创 快速排序

给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤1000001≤n≤100000输入样例:53 1 2 4 5输...

2019-12-10 18:38:30 145

原创 机器人跳跃问题

机器人正在玩一个古老的基于DOS的游戏。游戏中有N+1座建筑——从0到N编号,从左到右排列。编号为0的建筑高度为0个单位,编号为 i 的建筑高度为H(i)个单位。起初,机器人在编号为0的建筑处。每一步,它跳到下一个(右边)建筑。假设机器人在第k个建筑,且它现在的能量值是E,下一步它将跳到第k+1个建筑。如果H(k+1)>E,那么机器人就失去H(k+1)-E的能量值,否则它将得到E...

2019-12-09 21:19:15 123

原创 前缀和

输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l, r。对于每个询问,输出原序列中从第l个数到第r个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。输出格式共m行,每行输出一个询问的结果。数据范围1≤l≤r≤n1≤l≤r≤n1≤l≤r≤n1≤n,m≤1000001≤n,...

2019-12-09 21:16:03 122

原创 数的三次方根

给定一个浮点数n,求它的三次方根。输入格式共一行,包含一个浮点数n。输出格式共一行,包含一个浮点数,表示问题的解。注意,结果保留6位小数。数据范围−10000≤n≤10000−10000≤n≤10000−10000≤n≤10000输入样例:1000.00输出样例:10.000000#include <iostream>#include <cstdio...

2019-12-09 21:14:04 1139

原创 激光炸弹

一种新型的激光炸弹,可以摧毁一个边长为 R 的正方形内的所有的目标。现在地图上有 N 个目标,用整数Xi,Yi表示目标在地图上的位置,每个目标都有一个价值Wi。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个边长为 R 的正方形的边必须和x,y轴平行。若目标位于爆破正方形的边上,该目标不会被摧毁。求一颗炸弹最多能炸掉地图上总价值为多少的目标。输入格式第一行输入正整...

2019-12-09 21:10:55 115

原创 数的范围

给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。输入格式第一行包含整数n和q,表示数组长度和询问个数。第二行包含n个整数(均在1~10000范围内),表示完整数组。接下来q行,每行包含一个整数k,表示一个询问元素。输出格式共q行,每行包含两个整数,表示所求...

2019-12-08 23:07:10 685

原创 二分查找模板

二分查找模板总共有两个版本一将区间分为[l,mid][l,mid][l,mid],[mid+1,r][mid+1, r][mid+1,r]时,代码如下while (l < r){ int mid = l + r >> 1; if (a[mid] >= x) { r = mid; } else { l = mid + 1; }}版本二将区...

2019-12-08 23:04:18 103

原创 飞行员兄弟

“飞行员兄弟”这个游戏,需要玩家顺利的打开一个拥有16个把手的冰箱。已知每个把手可以处于以下两种状态之一:打开或关闭。只有当所有把手都打开时,冰箱才会打开。把手可以表示为一个4х4的矩阵,您可以改变任何一个位置[i,j]上把手的状态。但是,这也会使得第i行和第j列上的所有把手的状态也随着改变。请你求出打开冰箱所需的切换把手的次数最小值是多少。输入格式输入一共包含四行,每行包含四个把手...

2019-12-08 17:36:19 240

原创 费解的开关

你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。我们用数字“1”表示一盏开着的灯,用数字“0”表示关着的灯。下面这种状态1011101101101111000011011在改变了最左上角的灯的状态后将变成:01...

2019-12-08 16:12:39 65

原创 斐波那契数列的五种解法

定义 a0=1,a1=1,an = an−1 + an−2,求 an是多少。为了避免考虑整数溢出问题,我们求 an % p 的值,p=109+7。递归const int mod = 1000000007;void f(int n){ if (n <= 1) return 1; return (f(n - 1) + f(n - 2)) % mod;}记忆化搜索const ...

2019-12-08 15:35:54 257

原创 带分数

题目描述100 可以表示为带分数的形式:100 = 3 + 69258 / 714还可以表示为:100 = 82 + 3546 / 197注意特征:带分数中,数字 1∼9 分别出现且只出现一次(不包含 0)。类似这样的带分数,100 有 11 种表示法。输入格式输入样例100输出样例6分析大佬都自己写递归,唉可是我这个蒟蒻只会用函数。题目要求1-9中每个数都用一次,这个时时候...

2019-12-08 15:10:31 142

原创 递归实现组合型枚举

从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。输入格式两个整数 n,m ,在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 5 7排在1 3 6 8前面)。数据范围n>0 ,0≤m≤n ,n+(n...

2019-12-08 15:07:24 69

原创 翻硬币

小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:oo*oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作。输入格...

2019-12-08 14:38:48 506

原创 递归实现排列型枚举

把 1~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1AC代码#i...

2019-12-07 15:48:01 100

原创 递归实现指数型枚举

从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3#inc...

2019-12-07 15:45:18 81

转载 Java函数式编程

摘要: 在Java重构的过程中,巧妙的运用函数式思想能够便捷地去掉重复。函数式编程是声明式的。也就是说,她应该指定“什么要做”而非“怎么做”。这种方式使得我们可以工作更高的抽象层次。而传统的过程式以及面向对象的语言,则是命令式的,因而更关注于“怎么做”这个层面。站在面向对象思想的角度来看,函数式编程将函数看成一等公民的思想,使得我们处理的粒度从类变小为函数,从而可以更好地满足系统对重用性和扩展性...

2019-12-02 11:01:11 111

原创 小凯的疑惑

小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。输入格式输入数据仅一行,包含两个正整数a和b,它们之间用一个空格隔开,表示小凯手中金币的面值。输出格式输出文件仅一行,一个正整数N,表示...

2019-11-27 21:22:40 200

原创 NOIP2005年提高组复赛上机试题

A. 谁拿了最多奖学金某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;成绩优秀奖,每人2000元,期末平...

2019-11-27 21:15:40 209

原创 关于优先队列

在C++中,priority_queue默认是less(这一点和sort相同),但是打印出来的排序序列却是从大到小的,和sort恰恰相反。#include <iostream>#include <cstdio>#include <queue> using namespace std;int main(){ priority_queue<int...

2019-11-25 09:11:15 89

原创 NOIP2019年提高组复赛上机试题

A. 格雷码通常,人们习惯将所有 n 位二进制串按照字典序排列,例如所有 2 位二进制串按字典序从小到大排列为:00,01,10,11。格雷码(Gray Code)是一种特殊的 n 位二进制串排列法,它要求相邻的两个二进制串间恰好有一位不同,特别地,第一个串与最后一个串也算作相邻。所有 2 位二进制串按格雷码排列的一个例子为:00,01,11,10。n 位格雷码不止一种,下面给出其中一种格...

2019-11-23 11:19:53 3458

原创 NOIP2019年普及组复赛上机试题

A. 数字游戏小 K 同学向小 P 同学发送了一个长度为 8 的 01 字符串 来玩数字游戏,小 P 同学想要知道字符串中究竟有多少个 1。注意:01 字符串为每一个字符是 0 或者 1 的字符串,如“101”(不含双引号)为一个长度为 3 的 01 字符串。输入格式共一行,包含一个长度为 8 的 01 字符串 s。输出格式共一行,包含一个整数,即 01 字符串中 字符 1 的个数。...

2019-11-21 23:18:42 4615

原创 树结构

一、互质的结合请实现一个管理互质动态集合S = {S1, S2, … , Sk}的程序。首先读取正整数 n,创建由0, 1 ,⋯,n - 1 这样 n - 1 个互不相同的元素组成的集合。然后读取整数 q,对集合进行 q 个查询操作。查询包含以下2 种。► unite(x, y): 合并包含 x 的集合 Sx 与包含y 的集合Sy► same(x, y): 判断x 与y 是否包含于同一集...

2019-11-21 19:31:22 134

原创 P1880 [NOI1995]石子合并

题目P1880 [NOI1995]石子合并分析区间DP经典问题。f[i][j]表示 i 到 j 堆石子,它是由 F[i][k] 和 F[k+1][j] 合成的,则状态转移方程为:F[i][j]=max(F[i][k]+[k+1][j]+sum[j]-sum[i-1],F[i][j])。然后我们枚举合并 len,计算出下标 j = i + len - 1。AC代码#include &l...

2019-11-21 19:06:13 85

原创 P1280 尼克的任务

题目P1280 尼克的任务分析动态转移方程:AC代码#include <cstdio>#include <iostream>#include <algorithm>using namespace std;struct Node{ int s, t;}node[10005];int dp[10005], start[100005];...

2019-11-21 17:56:52 118

原创 P1091 合唱队形

题目P1091 合唱队形分析这题是一道动态规划题目,根据题目要求,作者道题目思路是这样的:先求第 i 个同学左边最长上升序列长度,再求第 i 个人右边最长下降序列的长度,时间复杂度为O(n^2)。AC代码#include <iostream>#include <cstdio>using namespace std;int a[105], Left[105],...

2019-11-21 16:53:24 75

原创 P1020 导弹拦截

题目P1020 导弹拦截分析对于第一问,题目说拦截的每一个导弹高度都必须比上一个低,然后求拦截的最多的导弹,这显然是求最长不上升子序列。而对于第二问,是求一个最长上升子序列。最后输出两个序列的长度即可。AC代码#include <iostream>#include <cstdio>#include <algorithm>using namespa...

2019-11-21 15:55:32 83

原创 P1616 疯狂的采药

题目P1616 疯狂的采药分析多重背包问题。(注意与01背包问题的不同)AC代码#include <iostream>#include <cstdio>using namespace std;int w[10005], v[10005], dp[100005];int main(){ int t, m; scanf("%d%d", &t, &...

2019-11-21 09:15:44 92

原创 P1049 装箱问题

题目P1049 装箱问题分析要使得箱子剩余容量最低,也就是求最大的可装重量,使用动态规划即可。AC代码#include <iostream>#include <cstdio>using namespace std;int w[35], dp[20005];int main(){ int n, v; scanf("%d%d", &v, &amp...

2019-11-21 08:58:37 84

C++图书管理系统源文件.rar

该程序实现了一个图书信息管理,主要包括管理图书的库存信息、每一本书的借阅信息以及每一个人的借书信息。每一种图书的库存信息包括编号、书名、作者、出版社、出版日期、金额、类别、总入库数量、当前库存量、已借出本数等。每一本被借阅的书都包括如下信息:编号、书名、金额、借书证号、借书日期、到期日期、罚款金额等。每一个人的借书信息包括借书证号、姓名、班级、学号等。

2019-06-29

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

TA关注的人

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