自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 收藏
  • 关注

原创 Redis中ZSET的ZCARD操作的时间复杂度

最近要用到Redis的ZSET结构,在某个Redis命令介绍的网站上标注着ZSET的ZCARD命令的复杂度是O(1)。但我的代码里ZCARD是个频繁的操作,以防万一,我下载了Redis的源码,找到了ZCARD操作相关的代码。unsigned long zsetLength(const robj *zobj) { unsigned long length = 0; ...

2020-03-04 16:33:42 3806 2

原创 YTU_OJ 1720 最少硬币问题

Description设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱。可以使用的各种面值的硬币个数存于数组Coins[1:n]中。 对任意钱数0≤m≤20001,设计一个用最少硬币找钱m的方法。 对于给定的1≤n≤10,硬币面值数组T和可以使用的各种面值的硬币个数数组Coins,以及钱数m,0≤m≤20001,计算找钱m的最少硬币数。Input输...

2018-08-14 21:52:14 18949

原创 洛谷P1880 石子合并【区间型动态规划】

题目描述在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.输入输出格式输入格式:数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数.输出格式:输出共...

2018-08-14 14:45:16 18554 1

原创 YTU 1012: A MST Problem

DescriptionIt is just a mining spanning tree ( 最小生成树 ) problem, what makes you a little difficult is that you are in a 3D space.InputThe first line of the input contains the number of test cases in th...

2018-03-21 16:19:34 18460

原创 邻接表实现Dijkstra最短路径算法

#include <iostream>#define INF 9999using namespace std;struct node{ int node,next; int weight;}edge[10000];int first_arc[300],cnt;void addEdge(int x,int y,int w){ edge[cnt].node=y; e...

2018-03-18 19:34:30 21551

原创 泊松分酒(深搜)

泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。有3个容器,容量分别为12升,8升,5升。其中12升中装满油,另外两个空着。要求你只用3个容器...

2018-02-10 18:25:22 18507

原创 JAVA课程设计 推箱子小游戏

运行示例:图形界面由swing组件构成生成地图的算法如下创建地图算法(produceMap):先将二维数组全置为1,代表初始状态全为墙。先随机产生两个不重合的点,一个作为人的起点,另一个作为箱子的起点。从起点开始,随机朝四个方向走一定的步数,若走到的点不是空地,即对应数组元素不为0,则将该点设为空地,即数组元素设为0。将地图分为左上、左下、右上和右下四个区域,并设置四个变量

2017-12-17 14:18:02 31268 6

原创 HDU 1254 推箱子(广搜+优先队列)

Problem Description推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能推箱子而不能拉箱子,因此如果箱子被推到一个角上(如图2)那么箱子就不能再被移动了,如果箱子被推到一面墙上,那么箱子只能沿着墙移动.现在给定房间的结构,箱子的位置,搬运工的位置和箱子要被推去的位置,

2017-11-21 20:28:27 18558

原创 JAVA作业 简单的计算器

public class Main_Class { public static void main(String args[]) { ComputerFrame frame=new ComputerFrame("MyComputer"); frame.setBounds(100,100,700,800); }}import java.awt.*;impo

2017-11-18 16:18:16 18803

原创 蓝桥杯 算法训练 表达式计算

问题描述  输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除。输入格式  输入一行,包含一个表达式。输出格式  输出这个表达式的值。样例输入1-2+3*(4-5)样例输出-4数据规模和约定  表达式长度不超过100,表达式运算合法且运算过程都在int内进行。#inclu

2017-11-16 18:47:56 18627

原创 八皇后问题 递归求解

#include #include #define N 8using namespace std;int board[N+1],cnt;bool judge(int l,int n)//判断在第l行第n个位置放是否合法{ for(int i=1; i<=l-1; ++i) if(board[i]==n||abs(board[i]-n)==abs(i-l))

2017-10-28 13:14:17 18323

原创 洛谷P2015 二叉苹果树(树状动归)

题目描述有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点)这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1。我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有4个树枝的树2 5 \ / 3 4 \ / 1 现在这颗树枝条太多了,需要剪枝。但是一些树枝上长有苹果。给定需要保留的树枝数量,求出最

2017-10-27 19:08:29 18789

原创 加分二叉树(区间动态规划)

Description设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第j个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下:subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数若某

2017-10-21 17:22:26 18901

原创 迷宫问题(广度优先搜索,输出最短路径)

