蓝桥杯
ZM_iTUDOU
爱高跟,也爱跑鞋,喝茶也喝酒。
展开
-
C练习(三)
C练习 1.实现Fibonacci数列算法unsigned longFib(int n){ if (n return n; } else { return F(n - 1) + F(n - 2); }}递归实现斐波纳契数列,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)(重复运算,算原创 2016-11-17 00:33:21 · 306 阅读 · 0 评论 -
大理石在哪儿 where is the Marble? lower_bound()
例题:大理石在哪儿现有N个大理石,每个大理石上写了一个非负整数、首先把各数从小到大排序然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。(在样例中,为了节约篇幅,所有大理石的数合并到一行,所有问题也合并到一行。)样例输入:4 12 3 5 155 21 3 3 3 1原创 2017-03-09 18:41:47 · 594 阅读 · 0 评论 -
递归(二)
上次写了几个递归的题目,但没解决最基本的未名湖的烦恼的这道题。。。分析:还鞋: A 租鞋: B 可以抽象成m个A和m个B的排列,任意前i个A的个数不少于B的个数,所以第一个一定是A,然后下一个是A或B,是B的话,B的下一个只能是Ademo#include "stdio.h"int jie,huan;int fun(int a,int b){if(a==0 || b==0)原创 2017-03-20 16:38:57 · 303 阅读 · 0 评论 -
最大堆 堆排序
堆的各种操作,不算复杂,但要理解。#include #include using namespace std;#define N 1000#define PARENT(i) (i) >> 1#define LEFT(i) (i) << 1#define RIGHT(i) ((i) << 1) + 1 class Heap{ public: int a[N + 1];原创 2017-03-20 19:44:26 · 576 阅读 · 0 评论 -
救济金发放 (The Dole QUEUE) do while
题目:n(n输入n,k,m输出每轮里被选中的人的编号(如果有两个人,先输出被A选中的)。例如,n=10,k=4,m=3,输出为4 8, 9 5, 3 1, 2 6, 10, 7。注意:输出的每个数应当恰好占3列。输入: 10 4 3输出: _ _ 4_ _ 8,_ _ 9_ _ 5,_ _ 3_ _ 1,_ _ 2_ _ 6,_ 10,_ _ 7de原创 2017-03-07 16:09:38 · 366 阅读 · 0 评论 -
【求助】九数组分数
九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。 1 #include 2 3void test(int x[]) 4 { 5 int a = x[0] *1 + x[1] *100 + x[2] *10 + x[3]; 6 int b = x[4] *10 +原创 2017-03-29 17:18:02 · 454 阅读 · 0 评论 -
插入排序
#include int a1[8] = {4,6,67,34,12,1,6,14};int a2[8] = {23,3,2,45,22,13,1,25};void insertion_high_sort(int a[], int len){ int i, j,key; for(j = 1; j < len; j++) { key =原创 2017-03-13 18:21:09 · 298 阅读 · 0 评论 -
二进制整数加
题目: 考虑把两个n位二进制整数加起来的问题,这两个整数分别存储在两个n元数组A和B中。这两个整数的和应按二进制形式存储在一个(n+1)元数组C中。请给出该问题的形式化描述,并写出伪代码。#include using namespace std;int main(){ int n,a[100],b[100],c[100]; while((c原创 2017-03-13 18:52:59 · 415 阅读 · 0 评论 -
复数运算 最大公倍数
一.编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数。 (2)复数之间的加法、减法、乘法和除法分别用不用的函数来实现。 (3)必须使用结构体指针的方法把函数的计算结果返回。 说明:用户输入:运算符号(+,-,*,/) a b c d. 输出:a+bi,输出时不管a,b是小于0或等于0都按该格式输出,输出时a原创 2017-03-23 19:52:36 · 700 阅读 · 0 评论 -
区间k大数查询
算法训练 区间k大数查询 时间限制:1.0s 内存限制:256.0MB问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序原创 2017-03-15 19:56:29 · 222 阅读 · 0 评论 -
Acient Cipher 古老的密码 快速排序法
UVa1339(古老的密码)题目:古老的密码题目描述:给定两个长度一样且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,之后对26个字母做一个一一映射,使得两个字符串相同例如,JWPUDJSTVP重排后可以得到WJDUPSJPVT,之后把每个字母映射到它的前面一个字母,得到VICTORIOUS,输入两个字符串,输出YES或者NO题目分析:因为字母可以重排原创 2017-03-08 20:30:53 · 804 阅读 · 0 评论 -
递归(一)
关于递归,我已经了解过递归排序和递归解决最大子数组问题了。。。但我发现我遇到下面的问题,还是不会。。。算法训练 未名湖边的烦恼 时间限制:1.0s 内存限制:256.0MB 问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会原创 2017-03-17 21:00:36 · 474 阅读 · 1 评论 -
C练习(四)
1.标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36x 495 = ? 他却给抄成了:396 x45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 =396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 29原创 2016-11-17 14:51:31 · 323 阅读 · 0 评论 -
C练习(六)
标题:错误票据某涉密单位下发了某种票据。并要在年终所有收回。每张票据有唯一的ID号。全年全部票据的ID号是连续的。但ID的開始数码是随机选定的。由于工作人员疏忽。在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。如果断号不可能发生在最大和最小号。原创 2016-12-01 21:43:13 · 384 阅读 · 0 评论 -
蓝桥杯 翻硬币(贪心)
问题描述小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相转载 2016-12-03 00:04:50 · 284 阅读 · 0 评论 -
C练习(五)
标题: 黄金连分数 黄金分割数0.61803...是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。 对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误而已,却使它成了“近视眼”!! 言归正传,我们原创 2016-11-21 18:04:39 · 308 阅读 · 0 评论 -
子序列的和 乘法溢出
刚刚做了一道编程求子序列的和的题,出现了乘法溢出的问题,需要转个脑筋,解决它。题目:子序列的和输入两个正整数n样例输入:2 465536 6553600 0输出:case 1: 0.4361case 2:0.00001编程如下:#include int main(){ int n,m; int i; int c原创 2017-03-01 12:30:41 · 387 阅读 · 0 评论 -
蛇形填数 数组解法(最简单)
解法你能发现这里面的数为1到 n*n; 所以写个循环即可while(countn*n){ while(x+1n && !a[x+1][y]) a[++x][y]=++count;//右下 while(y-1>=0 &&!a[x][y-1]) a[x][--y]=++count;//向左 while(x-1>=0 &&!a[x-1][y原创 2017-03-01 12:34:51 · 1803 阅读 · 0 评论 -
回文词 镜像串 ctype.h
题目:输入一个字符串,判断它是否为回文串以及镜像串。样例输入:NOTAPALINDROME ISAPALINILAPASI 2A3MEAS ATOYOTA样例输出:NOTAPALINDROME -- is not a palindrome. ISAPALINILAPASI -- is a regular palindrome. 2A3MEAS原创 2017-03-01 13:28:22 · 435 阅读 · 0 评论 -
计算组合数 乘法又溢出了
今天做的这道题,让我发现,我还是对乘法的溢出不够敏感。。。。找这个错误找了很久也没发现。。。题目:计算组合数demo:#include long long factorial(int n){ int i; long long m = 1; for(i = 1; i <= n; i++) { m *= i; }原创 2017-03-04 15:49:05 · 929 阅读 · 0 评论 -
最大子数组问题
最大子数组问题,背景是股票买卖,也就是求一个数组的连续子数组的最大和,这个数组的元素一定是有负数的,要不然一定是所有元素之和。用分冶法解决这个问题。a[low,high]的任何连续子数组a[i,j]所处的位置必然满足下列三种情况:完全位于左子数组a[low, mid]完全位于右子数组a[mid + 1, high]跨越中点最大子数原创 2017-03-17 14:16:05 · 373 阅读 · 0 评论