题解
-TNT-
念念不忘,必有回响
展开
-
第十届蓝桥杯省赛javab组
取得每一列最大值加起来即可,同一个人只能取一次两重循环用hashset存储不同的非空字符。import java.util.HashSet;import java.util.Scanner;/* *0100110001010001 100 */public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); String string ...原创 2021-03-28 21:32:31 · 345 阅读 · 1 评论 -
看了就会的第十一届蓝桥杯省赛第二场javab组题解
枚举1-2020中的每一位数含2的个数import java.util.Scanner;public class Main{ public static void main(String[] args) { int res = 0; for(int i = 1 ;i <= 2020;i++) { res += cal(i); } System.out.println(res); } //枚举1-2020中的每..原创 2021-03-17 21:12:22 · 286 阅读 · 1 评论 -
容斥原理
本题背景为容斥原理,将容斥原理进行介绍即图中圆ABC不重叠面积和为 (S1+S5+S2)- (S4-S6-S3)+S7也就是说 单独的面积和 -两两相交的面积+三个相交的面积。推广到多个圆也适用,即奇数为正,偶数为负。import java.util.*;public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); ..原创 2021-03-05 22:00:46 · 278 阅读 · 0 评论 -
AcWing1341 十三号星期五
题目链接: 1341. 十三号星期五.题目描述十三号星期五真的很不常见吗?每个月的十三号是星期五的频率是否比一周中的其他几天低?请编写一个程序,计算 N 年内每个月的 13 号是星期日,星期一,星期二,星期三,星期四,星期五和星期六的频率。测试的时间段将会开始于 1900 年 1 月 1 日,结束于 1900+N−1 年 12 月 31日。一些有助于你解题的额外信息:1900 年 1 月 1 日是星期一。在一年中,4 月、6 月、9 月、11 月每个月 30 天,2 月平年 28 天,闰年原创 2021-01-20 22:17:20 · 134 阅读 · 0 评论 -
Java进制转换
进制转换10进制转b进制b进制转10进制10进制转b进制短除法 public static String convertToB(int x,int b){ StringBuffer sb = new StringBuffer(); while(x>0){ int mod = x%b; x/=b; sb.append(get(mod)); } sb.reverse();原创 2021-01-13 21:15:31 · 194 阅读 · 0 评论 -
AcWing838 堆排序
输入一个长度为n的整数数列,从小到大输出前m小的数。输入格式第一行包含整数n和m。第二行包含n个整数,表示整数数列。输出格式共一行,包含m个整数,表示整数数列中前m小的数。数据范围1≤m≤n≤105,1≤数列中元素≤109输入样例:5 35 4 1 3 2输出样例:1 2 3堆的底层是一个完全二叉树;用一维数组模拟堆,其模拟树的形式如下图 通过下标来指定左右孩子。down(2)示意图一直进行迭代知道当前堆顶为最小值package com.df.acwing.D.原创 2021-01-03 19:50:15 · 320 阅读 · 3 评论 -
AcWing 830. 单调栈
给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出-1。输入格式第一行包含整数N,表示数列长度。第二行包含N个整数,表示整数数列。输出格式共一行,包含N个整数,其中第i个数表示第i个数的左边第一个比它小的数,如果不存在则输出-1。数据范围1≤N≤1051≤数列中元素≤109分析:若采用暴力解法for(int i = 1;i < n ;i ++){ for(int j = i - 1;j;j >= 0;j --}{ //从当前位置开始向左找找原创 2021-01-01 00:40:27 · 309 阅读 · 1 评论 -
lowbit函数
lowbit(x) :是求二进制中最低位1对应的值。lowbit(x) = x&(~x+1)或x&(-x)5二进制序列为 101。lowbit(5)= 1用lowbit求二进制中1的个数import java.util.Scanner;public class Demo { public static void main(String[] args) { Scanner input = new Scanner(System.in);原创 2020-12-06 22:13:37 · 1006 阅读 · 1 评论