
练习题
自己做题的总结
yzzheng_60125
莫问收获,但问耕耘!
未来的7年,培养自己如下能力:
高效的学习能力。这意味着——基础知识扎实、触类旁通、读英文文档不费劲、有寻找前沿知识的能力、能够看到问题和技术的本质、善于思辩、能独立思考。
解决问题的能力。这意味着——你要高效的学习能力、见过很多的场景、犯过或是处理很多错误、能够防火而不是救火。
展开
-
【CCF】201903-2-二十四点
注这里有几个注意得点(1)关于输入得称号一定是x,而不是*号。有个20分得点。(2)关于存储数字要定义成int类型,因为6x4+4/5=24; 这个我之前定义成double所以结果造成除法出错。(3)运算符得优先级我这里用map存储,在进入栈得时候分运算符栈和数字栈。最后 提交#include<cstdio>#include<cstring>#include...原创 2020-03-28 17:22:19 · 265 阅读 · 0 评论 -
【PATB】解pat乙级题目
记:最近为了准备考研机试所以写写PAT习题和CCF题目,为了给自己设置一个进度条,我便想把自己每日做的题目贴上来。一是可以看看自己每天到底学了什么;而来也分享自己的题解。如果有错误的地方,还请大家指出,非常谢谢!!T1- PATB10851085 PAT单位排行 (25分)每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。输入格式:输入第一行给出一...原创 2020-03-24 22:04:45 · 354 阅读 · 0 评论 -
回溯法求解八皇后
回溯法求解八皇后问题,主要就是寻找状态空间树,然后利用判断函数剪去一些不符合的解,相比较枚举运算量更少package com.huat.algorithm;import java.util.Scanner;/** * @author yanzz * @编辑时间:2018年3月22日 * @功能说明:N皇后,回溯法求解 * * 回溯法的即被概念:使用剪枝函数的深...原创 2018-03-22 17:30:05 · 576 阅读 · 0 评论 -
第七届蓝桥杯第三题
这道题采用dfs直接方式,产生1-9的全排列,在计算sum是否=10;另外如果是用c++,可以用到库函数next_permutation()函数;该函数头文件#include<algorithm.h>可以参考全排列函数package com.huat.lanqiao7;/** * * @author yanzz * @编辑时间:2018年3月13日 * @功能说明:凑算式...原创 2018-03-13 15:09:25 · 264 阅读 · 0 评论 -
第八届蓝桥杯日期问题
标题:日期问题小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03...原创 2018-03-06 18:17:44 · 540 阅读 · 0 评论 -
最长公共子序列
在第八届蓝桥杯上遇到过这个问题,依然记得当时只是一道代码填空题。关于求最长公共子序列其实就是一个动态规划的问题,我们首先要找的是它的状态转移和递推关系式import java.util.Scanner;/** * * @author yanzz * @编辑时间:2018年3月19日 * @功能说明: 动态规划的常用两种形式 * 1)递归型 * 优点:直观、容易编写; ...原创 2018-03-20 09:31:43 · 466 阅读 · 0 评论 -
串逐位和---分治法实现
分治算法,此题很好反应了分治算法的分与和的过程,通过这道题能过更好的理解分治算法。这道题本省就是通过先将原来的串分成子串,然后将最后的结果在组合起来。串逐位和给定一个由数字组成的字符串,我们希望得到它的各个数位的和。比如:“368” 的诸位和是:17这本来很容易,但为了充分发挥计算机多核的优势,小明设计了如下的方案:public class Fen { public static int ...原创 2018-03-26 08:55:00 · 367 阅读 · 0 评论 -
dfs--生成0-9的全排列
java实现生成0-9的全排列package com.huat.algorithm;/** * * @author yanzz * @编辑时间:2018年3月15日 * @功能说明:利用dfs生成全排列函数 * @version: */public class DD { private static int[] num = new int[10]; priv...原创 2018-03-26 10:01:46 · 1313 阅读 · 0 评论 -
整数划分--计蒜客
这次程序5组数据只ac了两组,先传上来或许改进。明天蓝桥杯比赛,该复习之前写的程序了。整数划分package com.jsk.model;import java.util.Scanner;/** * * @author yanzz * @编辑时间:2018年3月31日 * @功能说明:整数划分将n划分成m个数 * @version: */public class Mai...原创 2018-03-31 19:32:16 · 553 阅读 · 0 评论 -
蓝桥杯01串
package com.huat.algorithm;/** * * @author * @编辑时间:2018年3月22日 * @功能说明:对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: * * 00000 * 00001 * 00010 * 00011 * 00100 * 请按从小到大的顺序输出这3...原创 2018-03-22 09:12:33 · 390 阅读 · 0 评论 -
01背包问题
关于01背包问题,有很多种解法。本题用到的是动态规划求解。判断一个问题是否可以用动态规划求解,首先必须分析问题解的结构,考察它的最优解是否具有最有子结构的特性,其次应当检查分解所得的子问题是否相互独立,是否存在重叠子问题的现象背包问题的求解主要是判断是否将第i件物品放入背包:这就分成两种情况1)放入背包 2)不放 。然后继续判断第i-1件物品其递推公式主要是f(i,V) = max{f(i-1,V...原创 2018-03-22 11:47:28 · 180 阅读 · 0 评论 -
【2】分治求解---3^n mod 19
求解3^n mod 19求n次幂,对19取模这里提供两种方法1)分治 2)迭代求解应用到的数学知识--数论/* 数论定理 a = ka * p + a1 b = kb * p + b1 (a * b) % p === (a1*b1)%p */public class A{ // 分治 public static int g(int n) { if(n==0) retur...原创 2018-03-29 10:38:12 · 644 阅读 · 0 评论 -
蓝桥模拟题--素数个数
用 0,1,2,3 \cdots 70,1,2,3⋯7 这 88 个数组成的所有整数中,质数有多少个(每个数字必须用到且只能用一次)。提示:以 00 开始的数字是非法数字。 网上看到很多人都用暴力求解,直接用到的是八个for循环,然后往里面套if判断 此题,我用到的是先对数字做一个预处理,然后再判断。算法复杂度O(n)/** * 0-7 */import java.ut...原创 2018-03-29 11:44:43 · 566 阅读 · 0 评论 -
第八届蓝桥杯包子凑数
第八届蓝桥杯包子凑数问题: 考察知识点:1.扩张欧几里得(ax + by = gcd(a,b)) 2.完全背包/** * */package com.huat.lanqiao8;import java.util.Arrays;import java.util.Scanner;/** * @author Administrato...原创 2018-03-13 11:07:11 · 665 阅读 · 0 评论 -
39级台阶
39级台阶的问题很经典的,方法一是刚刚接收到的,方法二早就会现在介绍介绍方法一求解,它是按照奇数步和偶数步分开走package 算法训练;import org.junit.Test;/** * * @author yanzz * @编辑时间:2018年3月12日 * @功能说明:39级台阶, 1. 每步1或2阶 2. 必须是偶数步 求上台阶的方案数。 * @version: ...原创 2018-03-12 18:06:19 · 737 阅读 · 0 评论 -
蓝桥杯---十六进制转八进制
package com.huat.lanqiao;import java.util.Scanner;/**@author: *@see功能介绍:将十六进制转换为八进制*@vesion版本号:JDK1.8*2018年2月15日*/public class HexToOct { public static void main(String[] args) { Scanner...原创 2018-03-01 20:37:19 · 387 阅读 · 0 评论 -
分巧克力
标题: 分巧克力 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足: 1. 形状是正方形,边长是整数 2. 大小相同 例如一块6x5的巧克力可以切出6块2x2的巧...原创 2018-03-08 17:34:15 · 421 阅读 · 0 评论 -
第七届蓝桥杯方格填数
第七届蓝桥杯方格填数,使用dfs的做法深搜;package com.huat.lanqiao7;/** * * @author yanzz * @编辑时间:2018年3月15日 * @功能说明:方格填数 * * 如下的10个格子 * * (如果显示有问题,也可以参看【图1.jpg】) * * 填入0~9的数字。要求:连...原创 2018-03-15 10:44:35 · 738 阅读 · 0 评论 -
K倍区间
/** * */import java.util.Scanner;/** * @author Administrator 2018年3月8日 * @功能说明:第十题:k倍区间 标题: k倍区间 * * 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= * j...原创 2018-03-08 20:58:54 · 549 阅读 · 1 评论 -
动态规划之数字三角形
数字三角形题目描述 Description下图给出了一个数字三角形,请编写一个程序,计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大。 (1)每一步可沿左斜线向下或右斜线向下 (2)1 < 三角形行数 < 100 (3)三角形数字为0,1,…99 输入描述 Input Description有很多个测试案例,对于每一个测试案例, 通过键盘逐行输入,第1行是输入整数(如果该整...原创 2018-03-09 15:18:15 · 497 阅读 · 0 评论 -
蓝桥杯第七届剪邮票
这道题有两种做法,都是先生成5个数据在判断是否成立:我参考了两个人的做法: 方法一这个方法便是下面我引用的方法,感谢楼主 方法二这个方法便是用dfs生成5个数据然后在用dfs判断,楼主对dfs用的炉火纯青,很佩服剪邮票如【图1.jpg】, 有12张连在一起的1...原创 2018-03-16 12:08:00 · 276 阅读 · 0 评论 -
神奇的6174
4、神奇的61741949年,印度数学家D.R.Kaprekar设计了一个现在被称为Kaprekar变换的操作:首先任选一个各位数字不全相同的四位数K0(即不是1111,2222,……,9999), 然后把它各位数字重新排列,得到一个最大数和最小数,接着用最大数减去最小数得到一个新的数K1,重复以上操作不断得到新的数K2,K3,……。这是一个简单的变换,但D.R.Kaprekar发现,最多进行7次...原创 2018-03-03 20:57:58 · 2043 阅读 · 0 评论 -
四平方和
蓝桥杯第七届第8题,四平方和。直接用暴力求解import java.util.Scanner;/** * * @author yanzz * @编辑时间:2018年3月17日 * @功能说明:四平方和 * * 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和。 * 如果把0包括进去,就正好可以表示为4个数的平方和。...原创 2018-03-17 16:32:52 · 337 阅读 · 0 评论 -
交换瓶子
蓝桥杯第七届交换瓶子package com.huat.lanqiao7;import java.util.Scanner;/** * * @author yanzz * @编辑时间:2018年3月17日 * @功能说明:交换瓶子 * * 有N个瓶子,编号 1 ~ N,放在架子上。 * * 比如有5个瓶子: 2 1 3 5 4 * * ...原创 2018-03-17 16:33:53 · 461 阅读 · 0 评论 -
大整数的阶乘
1、 大整数的阶乘给定一个整数n(1≤n≤500),依次输出1~n的阶乘,每一行只输出一个阶乘结果。输入示例: 5输出示例: 1!=1 2!=2 3!=6 4!=24 5!=120输入示例: 200输出示例: 1!=1 2!=2 3!=6 …… …… …… 200!=………… import java.util.Scanner;/** * 大整数阶乘的问题 * @author Admini...原创 2018-03-04 12:20:32 · 873 阅读 · 0 评论 -
蓝桥杯第八届--第二题等差素数列
标题:等差素数列2,3,5,7,11,13,….是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。 上边的数列公差为30,长度为6。2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值是多少?注意:需要提交的...原创 2018-03-04 20:20:42 · 703 阅读 · 0 评论 -
第八届蓝桥杯-第四题方格分割
标题:方格分割6x6的方格,沿着格子的边线剪开成两部分。 要求这两部分的形状完全相同。如图:p1.png, p2.png, p3.png 就是可行的分割法。试计算: 包括这3种分法在内,一共有多少种不同的分割方法。 注意:旋转对称的属于同一种分割法。请提交该整数,不要填写任何多余的内容或说明文字。说明:这道题用到的是深度优先搜索的做法,通过题目可以得知是一种关于中心对称的图形,因此将方格抽象化为的...原创 2018-03-04 21:52:25 · 783 阅读 · 0 评论 -
出栈次序
相关问题1.饭后,姐姐洗碗,妹妹把姐姐洗过的碗一个一个地放进碗橱摞成一摞。一共有n个不同的碗,洗前也是摞成一摞的,也许因为小妹贪玩而使碗拿进碗橱不及时,姐姐则把洗过的碗摞在旁边,问:小妹摞起的碗有多少种可能的方式?2.给定n个数,有多少种出栈序列?3.一个有n个1和n个-1组成的字串,且前k个数的和均不小于0,那这种字串的总数为多少?解法一:根据递推公式求解解法二:这是一个关于catalan数列属...原创 2018-03-12 12:05:22 · 523 阅读 · 0 评论 -
蓝桥杯第七届第5题
还是用到dfs的做法: 深度优先搜索算法(英语:Depth-First-Search,简称DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所...原创 2018-03-14 17:41:52 · 323 阅读 · 1 评论