自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 蓝桥杯—第十一届纪念日(Java日期)

题目:注意Java中日期的运用代码import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class 十一届纪念日 { public static void main(String[] args) throws ParseException{ SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd");

2020-10-16 10:55:25 735 1

原创 蓝桥杯 第十一届 八次求和(Java大数)

题目:大数的用法BigInteger abs() 返回大整数的绝对值BigInteger add(BigInteger val) 返回两个大整数的和BigInteger and(BigInteger val) 返回两个大整数的按位与的结果BigInteger andNot(BigInteger val) 返回两个大整数与非的结果BigInteger divide(BigInteger val) 返回两个大整数的商double doubleValue() 返回大整数的double

2020-10-16 10:47:01 350

原创 最大公约数(欧几里得算法),最小公倍数(Java)

package pro递归;public class 欧几里得 { public static void main(String[] args) { System.out.println(gcd(3,6)); System.out.println(lcm(3,6)); } //最大公约数(辗转相除法) private static int gcd(int a,int b) { if(b==0) return a; else return gcd(b,a%b);

2020-10-15 21:30:55 186

原创 蓝桥杯11届,斐波那契数列最大公约数(Java)

题目思路:学会Java的大数代码:import java.math.BigInteger;public class 十一届斐波那契数列最大公约数 { public static void main(String[] args) { BigInteger[] a=new BigInteger[2222]; a[0]=BigInteger.ZERO; a[1]=BigInteger.ONE; a[2]=BigInteger.ONE; for (int i = 3; i

2020-10-15 21:29:25 449

原创 蓝桥杯—四届振兴中华(Java)

题目答案:35思路:这是一道简单的深搜题,我们可以把每个格子抽象为一个坐标,从(0,0),华(3,4)这样。分析发现只有向下走或者向右走才能到达“华”(向上,向左都不可)。所以利用递归把这两种情况加起来,当走到下边界或者右边界时,线路就已经确定了。类似:走楼梯代码:public class 四届振兴中华 { public static void main(String[] args) { int ans=0; ans=f(0,0); System.out.pr

2020-10-14 20:54:22 238

原创 蓝桥杯—五届分糖果(Java)

题目输入输出样例:输入:32 2 4输出4思路:模拟import java.util.Scanner;public class 五届分糖果 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int[] a=new int[n]; int[] b=new int[n]; int count=0; for(int i

2020-10-14 19:23:54 184 1

原创 素数环(dfs)Java

题目代码:import java.util.Scanner;public class 素数环 {// static int[] rec=new int[1000];// static int n; public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int[] rec=new int[n]; rec[0]=1; dfs(n

2020-10-13 12:21:33 298 1

原创 蓝桥杯第六届牌型种数(Java)

题目:暴力:public class Main { public static void main(String[] args) { int[] a = new int[13]; int count = 0; for (a[0] = 0; a[0] <= 4; a[0]++) for (a[1] = 0; a[1] <= 4; a[1]++) for (a[2] = 0; a[2

2020-10-12 21:26:25 210

原创 蓝桥杯六届立方变自身(Java)

题目:题目很简单,就是注意Java中几个字符串的应用,以及字符类型纪和整型之间的转换。代码:一、int转化为String类型的三种方法:1、String.valueOf(i)2、Integer.toString(i)3、i+""二、String类型转为int1、使用Integer类中的parseInt()方法。2、使用Integer类中的valueOf()和intValue()方法。三、单个字符转化为整型:char a=‘123’;int b=a-‘0’;public cl

2020-10-12 16:29:24 168

原创 全排列+check()第七届凑算式+方格填数(Java)

凑算式题目答案:29代码public class 七届凑算式 { static int a[]= {1,2,3,4,5,6,7,8,9}; static int ans; public static void swap(int[] a,int i,int j) { int t=a[i]; a[i]=a[j]; a[j]=t; } public static void perm(int k) { if(k==9) { if(check()) ans++;

2020-10-12 15:23:03 119

原创 蓝桥杯第七届四平方和(Java)

题目:代码:import java.util.Scanner;public class 七届四平方和 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int len=(int)Math.sqrt(n);//注意 for(int i=0;i<=len;i++) { for(int j=i;j<=len;j++) {

2020-10-12 13:46:12 94

原创 蓝桥 试题 算法提高 快乐司机(Java)

题目样例输入:5 3699 8768 3679 4375 947 35代码:import java.util.Scanner;public class 快乐司机 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int w=sc.nextInt(); int[] gi=new int[n+1]; int[

2020-10-11 10:53:55 231

原创 蓝桥真题第八届包子凑数(Java)

题目输入输出样例输入245输出6输入246输出INF代码:import java.util.Scanner;public class 八届包子凑数 { /*拓展欧几里得:ax+by=c中,若a,b互质,则x,y一定有解且有无穷多个。且c的最大数位a*b-a-b * 二元一次方程有解的充分必要条件是c%gcd(a,b)==0 */ //完全背包的思想 public static void main(String[] args) { Scan

2020-10-10 20:48:21 163

原创 递归实现全排列

全排列作为一个经典的递归问题,就是把一个大问题分解为若干个相互独立的子问题,这些子问题相互独立且与原问题相同。递归的解这些子问题,然后将这些子问题的解合并得到原问题的解。举个例子,1234的全排列 就等于1(234)的全排列+2(134)的全排列+3(214)+4(231)全排列,同理依次类推。for循环里面有递归,注意它的执行顺序。代码:package 测试;public class 全排列 { public static void main(String[] args) {

2020-10-08 20:55:22 784

原创 2018年 第9届 蓝桥杯 Java B组 省赛

二、方格计数题目:代码:package 蓝桥真题;/** 一共四个象限,计算出一个之后乘以4就行* 以左下角的坐标代表他们,只要两点间距离小于半径就行*/public class 九届02 { public static void main(String[] args) { int count=0; for (int i = 0; i < 1000; i++) { for (int j = 0; j < 1000;

2020-10-07 21:43:50 257

原创 洛谷P1094 纪念品分组(Java)

题目注:90分,超时错误一个,请大佬指教。输入输出样例输入:100 9 90 20 20 30 50 60 70 80 90输出6思路:1,从大到小排序2,两个标记i,j分别从数组往后和往前,如果v[i]+v[j]比给定的值要小,这两个就算一个,结果加一;如果v[i]+v[j]比给定的值要大,就只要大的那个,让它单独一组,小的继续往后找。代码package 贪心;import java.util.Arrays;import java.util.Scan

2020-10-05 21:52:23 235

原创 洛谷P5019 铺设道路(Java)

题目输入输出样例输入:6 4 3 2 5 3 5 输出:9思路:数组ans[i]表示铺平前i块所需要的最短天数遍历所有土地:两种情况:当depth[i+1]<=depth[i]时,即,后面的坑的深度小于前面,则可以铺平前面时,一起把后面的铺平后边的区域(后面的趁着前边铺的时候铺平)。所以ans[i+1]=ans[i].当depth[i+1]>depth[i]时,即,后面的坑的深度大于前面,那么铺平后面的则需要,先铺平前边(ans[i]),再铺平后边比他前边那一

2020-10-05 17:28:37 340

原创 P1803 凌乱的yyy / 线段覆盖(Java实现)

题目思路:参考不相交区间调度问题代码import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); Games[

2020-10-05 10:55:35 487 2

原创 洛谷P1223 排队接水(Java)

题目:输入输出样例输入:10 56 12 1 99 1000 234 33 55 99 812输出:3 2 7 8 1 4 9 6 10 5291.90思路:贪心,注意细节代码package 贪心;import java.util.Arrays;import java.util.Scanner;public class P1223排队接水 { public static void main(String[] args) { Scanner sc=n

2020-10-03 21:14:28 321

原创 快速幂的初步认识(Java)

快速幂介绍题目:取模运算的拓展:1,(a + b) % p = (a % p + b % p) % p2,(a - b) % p = (a % p - b % p ) % p3,(a * b) % p = (a % p * b % p) % p代码:package 分治;import java.util.Scanner;public class Main快速幂 { public static void main(String[] args) { Scanner

2020-10-02 21:56:01 243

原创 P1177 【模板】快速排序(Java)

题目:输入输出样例输入54 2 4 5 1输出1 2 4 4 5代码:package 分治;//没通过,好像是这个题需要取主元为中间值import java.util.Scanner;public class P1177快速排序 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt();

2020-09-28 21:48:39 400 1

原创 洛谷P2392 kkksc03考前临时抱佛脚(Java)

题目输出输出一行,为复习完毕最短的时间。输入样例1 2 1 3 54 362 4 3输出样例20思路01背包问题代码:package 搜索;import java.util.Scanner;public class P2392 { public static void main(String[] args) { int a[]=new int[5];//四个科目 int sum, t=0; int time

2020-09-25 21:40:05 544

原创 洛谷 P1162 填涂颜色(Java)

题目:测试样例:输入60 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 1输出0 0 0 0 0 00 0 1 1 1 10 1 1 2 2 11 1 2 2 2 11 2 2 2 2 11 1 1 1 1 11<=n<=30思路这道题的目的是将里面0换成2,那么如何区分里面的0和外面的0是关键。如果要找到被围起来的0,那么必然经过1,所以我们只要用条件限制好不经过1,

2020-09-20 17:13:47 166

原创 洛谷P2404 自然数的拆分问题(Java)

题目:用搜索即可,别忘了回溯。package 搜索;import java.util.Scanner;public class P2404自然数的拆分问题 { static int n; static int[] a=new int[10]; public static void main(String[] args) { Scanner sc=new Scanner(System.in); n=sc.nextInt();

2020-09-20 10:05:15 295

原创 P1101 单词方阵

题目:输入输出样例输入7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa输出。*******。 *******。*******。*******。*******。*******。*******输入8qyizhonggydthkjynwidghjiorbzsfgzhhgrhwthzzzzzozoiwdfrgngyyyygggg输出yizhonggy*****ni*****oz***hh**

2020-09-06 17:29:52 138

原创 P1605 迷宫

题目:代码:package 搜索;import java.util.Scanner;public class P1605迷宫 { static int n,m,t, nx, ny, mx, my, count=0; static int[][] barrier; static boolean[][] bool; static int[] a={0,1,0,-1}; static int[] b={-1,0,1,0}; public static

2020-09-05 16:21:29 353

原创 2019年 第10届 蓝桥杯 Java B组 省赛

02—试题B 不同子串题目:Set集合可以去重,String.substring()方法求子串。代码:package 蓝桥真题;import java.util.HashSet;import java.util.Set;public class 第1002 { public static void main(String[] args) { //String s="0100110001010001"; String s="aaab";

2020-08-27 20:42:47 180

原创 核桃的数量—蓝桥杯

题目:思路:最小公倍数代码:package 蓝桥真题;import java.util.Scanner;public class 核桃的数量 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int b=sc.nextInt(); int c=sc.nextInt();

2020-08-24 15:24:48 134

原创 P1443 马的遍历(洛谷)

题目:import java.util.Scanner;public class Main{ static int[][] a; static boolean vis[][]; static int n; static int m; static int[] xx=new int[]{1,2,-2,-1,1,-2,-1,2}; static int[] yy=new int[]{2,1,-1,-2,-2,1,2,-1}; public sta

2020-08-10 17:29:58 169

原创 试题 历届试题 小数第n位——蓝桥杯

题目:代码:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int b=sc.nextInt(); int n=sc.nextInt(); String str="";

2020-07-20 21:26:34 185

原创 疯狂的采药—洛谷

题目:思路:完全背包的模板,但是需要空间优化,否则过不了。代码:import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int t=sc.nextInt(); int m=sc.nextInt(); int[] tt=new int[m]

2020-06-19 16:45:36 210

原创 采药—洛谷

题目:思路:01背包的变形。T代表总共能够用来采药的时间,相当于背包容量。M 代表山洞里的草药的数目,相当于物品数量。代码:package Donggui;import java.util.Scanner;public class LG采药 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int t=sc.nextInt();//能用的总时

2020-06-16 13:26:08 400

原创 5倍经验日—洛谷

题目:思路:这是01背包的变形。拥有的药剂数表示包的价值,经验值表示重量。但这个题目不管打赢与否,都能获得经验值。所以我们应该把一场比赛的价值当做打赢的经验值减去输了的经验值,而把输了的经验值当做基本(原有基础的)价值。package Donggui;import java.util.Scanner;public class LG5倍工作日 { public static void main(String[] args) { Scanner sc=new Scann

2020-06-14 21:17:56 311

原创 秘密行动—蓝桥杯

题目:思路:dp思想有两种可能1,是爬行2,是跳跃(不计时间,不能连续执行)如果某一步是爬的话,那么他上一步可以是跳,也可以是爬。如果某一步是跳的话,那么他上一步只能是爬。把情况一个个的往dp[i][j]里面加,找最优。代码:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.

2020-06-12 17:53:17 370

原创 K好数---蓝桥杯

题目:思路:dp思想比如你要求k=4,l=3四进制三位数的话,分为三种情况3XX,2XX,1XX,以3XX(3开头)为例,要想知道3XX的个数,只要知道后两位XX的情况的个数即可。后两位可能是0X,1X,3X。然后要知道0X,只要知道X的个数即可,X可以是0,2,3共三个。同理,1X中的X有1,3两个,3X中的X有0,1,3三个。所以3XX的个数=0X+1X+3X=3+2+3=8.此题中,用i表示长度(位数),j表示开头的数字,dp[i][j]表示这样的数的个数。 import java.uti

2020-06-10 09:20:19 164

原创 动规总结

2020-06-07 20:09:20 116

原创 最长递增子序列

题目:最长递增子序列的长度输入:4,2,3,1,5输出:3(2,3,5)思路:法一暴力求解法二是dp求解(很难想,而且也不是很快)public class 最长递增子序列 { public static void main(String[] args) { int[] arr= {4,2,3,1,5}; System.out.println(f(arr)); System.out.println(dp(arr)); } private static int dp(int[]

2020-06-07 20:07:32 104

原创 01背包dp求解,完全背包dp求解

题目:有n个重量和价值分别为wi,vi的物品,从这些物品中挑选出总重量不超过c的物品,求所以挑选方案中价值总和的最大。1<=n<=1001<=wi,vi<=1001<=c<=10000输入:n=4(w,v)={(2,3),(1,2),(3,4),(2,2)}c=5;输出:7//因为这个问题只有选和不选两种情况,所以叫做01背包问题。上一篇用的是递推和记忆型递归求解,这一篇用dp动规来求解。只要能分析出表格的每一步的来源,就能好的求解。publ

2020-06-07 09:12:21 390

原创 01背包问题

题目:有n个重量和价值分别为wi,vi的物品,从这些物品中挑选出总重量不超过c的物品,求所以挑选方案中价值总和的最大。1<=n<=1001<=wi,vi<=1001<=c<=10000输入:n=4(w,v)={(2,3),(1,2),(3,4),(2,2)}c=5;输出:7//因为这个问题只有选和不选两种情况,所以叫做01背包问题。方法一:递推O(n^2)public class pro01背包 { static int[] w= {2,1,

2020-06-06 15:55:12 325

原创 动规介绍

2020-06-06 10:47:21 141

空空如也

空空如也

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

TA关注的人

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