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

蓝桥杯国赛训练 day1

目录

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/2398862.html

相关文章:

  • ESP32之Linux编译环境搭建流程
  • Linux 软件安装方式全解(适用于 CentOS/RHEL 系统)
  • QT- QML Layout+anchors 布局+锚点实现窗口部件权重比例分配
  • UE5打包项目设置Project Settings(打包widows exe安装包)
  • Python中os模块详解
  • 便捷高效能源服务触手可及,能耗监测系统赋能智能建筑与智慧城市
  • Kotlin List 操作全面指南
  • C++--范围for循环详解
  • ISO18436-2 CATII级振动分析师能力矩阵
  • deepseek问答:torch.full() 函数详解
  • dvwa4——File Inclusion
  • MYSQL 高级 SQL 技巧
  • Spring Boot养老院管理系统源码分享
  • go|context源码解析
  • 如何在PowerBI中使用Analyze in Excel
  • 【学习记录】Element UI导入报错 * element-ui/lib/theme-chalk/index.css in ./src/main.js
  • 大模型分布式训练笔记(基于accelerate+deepspeed分布式训练解决方案)
  • 鸿蒙UI开发——组件的自适应拉伸
  • 鸿蒙仓颉语言开发教程:自定义弹窗
  • meilisearch docker 简单安装
  • Python 数据分析与可视化实战:从数据清洗到图表呈现
  • 机器学习数据降维方法
  • uefi和legacy有什么区别_从几方面分析uefi和legacy的区别
  • Spring @Autowired自动装配的实现机制
  • Neo4j 数据可视化与洞察获取:原理、技术与实践指南
  • 一种基于性能建模的HADOOP配置调优策略
  • 【Stable Diffusion 1.5 】在 Unet 中每个 Cross Attention 块中的张量变化过程
  • MySQL - Windows 中 MySQL 禁用开机自启,并在需要时手动启动
  • 前端下载文件,文件打不开的问题记录
  • 小白的进阶之路系列之十一----人工智能从初步到精通pytorch综合运用的讲解第四部分