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

商城网站建设源码wordpress安全锁

商城网站建设源码,wordpress安全锁,sns社交网站 建设文档,营销型网站效果不好《算法分析与设计》循环赛日程表算法 CONDITION1. 输入2的K次方支队伍,输出赛程表。 CONDITION2. 考虑队伍数量不是2的K次方情况下,输出赛程表。 【本题涉及算法:分治算法】 本文给出两个方法, 方法1只处理2^k(k>1)场景&am…

《算法分析与设计》循环赛日程表算法

CONDITION1. 输入2的K次方支队伍,输出赛程表。

CONDITION2. 考虑队伍数量不是2的K次方情况下,输出赛程表。

【本题涉及算法:分治算法】

本文给出两个方法,

方法1只处理2^k(k>=1)场景,方法2处理全部k>=2场景。(并给出参数选择是否随机排序)

方法1(tableDoublePrepare),方法2(tablePrepare),为对外提供接口。

实际逻辑方法处理为(tableDouble)与(table)

先上实现效果:

Preparing

SDK:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Scanner;

测试主体:

    static int[] arr2 = new int[50];  // 前缀表static int[][] arr0;  // 结果数组static int[][] arr1;  // 间接结果数组static int[][] arr1_;  // 结果数组public static void main(String[] args) {arr2[0] = 1;for (int i = 1; i < arr2.length; i++) {arr2[i] = arr2[i - 1] * 2;}Scanner sc = new Scanner(System.in);int n1 = sc.nextInt();int n2 = sc.nextInt();tableDoublePrepare(n1, 1, n1);printArr(arr0);tablePrepare(n2, 1, n2, true);  // 第二参数为是否随机排序printArr(arr1_);}/*** 打印二维数组(不限制方阵)* @param arr 二维数组*/public static void printArr(int[][] arr) {for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[0].length; j++) {System.out.printf("%4d", arr[i][j]);}System.out.println();}}

CONDITION1

Code:

   /*** 预处理进入循环赛表获取(只适应于2^k, k>=1)* @param n 人数* @param start 首位 比如1* @param end 尾位 比如8(真实比赛人数)*/public static void tableDoublePrepare(int n, int start, int end) {System.out.println("循环赛程表(2^k场景):");arr0 = new int[n][n];for (int i = 0; i < n; i++) {arr0[i][0] = i;  // 首列赋值}tableDouble(n, arr0, start, end, end / 2);}/*** 循环赛表获取(只适应于2^k, k>=1)* @param n 真实比赛人数* @param arr 循环赛表* @param start 首位 比如1* @param end 尾位 比如8(真实比赛人数)* @param disHalf 位差*/private static void tableDouble(int n, int[][] arr, int start, int end, int disHalf) {if (start == end - 1) {arr[0][start - 1] = arr[1][end - 1] = start;arr[0][end - 1] = arr[1][start - 1] = end;} else {tableDouble(n, arr, start, start + disHalf - 1, disHalf / 2);tableDouble(n, arr, end - disHalf + 1, end, disHalf / 2);for (int i = 0; i < disHalf; i++) {// 对应第一个tablefor (int j = start - 1; j < start + disHalf - 1; j++) {arr[i + disHalf][j + disHalf] = arr[i][j];}// 对应第二个tablefor (int j = end - disHalf; j < end; j++) {arr[i + disHalf][j - disHalf] = arr[i][j];}}}}

CONDITION2

Code:
 

    /*** 预处理进入循环赛表获取(适合任意大于等于2的比赛人数)* @param n 真实比赛人数* @param start 首位 比如1* @param end 尾位 比如8(真实比赛人数)* @param random_ 是否进行天数随机*/public static void tablePrepare(int n, int start, int end, boolean random_) {System.out.println("循环赛程表(全场景):");int l = 0;int r = arr2.length;while (l < r) {int mid = (l + r) / 2;if (arr2[mid] < end) {l = mid + 1;} else {r = mid - 1;}}n = arr2[l];arr1 = new int[n][n];for (int i = 0; i < end; i++) {arr1[i][0] = i;  // 首列赋值(超过end的不赋值)}table(n, arr1, start, arr2[l], arr2[l] / 2, end);if (random_) {HashSet<ArrayList<Integer>> set = new HashSet<>();for (int j = 1; j < n; j++) {ArrayList<Integer> list = new ArrayList<>();for (int i = 0; i < end; i++) {list.add(arr1[i][j]);}set.add(list);}int j = 1;for (ArrayList<Integer> list : set) {int i = 0;for (Integer integer : list) {arr1[i++][j] = integer;}j++;}}if (n == l) {arr1_ = arr1;} else {arr1_ = new int[end][n];for (int i = 0; i < end; i++) {arr1_[i] = arr1[i];}}}/*** 循环赛表获取(适合任意大于等于2的比赛人数)* @param n 总位差* @param arr 循环赛表* @param start 首位 比如1* @param end 尾位 比如8* @param disHalf 位差* @param ending 比赛人数(真实比赛人数)*/private static void table(int n, int[][] arr, int start, int end, int disHalf, int ending) {if (start == end - 1) {if (start <= ending) arr[0][start - 1] = arr[1][end - 1] = start;if (end <= ending) arr[0][end - 1] = arr[1][start - 1] = end;} else {table(n, arr, start, start + disHalf - 1, disHalf / 2, ending);table(n, arr, end - disHalf + 1, end, disHalf / 2, ending);for (int i = 0; i < disHalf && i < ending - disHalf; i++) {// 对应第一个tablefor (int j = start - 1; j < start + disHalf - 1; j++) {arr[i + disHalf][j + disHalf] = arr[i][j];}// 对应第二个tablefor (int j = end - disHalf; j < end; j++) {arr[i + disHalf][j - disHalf] = arr[i][j];}}}}
}

http://www.yayakq.cn/news/515429/

相关文章:

  • 站群系统程序wordpress源码类主题
  • 郑州天梯网站制作哈尔滨多语言网站建设
  • 国外域名。国内网站北京到安阳的火车
  • 在南昌市做网站到哪牡丹江百姓信息网
  • 贵阳做网站电商是做什么的职业
  • 做微商去哪些社交网站简述网络营销的方法
  • 网站建设方案大全南京开发
  • 用dedecms做的网站 脚本是什么网站整合建设是啥意思
  • 设计网站如何推广学校的网站的代码模板下载
  • 自己做的网站怎么给别人访问如何开科技软件
  • 网站流量分析宿州网站制作
  • 网站怎么识别PC 手机怎样做网站管理
  • 网站建设成本核算模板网站建设管理自查工作总结
  • 找个网站懂的网站阳江网站网站建设
  • 做一个答疑网站厦门网站建设报
  • 静态网站做301重定向seo关键词快速获得排名
  • 移动网站mip工程项目管理软件app
  • 宣传网站建设华为 wordpress
  • 朔州如何做百度的网站适合做网站的软件有哪些
  • 自建视频网站p2p网站开发公司
  • 做网站如何变现网页设计制作
  • 网站制作说明书企业怎样建立自己的网站
  • 多个招聘网站格式不一致如何做招聘记录聊城做网站优化
  • 厦门市建设局网站首页wordpress 登录插件
  • 搭建网站公司哪家好环球旅行社网站建设规划书
  • 搭建网站平台有前途吗网站开发工程师累不累
  • 宁夏住房和城乡建设厅网站首页网站建设功能的策划书
  • 网站开发技术期末考试 及答案博罗做网站技术
  • 手机网站重要性网络公司都有哪些
  • 淘宝客 网站 备案做图片能去哪些网站吗