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

蓝桥杯国赛训练 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.xdnf.cn/news/10894.html

相关文章:

  • 6.4 note
  • c++ algorithm
  • 互联网 Web 网站
  • flex布局实现固定区域滚动
  • 贝利特价型号SPHSS03 液压伺服模块
  • maven在修改完配置之后新建项目还是不生效的原因
  • 13_pandas可视化_Matplotlib
  • Python库 Pympler 详解:内存分析与追踪工具
  • 父文档检索器引和RAG的context precision性能指标
  • docker-compose 方式搭建禅道(最新版)
  • 对接系统外部服务组件技术方案
  • 数据库包括哪些?关系型数据库是什么意思?
  • Percona Toolkit利器pt-config-diff:MySQL配置差异分析与实战指南
  • 【ROS2】各种相关概念汇总解释
  • 条形进度条
  • 【分层图 最短路 迪氏堆优化最短路】B4165 [BCSP-X 2024 12 月初中组] 贸易|普及+
  • SAP 自动编号的使用
  • 19-项目部署(Linux)
  • 爱普生Epson L3210打印机信息
  • 数据库OCP专业认证培训
  • 嵌入式笔试题+面试题
  • 佰力博科技与您探讨低温介电温谱测试仪的应用领域
  • 安全月报 | 傲盾DDoS攻击防御2025年5月简报
  • Python编程基础(四) | if语句
  • while和do-while循环
  • Office文档图片批量导出工具
  • 30天速通C++(九):深入理解deque
  • CppCon 2014 学习:Anatomy of a Smart Pointer
  • 格恩朗气体涡轮流量计 工业精准流量管理的卓越之选
  • Asp.net core 使用EntityFrame Work