Sample Input15 16.**.***.***.******.***..**.*.*.**.***.***.******.***..**.*.***.***.***.***.***.***.......E.**.***.***.*.****..**...*...*.*....*.*...*.****.*.*.**.*..*....*...**...***.

2017-09-19 18:55:42 20624

原创 HDU-2191 珍惜现在,感恩生活(多重背包,二进制优化)

Problem Description急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(

2017-09-12 19:03:08 18255

原创 POJ-2342 Anniversary party(没有上司的晚会) 树状动归

Anniversary partyTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 9438Accepted: 5435DescriptionThere is going to be a party to celebrate the 80-th Anniv

2017-09-12 18:35:42 18319

原创 FZU - 2195 检查站点

在山上一共有N个站点需要检查,检查员从山顶出发去各个站点进行检查,各个站点间有且仅有一条通路,检查员下山前往站点时比较轻松,而上山时却需要额外的时间,问最后检查员检查完所有站点时所需要的额外时间最少是多少。Input包含多组数据 每组数据输入第一行为一个整数N 表示站点个数(1<=N<=100000),接下去N-1 行 每行3个整数 x,y,z(1<=z<=10000)

2017-09-12 17:03:21 18661

原创 n皇后问题 栈操作

在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上)。你的任务是,对于给定的N,求出有多少种合法的放置方法。要求利用栈的操作解决此问题。借此熟悉栈的相关操作。思想方法仍然是回溯。#include #include using namespace std;typedef struct{

2017-08-29 11:57:31 19613

原创 POJ 1797 Heavy Transportation(最大生成树)

Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can now expand business. But he needs a clever man who tells him whether there really is a way from the place his cu

2017-08-06 14:46:44 18329

原创 已知二叉树的前序序列和中序序列,求二叉树的后序序列

#include #include int pre_p=1,pre[1001],in[1001],n,count_print;//pre_p用于遍历前序序列//pre为前序序列数组,in为后序序列数组,n为二叉树中的元素个数,即序列长度,count_print用于规范输出格式typedef struct Node{ int data; struct Node *lchil

2017-08-01 10:07:25 19707

原创 数据结构课程设计——一个简单的停车场管理系统

题目要求:刚开始在Codeblocks下用C语言写的,但是用指针传递参数的时候总是出问题。后来就用C++,但是调用了C的输入输出和文件操作的头文件,所以代码都是C的main.cpp#include #include #include #include #include #include #include #define N 100using namespace std;

2017-06-24 21:10:45 41436 6

原创 数据结构练习题5

5.1#include using namespace std;int f(int *a,int i){ if(i>99) return 0; else return f(a,++i)+a[i];}int main(){ int a[100],i; for(i=0;i<100;++i) { a[

2017-05-15 17:48:10 18646

原创 OJ-3134 动态规划基础题目之数字三角形

Description73 88 1 02 7 4 44 5 2 6 5(Figure 1)Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that st

2017-05-07 16:44:33 18723

原创 OJ 2924 Problem  A 文件操作--二进制文件读入

Description现有100名学生的姓名(name)、学号(num)、英语(English)、数学(Math)、语文(Chinese)成绩存储在一个二进制文件student.dic中(姓名用char[20],学号和各科成绩用int存储),现要求将指定行数的学生信息输出,每条信息占一行。前5行学生信息为:akdh 13773 84 83 66fjka 30257 15 14

2017-05-01 15:45:24 20151

原创 C语言综合实践7.18

main.c#include #include #include #include #define MaxSize 80typedef struct{ char data[MaxSize]; int length;} SqString;void ShowMenu();void OpenFile(FILE *[]);int MakeCh

2017-04-22 16:17:54 18542

原创 C语言课程设计-模拟银行系统

main.c#include #include #include #include #include #define MaxNum 200#define N_P 6typedef struct{ int AccountNumber[3]; char name[20]; char password[N_P+1]; unsig

2017-04-22 16:13:23 24653 7

原创 OJ-2204

#include #include typedef struct LNode{ int data; struct LNode *next;}LinkList;int main(){ int n,i,*data; LinkList *s,*L,*pre; scanf("%d",&n); data=(int *)mal

2017-03-22 15:19:21 18449

原创 N!的质因子分解

方法是对1~n每个数进行质因子分解,然后把每个质数出现的次数都加起来。生成质数表用的是筛选法求素数。#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;math.h&gt;#define MAX_N 60000//N的最大值#define MAX_ITEM 7500//MAX_N中的质数的估计个数int pri...

