java
小崔崔谁用的
随便输出
展开
-
蓝桥杯真题《左移右移》
方法很多,这里提供两种,还有用链表写的就不提供了。第二种方法(忽略快读)原创 2022-11-29 20:44:04 · 693 阅读 · 0 评论 -
第十二届蓝桥杯国赛真题《翻转括号序列》(java)
一眼线段树!对线段树掌握不熟练的同学直接暴力!这代码我敲了一个小时!import java.util.*;import java.io.*;public class Main { static int N = 1000010, INF = 1 << 29; static class Node { int l, r; int min; int max; int sum; int lazy = 1; // 是否翻转 -1:no 1:yes int add;原创 2022-04-30 20:13:29 · 630 阅读 · 0 评论 -
Java P1271 选举学生会
import java.util.*;import java.io.*;public class Main { static int N = 1000; static int num[] = new int[N]; public static void main(String[] args) throws IOException{ Reader sc = new Reader(); BufferedWriter bw = new BufferedWriter(ne原创 2021-12-19 20:32:57 · 575 阅读 · 0 评论 -
Java第十二届蓝桥杯b组真题 双向排序
题目链接import java.util.*;public class Main { static int N = 100010; static CII stk[] = new CII[N]; static int a[] = new int[N]; static int top; public static void main(String[] args) { Scanner sc = new Scanner(System.i原创 2021-12-13 23:23:47 · 9634 阅读 · 1 评论 -
Java P1873 [COCI 2011/2012 #5] EKO / 砍树
import java.util.*;import java.io.*;public class Main { static int N = 1000010; static int a[] = new int[N]; // 学校分数线 static int n, need; static boolean check(int x) { long s = 0; for(int i = 0; i < n; i ++ ) { s += Math.max(a[i] - x, 0原创 2021-12-13 18:32:59 · 414 阅读 · 0 评论 -
Java P1678 烦恼的高考志愿
import java.util.*;import java.io.*;public class Main { static int N = 100010; static int a[] = new int[N]; // 学校分数线 static int score[] = new int[N]; // 每个学生估分 static int n, m; static int f(int x) { int l = 0, r = m; while(l < r) { int原创 2021-12-13 18:23:21 · 459 阅读 · 0 评论 -
Java 蓝桥杯省赛题目:路径
本题考查最短路、数论用朴素版的dijkstra算法即可;时间复杂度:O(n^2) 本题n = 2021答案:10266837import java.util.*;public class Main { static int N = 2030, M = N * 45; static int h[] = new int[N], ne[] = new int[M], to[] = new int[M], w[] = new int[M], idx; static boolea.原创 2021-12-04 07:30:08 · 753 阅读 · 0 评论 -
Java P3372 【模板】线段树 1
题目链接import java.util.*;import java.io.*;public class Main { static class Node { int l, r; long add, sum; } static int N = 100010; static Node tr[] = new Node[4 * N]; static long a[] = new long[N]; static int n, m; sta原创 2021-12-02 21:42:14 · 242 阅读 · 0 评论 -
Java P3373 【模板】线段树 2
题目链接多敲几遍,打发时间// czlimport java.util.*;import java.io.*;public class Main { static class Node { int l, r; long sum; long mul, add; // 懒标记 } static int N = 100010, MOD; static Node tr[] = new Node[4 * N]; static int a[] = new int[N]; sta原创 2021-12-02 19:24:59 · 319 阅读 · 0 评论 -
Java 第十二届蓝桥杯JavaB组国赛真题 123
题目描述:小蓝发现了一个有趣的数列,这个数列的前几项如下:1, 1, 2, 1, 2, 3, 1, 2, 3, 4, …小蓝发现,这个数列前 1 项是整数 1,接下来 2 项是整数 1 至 2,接下来3 项是整数 1 至 3,接下来 4 项是整数 1 至 4,依次类推。小蓝想知道,这个数列中,连续一段的和是多少。输入输入的第一行包含一个整数 T,表示询问的个数。接下来 T 行,每行包含一组询问,其中第 i 行包含两个整数 li 和 ri,表示询问数列中第 li 个数到第 ri 个数的和。输原创 2021-12-01 12:35:30 · 748 阅读 · 0 评论 -
Java第十二届蓝桥杯国赛 二进制问题
题目描述:小蓝最近在学习二进制。他想知道 1 到 N 中有多少个数满足其二进制表示中恰好有 K 个 1。你能帮助他吗?【评测用例规模与约定】对于 30% 的评测用例,1 ≤ N ≤ 106, 1 ≤ K ≤ 10。对于 60% 的评测用例,1 ≤ N ≤ 2 × 109, 1 ≤ K ≤ 30。对于所有评测用例,1 ≤ N ≤ 1018, 1 ≤ K ≤ 50。思路:简单的数位dpf[i][j]表示(二进制)长度为i,有j的1的方案总数。初始化:f[i][0] = 1, 所以长度为i,且有0原创 2021-11-30 23:31:47 · 638 阅读 · 2 评论 -
Java P3366 【模板】最小生成树
洛谷题目链接// czlimport java.util.*;public class Main { static class Node implements Comparable<Node> { int x1, x2; int len; public Node(int a, int b, int c) { x1 = a; x2 = b; len = c; } public int compareTo(Node o) { return this.len原创 2021-11-29 22:15:27 · 413 阅读 · 0 评论 -
Java P5638 【CSGRound2】光骓者的荣耀
题目链接思路:暴力做法:两个for循环枚举所有情况,时间复杂度:O(n^2);前缀和:通过前缀和来压缩时间,使用一维for循环,时间复杂度:O(n)。ps:前缀和与差分可以参考这篇文章因为这个题目n最大为1e6,n^2的话妥妥的TLE,所以我们选择用前缀和来做。其他细节看代码注释!import java.util.*;import java.io.*;public class Main { static int N = 1000010; static long a[] = ne原创 2021-11-22 23:32:08 · 553 阅读 · 0 评论 -
蓝桥杯 Java 外卖店优先级
思路:硬模拟,注意不要用for循环时间从1到T,会TLE。AC代码:import java.util.*;public class Main { static Map<Integer, List<Integer>> map = new HashMap<>(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); .原创 2021-11-20 15:15:02 · 249 阅读 · 0 评论 -
红黑树的基本用法 (java)
红黑树又称平衡树,在算法比赛中冷不丁出一个会让人措手不及。在java中,util包中已经帮我们实现了这个数据结构,不用大家自己手写。红黑树的定义:TreeMap<E, E> treemap = new TreeMap<>();// 注意这里开必须是TreeMap, 不能是Map开头,泛化关系不明确常用方法:ceilingKey() >= floorKey() <=higherKey() >lowerKey() <别的后续在补充吧。lo原创 2021-11-14 18:45:44 · 620 阅读 · 0 评论 -
Java P1546 [USACO3.1]最短网络 Agri-Net
题目链接裸的prim板子import java.util.*;public class Main { static int N = 110, INF = 1 << 29; static int g[][] = new int[N][N]; static boolean st[] = new boolean[N]; static int dist[] = new int[N]; static int n; static int prim()原创 2021-10-24 07:45:21 · 1398 阅读 · 0 评论 -
Java List数组
List<Integer>[] a= new ArrayList[100];原创 2021-10-01 22:55:56 · 294 阅读 · 0 评论 -
Java P1433 吃奶酪 <卡时玄学>
原题链接正常的dfs最后一个点t了, 只好用卡时玄学,就ac了。正解应该是状压dp。import java.util.*;public class Main { static int N = 16, n; static double res = 1e9; static double x[] = new double[N], y[] = new double[N]; static boolean st[] = new boolean[N]; static int l = 0; stati原创 2021-09-05 20:10:59 · 164 阅读 · 0 评论 -
java 数的进制转换
public static void main(String[] args){ Scanner sc=new Scanner(System.in); int x=sc.nextInt(); int k=sc.nextInt(); int s[]=new int[50]; for(int j=0;x>0;j++,x=x/k) { s[j]=x%k; } for(int i=3原创 2021-06-27 19:10:07 · 65 阅读 · 0 评论 -
java链式前向星
这是java的链式前向星,存图非常好用。不带权:static int next[]=new int[N],to[]=new int[N],h[]=new int[N],idx=0; //注意:h数组初始化时全部为-1 static void add(int a,int b) { to[idx]=b;next[idx]=h[a];h[a]=idx++; }带权:static int next[]=new int[N],to[]=new int[N],w[]=new int[N],h[]=原创 2021-06-16 12:27:22 · 297 阅读 · 0 评论 -
Java数组逆向排序(从大到小排序)
因为java中的Arrays.sort()方法只可以对数组从小到大排序,如果想要从大到小排序,必须从写此方法的比较器。具体方法见代码:import java.util.*; public class Main { public static void main(String[] args) { Integer[] arr={1,2,3,4}; //注意必须要用Integer来定义数组,不能用int,因为int没法看成对象, //所以要用int的原创 2021-06-14 19:53:18 · 4359 阅读 · 1 评论 -
欧几里得算法
1.欧几里得求a和b的最大公约数gcd(a,b)=gcd(b,a%b);public static int gcd(int a,int b){ return b==0?a:gcd(b,a%b); }2.扩展欧几里得算法ax+by=gcd(a,b) 求x,ystatic int x,y; public static int extgcd(int a,int b){ if(b==0){ x=1;y=0; return a; } int r=extgcd(b,a%b原创 2021-06-02 17:15:02 · 93 阅读 · 0 评论 -
Java P1352 没有上司的舞会
题目链接树形dp的入门经典题目。import java.util.*;public class Main { public static List<Integer> son[]; public static int w[],dp[][]; //0no 1yes public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); son=new原创 2021-05-21 11:56:48 · 374 阅读 · 0 评论 -
Java P1278 单词游戏
题目链接记忆化搜索,直接dfs会爆三个点,用二进制存储状态位运算计算import java.util.*;public class Main { public static int n,res=0; public static Map<Integer,List<Integer>> map=new HashMap<Integer,List<Integer>>(); public static String[] data=new String[17原创 2021-03-19 23:23:21 · 122 阅读 · 0 评论 -
Java P1126 机器人搬重物
题目链接做了一下午终于做出这道题了,真是恶心。下面是Ac代码import java.util.*;public class Main { public static int n,m,zhangAi[][],sx,sy,ex,ey; public static int robot[][][],dx[]={0,1,0,-1},dy[]={1,0,-1,0},is[][][]; public static void main(String[] args){ Scanner sc=new Scan原创 2021-03-13 18:16:44 · 208 阅读 · 0 评论 -
Java P3864 命名那个数字 Name That Number
题目链接简单dfs用到了hashmap,listimport java.util.*;import java.math.*;import java.io.*;public class Main { public static String n; public static int len; public static Map<String,String> map=new HashMap<String,String>(); public static List<原创 2021-02-27 21:48:56 · 150 阅读 · 0 评论 -
Java P3663 Why Did the Cow Cross the Road III S
题目链接这个很棒,知道了用三位数组存储二维图的方法。用dfsimport java.util.*;import java.math.*;import java.io.*;public class Main { public static int N,K,R,niu,map[][][]=new int[102][102][4],cow[][]=new int[102][202],is[][]; public static int dx[]={-1,1,0,0}; public static原创 2021-02-27 20:05:46 · 107 阅读 · 0 评论 -
Java P1189 `SEARCH`
题目链接import java.util.*;import java.math.*;import java.io.*;public class Main { public static int n,m,ans[][],t,sx,sy,d[]; public static char map[][]; public static int dx[]={-1,1,0,0}; public static int dy[]={0,0,-1,1}; public static void main(原创 2021-02-25 18:33:38 · 153 阅读 · 0 评论 -
Java P1330 封锁阳光大学
题目链接染色法import java.util.*;import java.math.*;import java.io.*;public class Main { public static int n,m,color[],used[]; public static Map<Integer,List<Integer>> map=new HashMap<Integer,List<Integer>>(); public static voi原创 2021-02-24 15:59:17 · 84 阅读 · 0 评论 -
Java P1118 Backward Digit Sums G/S
题目链接用杨辉三角的知识做import java.util.*;import java.math.*;import java.io.*;public class Main { public static int n,sum,y[][],nums[],is[]; public static void main(String[] args){ Scanner sc=new Scanner(System.in); n=sc.nextInt(); sum=sc.ne原创 2021-02-24 10:30:09 · 69 阅读 · 0 评论 -
Java P1037 产生数
题目链接bfs,听说还可以用floydimport java.util.*;import java.math.*;import java.io.*;public class Main { public static int n,k,x[],y[],vary[],z,is[]; public static void main(String[] args){ BigInteger ans=BigInteger.ONE; Scanner sc=new Scanner(Sys原创 2021-02-24 09:28:38 · 158 阅读 · 0 评论 -
Java P2850 Wormholes G
题目链接import java.util.*;import java.math.*;import java.io.*;public class Main { public static int t,n,m,w,f,lu[][],is[]; public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(Sys原创 2021-02-23 20:10:50 · 79 阅读 · 0 评论 -
Java P2937 Laserphones S
设置镜子上限,不然容易超限。dfsimport java.util.*;import java.math.*;import java.io.*;public class Main { public static int r,c,cx,cy,is[][],res=100; public static char map[][]; public static int dx[]={1,1,-1,-1,0,0,1,-1}; public static int dy[]={-1,1,-1,1,1,-1,原创 2021-02-23 11:15:31 · 119 阅读 · 1 评论 -
Java P2919 Guarding the Farm S
题目链接这个我原来用Scanner方法读入数据,两个测试点超限,用了StreamTokenizer全部acimport java.util.*;import java.math.*;import java.io.*;public class Main { public static int r,c,map[][],is[][]; public static int dx[]={1,1,-1,-1,0,0,1,-1}; public static int dy[]={-1,1,-1,1,1,-原创 2021-02-23 10:05:04 · 121 阅读 · 1 评论 -
Java P1378 油滴扩展
题目链接刚开始不会,然后看了题解的思路,自己做了一遍,得了50分。找了半天没有发现什么问题。最后才发现,如果一个点的半径是0而且已经确定,那么他也算是一个油滴,别的油滴不可触碰。得50分是把半径为0的点不算点,导致部分油滴半径算的更大了。import java.util.*;import java.math.*;import java.io.*;public class Main { public static int n,is[]; public static double pi,r[],r原创 2021-02-22 23:01:52 · 100 阅读 · 0 评论 -
Java P2419 Cow Contest S
题目链接import java.util.*;import java.math.*;import java.io.*;public class Main { public static int[] dx={1,1,-1,-1,0,0,1,-1}; public static int[] dy={-1,1,1,-1,1,-1,0,0}; public static int n,m,floyd[][],res=0; public static void main(String[] args原创 2021-02-22 17:32:19 · 150 阅读 · 0 评论 -
Java P2853 Cow Picnic S
题目链接dfsimport java.util.*;import java.math.*;import java.io.*;public class Main { public static int k,n,m,cows[],route[][],numc[]; public static void main(String[] args)throws IOException { Scanner sc = new Scanner(System.in); k=sc.next原创 2021-02-22 07:39:58 · 125 阅读 · 0 评论 -
Java P3958 奶酪
题目链接也是做了很久,光得80分,注意数据的精度,用longimport java.util.*;import java.math.*;import java.io.*;public class Main { public static int t,r,res=0,max=0; public static void main(String[] args)throws IOException { StreamTokenizer sc = new StreamTokenizer(n原创 2021-02-21 22:59:45 · 114 阅读 · 0 评论 -
Java P2196 挖地雷(附数组拷贝)
题目链接dfs和回溯题目。通过这个题还学学会了数组的整体赋值。 int[] a={1,2,3}; int[] b=new int[3]; b=a; a[0]=a[1]=a[2]=0;本来我是这样赋值的,直接用=把一个数组赋值给另一个数组,可是结果总是不对,查阅后才知道,这只是赋给b了a地址,a改变b也会改变,不能实现对当前数据的拷贝。最方便的是用b=(int[])a.clone();这样就达到目的了。(强转不能省)import java.uti原创 2021-02-21 18:12:09 · 311 阅读 · 0 评论 -
Java P2802 回家
题目链接这道题也做了很久呢,因为格子可以反复走,不好想呢。import java.util.*;import java.math.*;public class Main { public static int[] dx={1,1,-1,-1,0,0,1,-1}; public static int[] dy={-1,1,1,-1,1,-1,0,0}; public static int[][] nums,is; public static int r,c,sx,sy,ex,ey,times=原创 2021-02-21 15:21:49 · 246 阅读 · 0 评论