当前位置: 首页 > article >正文

蓝桥杯国赛训练 day1 Java大学B组

目录

k倍区间

舞狮

交换瓶子


k倍区间

取模后算组合数就行

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class Main {static Scanner sc = new Scanner(System.in);public static void main(String[] args) {solve();}public static void solve() {int n = sc.nextInt();long k = sc.nextLong();//        System.out.println(calC(2,5));long[] arr = new long[n + 1];long[] pre = new long[n + 1];for (int i = 1; i <= n; i++) {arr[i] = sc.nextLong();pre[i] = pre[i - 1] + arr[i];}HashMap<Long,Long>hm=new HashMap<>();for(int i=1;i<=n;i++) {long preKey=pre[i]%k;hm.put(preKey, hm.getOrDefault(preKey, 0L)+1);}long cnt=0;if(hm.containsKey(0L)) cnt+=hm.get(0L);for(long l:hm.keySet()) {long preVal=hm.get(l);if(preVal>=2) {cnt+=calC(2,preVal);} }System.out.println(cnt);}/***   计算组合数* @param m 上标* @param n 下标* @return*/public static long calC(long m, long n) {m = Math.min(m, n - m); long result = 1;for (long i = 1; i <= m; i++) {result *= (n - m + i) ;result /= i;}return result;}
}

组合数模版

    /*** 计算组合数* @param m 上标* @param n 下标* @return*/public static long calC(long m, long n) {m = Math.min(m, n - m); long result = 1;for (long i = 1; i <= m; i++) {result *= (n - m + i) ;result /= i;}return result;}

舞狮

暴力就完了

不然应该是一个dfs 找环

import java.util.*;// xixi♡西
public class Main {static Scanner sc = new Scanner(System.in);public static void solve() {int n=sc.nextInt();long arr[]=new long[n];for(int i=0;i<n;i++) {arr[i]=sc.nextLong();}Arrays.sort(arr);ArrayList<ArrayList<Long>>list=new ArrayList<>();loop:for(long num:arr) {boolean isAdd =false;for(ArrayList<Long> forList:list) {if(num>forList.size()) {isAdd=true;forList.add(num);continue loop;}}if(isAdd==false) {ArrayList<Long>newList=new ArrayList<>();newList.add(num);list.add(newList);}}System.out.print(list.size());}public static void main(String[] args){int t = 1;
//        t = sc.nextInt();while (t-- > 0) {solve();}}}

交换瓶子

import java.util.*;public class Main {static Scanner sc = new Scanner(System.in);public static void main(String[] args) {solve();}public static void solve() {int n = sc.nextInt();int[] arr = new int[n + 1];for(int i = 1; i <= n; i ++){arr[i] = sc.nextInt();}int count = 0;for(int i = 1; i <= n; i ++){if(arr[i] != i){int temp = arr[i];arr[i] = arr[temp];arr[temp] = temp; count++;i = 1;}}System.out.println(count);}}
http://www.lryc.cn/news/2401729.html

相关文章:

  • PyTorch——非线性激活(5)
  • OPenCV CUDA模块目标检测----- HOG 特征提取和目标检测类cv::cuda::HOG
  • MATLAB读取文件内容:Excel、CSV和TXT文件解析
  • Spring MVC 之 异常处理
  • 缓存控制HTTP标头设置为“无缓存、无存储、必须重新验证”
  • ubuntu24.04 使用apt指令只下载不安装软件
  • macOS 上使用 Homebrew 安装redis-cli
  • 计算机网络安全问答数据集(1788条) ,AI智能体知识库收集! AI大模型训练数据!
  • WinCC学习系列-高阶应用(WinCC REST通信)
  • 八、Python模块、包
  • 使用交叉编译工具提示stubs-32.h:7:11: fatal error: gnu/stubs-soft.h: 没有那个文件或目录的解决办法
  • macOS 连接 Docker 运行 postgres,使用navicat添加并关联数据库
  • 指针的使用——基本数据类型、数组、结构体
  • TK海外抢单源码/指定卡单
  • Docker MCP 目录和工具包简介:使用 MCP 为 AI 代理提供支持的简单安全方法
  • 【Linux】Linux 环境变量
  • OpenCV在图像上绘制文字示例
  • Java 抗量子算法:构建后量子时代的安全基石
  • Kubernetes 集群到 Jumpserver
  • Android7 Input(十)View 处理Input事件pipeline
  • 图像数据如何表示为概率单纯形
  • (11)Service Mesh架构下Java应用实现零信任安全模型
  • 什么是内网映射?如何将内网ip映射到外网访问?
  • 为什么要选择VR看房?VR看房有什么优点?
  • linux 串口调试命令 stty
  • C++STL-vector的使用
  • 图简记。。
  • pytorch基本运算-范数
  • uefi协议设计目的
  • springcloud openfeign 偶现 Caused by: java.net.UnknownHostException