2017-03-17 20:03:06 20327

原创 OJ-1328 三角螺旋阵

Description方阵的主对角线之上称为“上三角”。请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。Input程序运行时,从标准输入获得整数n(3~20)Output程序输出:方阵的上三角部分。要求格式:每个数据宽度为4,右对齐。————————————————

2017-03-10 20:58:15 18762

原创 寒假的比较无聊的小程序

大概就是输入路径打开一个加密后的文本文件,然后从给出的选项中选择或自定义一个口令,然后不断输入这个口令,就会显示解密后文本文件中的文字。另有一个闹着玩的防复制功能。。当然,还有配套的加密文本文件的程序。。是把我的期末作业稍作修改而成的。。就是这样。main.c#include #include #include #include #define N1 6#define N2

2017-02-21 16:57:23 18436

原创 OJ-1042 筛法求素数

Description用筛法求之N内的素数。InputNOutput0~N的素数#include #include #include int is_prime(int);void filter(int *,int,int);int main(){ int n,*p,i; scanf("%d",&n); p=(int*)

2017-02-07 17:31:16 18516

原创 OJ-1007 Redraiment猜想

Descriptionredraiment在家极度无聊,于是找了张纸开始统计素数的个数。 设函数f(n)返回从1->n之间素数的个数。 redraiment发现: f(1) = 0 f(10) = 4 f(100) = 25 ... 满足g(m) = 17 * m2 / 3 - 22 * m / 3 + 5 / 3 其中m为n的位数。 他很激动,是不是自己发现了素数分布的规律了! 请你设计

2017-02-06 16:56:40 18831

原创 OJ-1003 Redraiment的遭遇

DescriptionRedraiment的老家住在工业区,日耗电量非常大。是政府的眼中钉肉中刺,但又没办法,这里头住的可都是纳税大户呀。 今年7月,又传来了不幸的消息,政府要在7、8月对该区进行拉闸限电。但迫于压力,限电制度规则不会太抠门,政府决定从7月1日停电,然后隔一天到7月3日再停电,再隔两天到7月6日停电,一次下去,每次都比上一次晚一天。 Redraiment可是软件专业的学生,

2017-02-04 17:39:50 19210

原创 期末作业——电子词典

#include #include #define N 8000struct vocabulary{ char english[20]; char chinese[20];};int search(char *,struct vocabulary *);int main(){ FILE *fp; struct vocabulary voc[8000]

2017-01-05 10:47:35 18672

原创 期末作业——石头剪刀布游戏

#include #include #include #include #include void main_menu();int make_choice();void sub_menu();void chip(char,char *);int fight(char *,char *);//参数为两名玩家的名字//如果前者赢了后者,返回1,;如果后者赢了前者

2017-01-04 17:05:44 19062

原创 期末程序设计——利用位运算加密

#include #include #define N_P 8#define N_K 3int main(){ unsigned char password[N_P+1],key[N_K+1]; //如果不加一的话,最后加的'\0'可能会占用下一个数组的位置 int en_password[N_P+1]; int i,j; vo

2017-01-04 16:57:56 18223

原创 第十六周-学生信息排序

#include #include #define N 5struct Student{ char name[20]; char num[10]; //这里学号较长,必须用字符串表示 char gender; char department[20];};int main(){ int i,j; //struct Student

2016-12-20 17:04:13 18508

原创 第十六周-职工信息结构体

#include #include struct Staff{ char name[20]; int age; int salary;};int main(){ int i,j; struct Staff worker[5]; for(i=0; i<5; ++i) { j=0; do

2016-12-20 17:03:42 18497

原创 第十六周-计算该日在本年中是第几天

#include #include typedef struct{ int year; int month; int day;} y_m_d;int main(){ y_m_d date; int days(y_m_d); //y_m_d是自定义的类型 int day_sum; scanf("%d%d%d",&date.y

2016-12-20 17:02:53 18456

原创 第十六周-学生成绩处理2

#include #define N 100struct Student{ int num;//学号 int c;//C语言成绩 int math;//数学成绩 float GPA;//学分绩};int main(){ int n; //定义结构体数组存放多名同学的成绩 struct Student stu[N]; pri

2016-12-20 17:01:50 18352

空空如也

空空如也

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

TA关注的人

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