1| 棋盘覆盖问题 | | 在一个2k x 2k ( 即:2^k x 2^k )个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。
|
|
Input |
| 输入文件第一行是一个整数T,表示有多少组测试数据,接下来是T组测试数据,共2T行,每组第一行为整数n,是2的n次幂(1<=n<=64),表示棋盘的大小为n*n,第二行是两个整数,代表特殊方格所在行号和列号。
| | Output | | 先输出“CASE:i,然后按样例输出。数据间用制表符隔开(‘t’),每行最后一个数据后无制表符。
| | Sample Input | |
2 2 0 0 8 2 2
| | Sample Output | |
CASE:1 0 1 1 1 CASE:2 3 3 4 4 8 8 9 9 3 2 2 4 8 7 7 9 5 2 0 6 10 10 7 11 5 5 6 6 1 10 11 11 13 13 14 1 1 18 19 19 13 12 14 14 18 18 17 19 15 12 12 16 20 17 17 21 15 15 16 16 20 20 21 21
| | Judge Tips | | 要求遍历顺序按从左到右,从上到下。 |
| 棋盘覆盖问题 | | **Time Limit: **1000ms, Special Time Limit: 2500ms, Memory Limit: 32768KB | | Total submit users: 62, **Accepted users: **26 | | **Problem 10432 : *No special judgement | | Problem description | | 在一个2k x 2k ( 即:2^k x 2^k )个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。 [图片上传中...(image-d600f9-1520562591343-0)] | | Input | | 输入文件第一行是一个整数T,表示有多少组测试数据,接下来是T组测试数据,共2T行,每组第一行为整数n,是2的n次幂(1<=n<=64),表示棋盘的大小为n n,第二行是两个整数,代表特殊方格所在行号和列号。
| | Output | | 先输出“CASE:i,然后按样例输出。数据间用制表符隔开(‘t’),每行最后一个数据后无制表符。
| | Sample Input | |
2 2 0 0 8 2 2
| | Sample Output | |
CASE:1 0 1 1 1 CASE:2 3 3 4 4 8 8 9 9 3 2 2 4 8 7 7 9 5 2 0 6 10 10 7 11 5 5 6 6 1 10 11 11 13 13 14 1 1 18 19 19 13 12 14 14 18 18 17 19 15 12 12 16 20 17 17 21 15 15 16 16 20 20 21 21
| | Judge Tips | | 要求遍历顺序按从左到右,从上到下。 |
棋盘覆盖问题: 首先大致描述一下题目: 在一个2k×2 k个方格组成的棋盘中,若有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一个特殊棋盘.显然特殊方格在棋盘上出现的位置有4^k种情形.因而对任何 k≥0,有4^k种不同的特殊棋盘. 下图–图(1)中的特殊棋盘是当k=2时16个特殊棋盘中的一个:
图(1)
题目要求在棋盘覆盖问题中,要用下图—图(2)所示的4种不同形态的L型骨牌覆盖一个给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖.
图(2)
思路分析: 当k>0时,将2k×2 k棋盘分割为4个2k-1×2 k-1子棋盘,如下图–图(3)所示:
图(3)
特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方格.为了将这3个无特殊方格的子棋盘转化为特殊棋盘,可以用一个L型骨牌覆盖这3个较小棋盘的会合处。 如下图–图(4)所示,这3个子棋盘上被L型骨牌覆盖的方格就成为该棋盘上的特殊方格,从而原问题转化为4个较小规模的棋盘覆盖问题.递归地使用这种分割,直至棋盘简化为1×1棋盘。
这样每个区域有一个黑点(在构造之后)的的棋盘是一定能符合题意填满的,因为最终都可以化成2*2的形状(三个白一个黑)。 抄个代码:
#include
using namespace std;
int tile=1; //L型骨牌的编号(递增)
int board[100][100]; //棋盘
/*****************************************************
* 递归方式实现棋盘覆盖算法
* 输入参数:
* tr--当前棋盘左上角的行号
* tc--当前棋盘左上角的列号
* dr--当前特殊方格所在的行号
* dc--当前特殊方格所在的列号
* size:当前棋盘的:2^k
*****************************************************/
void chessBoard ( int tr, int tc, int dr, int dc, int size )
{
if ( size==1 ) //棋盘方格大小为1,说明递归到最里层
return;
int t=tile++; //每次递增1
int s=size/2; //棋盘中间的行、列号(相等的)
//检查特殊方块是否在左上角子棋盘中
if ( dr=tc+s ) //在
chessBoard ( tr, tc+s, dr, dc, s );
else //不在,将该子棋盘左下角的方块视为特殊方块
{
board[tr+s-1][tc+s]=t;
chessBoard ( tr, tc+s, tr+s-1, tc+s, s );
}
//检查特殊方块是否在左下角子棋盘中
if ( dr>=tr+s && dc=tr+s && dc>=tc+s ) //在
chessBoard ( tr+s, tc+s, dr, dc, s );
else //不在,将该子棋盘左上角的方块视为特殊方块
{
board[tr+s][tc+s]=t;
chessBoard ( tr+s, tc+s, tr+s, tc+s, s );
}
}
void main()
{
int size;
cout<<"输入棋盘的size(大小必须是2的n次幂): ";
cin>>size;
int index_x,index_y;
cout<<"输入特殊方格位置的坐标: ";
cin>>index_x>>index_y;
chessBoard ( 0,0,index_x,index_y,size );
for ( int i=0; i
2 循环日程表问题;
#include
using namespace std;
int a[100][100];
void form(int size){
if(size == 1) return ;
int t = size/2;
form(t);
for(int i = 1; i <= t; i++){
for(int j = 1; j <= t ;j++){
a[i+t][j] = a[i][j] + t;
a[i+t][j+t] = a[i][j];
a[i+t-t][j+t] = a[i+t][j];
}
}
}
int main(){
int n;
scanf("%d", &n);
a[1][1]=1;
form(n);
for(int i = 1; i <= n ; i++){
for(int j = 1; j <= n ; j++){
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
你可能感兴趣的:(递归与分治)
Scratch编程深度探索:解锁递归与分治算法的奥秘
2401_85761003
算法 数据结构
标题:Scratch编程深度探索:解锁递归与分治算法的奥秘在编程的世界里,递归和分治算法以其精妙的逻辑结构和解决问题的能力而著称。Scratch,这款专为儿童和初学者设计的图形化编程工具,是否能够支持实现这样复杂的逻辑呢?本文将深入探讨Scratch在实现递归和分治算法方面的能力,并提供实际的编程示例。Scratch编程基础Scratch是由麻省理工学院媒体实验室开发的一款图形化编程工具,它通过拖
Scratch深潜:解锁递归与分治算法的编程之门
2401_85761762
算法
亮眼标题:“Scratch深潜:解锁递归与分治算法的编程之门”在编程的世界里,递归和分治算法是解决问题的强大工具。Scratch,这款广受儿童和初学者欢迎的图形化编程语言,以其独特的拖拽式编程块,激发了无数年轻程序员的创造力。本文将深入探讨Scratch是否支持实现复杂的逻辑,如递归和分治算法,并提供详细的解释和代码示例。1.Scratch编程基础Scratch通过其直观的拖拽式界面,使用户能够轻
算法分析 - 全排列问题_更新(递归与分治)
Spikeeee-
算法分析 - 期末复习总结
【问题描述】对n个整数进行全排列【输入形式】在屏幕上输入若干个整数,各数间都以一个空格分隔。【输出形式】按照顺序每行输出一种排列方式【样例输入】3123【样例输出】123132213231312321【样例说明】输入:三个整数,分别为1,2,3,以空格分隔。输出:按照顺序每行输出一种排列方式,以空格分隔【评分标准】根据输入得到准确的输出#includeusingnamespacestd;intn;
基本算法思想:递归+分治+动态规划+贪心+回溯+分支限界
weixin_34122604
数据结构与算法 java c/c++
作者:心叶时间:2018-05-0119:28本文对应github地址:https://github.com/yelloxing/...以上实现了常见算法的java、c语言、javascrpt(或node.js)、python3和go语言实现,持续更新中。下面针对一些基本的算法思想,给出大致的说明和用例。递归与分治策略分治法的基本思想把一个规模为n的问题分解为k个规模较小的子问题,这些子问题相互独
湖南大学头歌实训小测
勤奋努力的野指针
python头歌实训 python
文章目录循环小测算法思维课堂测验2:字符串课堂测验6:字典课堂测验7:函数课堂测验10:文件处理课堂测验11:numpy数组基础课堂测验12:numpy科学计算与pandas课堂测验14:时间复杂度课堂测验15:二分法课堂测验16:递归与分治循环小测
【算法】算法设计与分析 期末复习总结
令夏二十三
# 算法 算法
第一章算法概述时间复杂度比大小,用代入法,代入2即可。求渐进表达式,就是求极限,以极限为O的括号;O是指上界,Ω是指下界,θ是指上下界相等,在这里,可以这样理解:f(n)=O(g(n))意味着g(n)在n趋近于无穷大时比f(n)大;f(n)=Ω(g(n))意味着g(n)在n趋近于无穷大时比f(n)小;f(n)=θ(g(n))意味着g(n)在n趋近于无穷大时和f(n)同阶;第二章递归与分治主定理要掌
算法设计与分析复习笔记第二章递归与分治
三角恐龙
笔记 算法 笔记
目录递归的概念分治算法的基本思想分治法的时间复杂性分析分治法的应用折半查找(二分查找)大整数乘法矩阵乘法棋盘覆盖问题快速排序循环赛日程表递归的概念递归就是用自己来定义自己其中Q也不包含P,B为递归终止条件。递归算法的特点将较大规模对象的操作归结为对较小规模对象实施同样的操作。递归元这种规模的变化就体现在递归算法的变元的一类(一个或几个)变元上,这类变元称之为递归元。递归元的特点1.递归元的变化是在
算法设计与分析实验报告-分支限界法
Giperxr
数据结构与算法 算法
校课程的简单实验报告。算法设计与分析实验报告-递归与分治策略算法设计与分析实验报告-动态规划算法算法设计与分析实验报告-贪心算法dijkstra迪杰斯特拉算法(邻接表法)算法设计与分析实验报告-回溯法算法设计与分析实验报告-分支限界法算法设计与分析实验报告-分治法相关练题北京大学出版社-算法设计与分析一、实验目的1.掌握分支限界法的基本思想及搜索方式;2.掌握分支限界法的算法框架;3.掌握分支限界
算法设计与分析实验报告-贪心算法
Giperxr
数据结构与算法 算法 贪心算法
校课程的简单实验报告。算法设计与分析实验报告-递归与分治策略算法设计与分析实验报告-动态规划算法算法设计与分析实验报告-贪心算法dijkstra迪杰斯特拉算法(邻接表法)算法设计与分析实验报告-回溯法算法设计与分析实验报告-分支限界法算法设计与分析实验报告-分治法相关练题北京大学出版社-算法设计与分析一、实验目的1.理解贪心算法的概念;2.掌握贪心算法的基本要素;3.掌握设计贪心算法的步骤和策略。
高级算法设计与分析(三) -- 动态规划
₫从心
高级算法设计与分析 算法 动态规划
系列文章目录高级算法设计与分析(一)--算法引论高级算法设计与分析(二)--递归与分治策略高级算法设计与分析(三)--动态规划高级算法设计与分析(四)--贪心算法高级算法设计与分析(五)--回溯法高级算法设计与分析(六)--分支限界法高级算法设计与分析(七)--概率算法和NP完全性理论高级算法设计与分析(八)--总结目录系列文章目录前言一、基本思想二、矩阵连乘问题三、动态规划算法的基本要素1、最优
高级算法设计与分析(七) -- 概率算法和NP完全性理论
₫从心
高级算法设计与分析 算法
系列文章目录高级算法设计与分析(一)--算法引论高级算法设计与分析(二)--递归与分治策略高级算法设计与分析(三)--动态规划高级算法设计与分析(四)--贪心算法高级算法设计与分析(五)--回溯法高级算法设计与分析(六)--分支限界法高级算法设计与分析(七)--概率算法和NP完全性理论高级算法设计与分析(八)--总结目录系列文章目录前言一、概率算法1、随机数2、数值概率算法3、***LasVega
高级算法设计与分析(五) -- 回溯法
₫从心
高级算法设计与分析 算法
系列文章目录高级算法设计与分析(一)--算法引论高级算法设计与分析(二)--递归与分治策略高级算法设计与分析(三)--动态规划高级算法设计与分析(四)--贪心算法高级算法设计与分析(五)--回溯法高级算法设计与分析(六)--分支限界法高级算法设计与分析(七)--概率算法和NP完全性理论高级算法设计与分析(八)--总结目录系列文章目录前言一、回溯法的算法框架二、n后问题1、问题描述2、4皇后2个解3
高级算法设计与分析(六) -- 分支限界法
₫从心
高级算法设计与分析 算法
系列文章目录高级算法设计与分析(一)--算法引论高级算法设计与分析(二)--递归与分治策略高级算法设计与分析(三)--动态规划高级算法设计与分析(四)--贪心算法高级算法设计与分析(五)--回溯法高级算法设计与分析(六)--分支限界法高级算法设计与分析(七)--概率算法和NP完全性理论高级算法设计与分析(八)--总结目录系列文章目录前言一、分支限界法的基本思想1、与回溯法比较2、深度优先与广度优先
高级算法设计与分析(二) -- 递归与分治策略
₫从心
高级算法设计与分析 算法
系列文章目录高级算法设计与分析(一)--算法引论高级算法设计与分析(二)--递归与分治策略高级算法设计与分析(三)--动态规划高级算法设计与分析(四)--贪心算法高级算法设计与分析(五)--回溯法高级算法设计与分析(六)--分支限界法高级算法设计与分析(七)--概率算法和NP完全性理论高级算法设计与分析(八)--总结目录系列文章目录前言一、递归的概念1.1、eg:累加函数1.2、eg:斐波那契数列
高级算法设计与分析(九) -- 总结
₫从心
高级算法设计与分析 算法 高级算法设计与分析
系列文章目录高级算法设计与分析(一)--算法引论高级算法设计与分析(二)--递归与分治策略高级算法设计与分析(三)--动态规划高级算法设计与分析(四)--贪心算法高级算法设计与分析(五)--回溯法高级算法设计与分析(六)--分支限界法高级算法设计与分析(七)--概率算法和NP完全性理论高级算法设计与分析(八)--总结目录系列文章目录一、算法引论二、递归与分治策略1、分治法2、二分法3、大整数的乘法
高级算法设计与分析(一) -- 算法引论
₫从心
高级算法设计与分析 算法
系列文章目录高级算法设计与分析(一)--算法引论高级算法设计与分析(二)--递归与分治策略高级算法设计与分析(三)--动态规划高级算法设计与分析(四)--贪心算法高级算法设计与分析(五)--回溯法高级算法设计与分析(六)--分支限界法高级算法设计与分析(七)--概率算法和NP完全性理论高级算法设计与分析(八)--总结目录系列文章目录前言一、算法与程序1、算法2、程序3、思算法的基本特征二、表达算法
高级算法设计与分析(四) -- 贪心算法
₫从心
高级算法设计与分析 算法 贪心算法
系列文章目录高级算法设计与分析(一)--算法引论高级算法设计与分析(二)--递归与分治策略高级算法设计与分析(三)--动态规划高级算法设计与分析(四)--贪心算法高级算法设计与分析(五)--回溯法高级算法设计与分析(六)--分支限界法高级算法设计与分析(七)--概率算法和NP完全性理论高级算法设计与分析(八)--总结目录系列文章目录前言一、贪心算法的基本思想二、活动安排问题三、贪心算法的基本要素四
【数据结构】递归与分治
Hsianus
数据结构 动态规划 算法
一.递归1.递归的概念:子程序(或函数).接调用自己或通过一系列调用语句间接调用自己,成为递归。递归是一种描述问题和解决问题的基本方法。重复地把问题转化为与原问题相似的新问题,直到问题解决为止。2.递归的要素:1)递归边界条件确定递归到何处终止,也称为递归出口2)递归模式:大问题是如何分解为小问题的,也称为递归体3.递归的特点:递归:结构清晰,程序容易编写,但需要更多的存储空间和时间。4.递归与栈
算法设计与分析——递归与分治问题(含锐格题)
幸馥儿~
算法设计与分析 笔记 分治算法 算法 c++
递归的概念:直接或间接调用自身的算法适合递归算法的问题1.递归函数:用函数自身给出定义的函数2.递归结构:二叉树递归算法设计的一般步骤1.确定递归关系2.确定终止条件※3.确定递归参数实例1.汉诺塔问题#include#includeusingnamespacestd;intcnt=0;//记录voidmove(intid,charfrom,charto)//打印移动方式:编号,从哪个盘子移动到哪
算法设计与分析——递归与分治策略
krain.
算法设计与分析 算法 数据结构
文章目录1.递归算法1.1特点1.2优缺点2.分治策略2.1基本思想2.2适用的条件2.3求解过程(步骤)3.典型算法案例3.1二分搜索3.1.1非递归实现3.1.1递归实现3.2棋盘覆盖问题3.2.1L型骨牌放置顺序3.2.2时间复杂度3.3快速排序3.3.1案例解释3.3.2复杂度分析1.递归算法1.1特点1.2优缺点优点:结构清晰、可读性强缺点:运行时效率较低,耗费较多的时间、空间资源2.分
算法--递归与分治
「已注销」
算法
这里是@嘉禾何鹤的第一篇学习笔记文章目录这里是@嘉禾何鹤的第一篇学习笔记前言一、递归Whatis递归?递归分类能够用递归解决的问题二、分治能够用分治解决的问题分治法的求解过程分治法的一般的算法设计模式三、这是一张图文无关的彩蛋?前言决心当一名程序员的第一个月过去啦,得弊于大一C基础打得着实不够扎实,第一门专业课就给自己来了当头一棒,不能像别的科目靠手写笔记来总结啦,试着尝试一种新的方式,同样的手过
【python】归并排序?
阿牛02
题目:如何进行归并排序。分析:归并排序是利用递归与分治技术将数据序列划分成越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列。“归”代表的是递归的意思,即递归地将数组折半地分离为单个数组。例如,数组[2,6,1,0]会先折半,分为[2,6]和[1,0]两个子数组,然后再折半将数组分离,分为[2],[6]和[1],[0]。“并”就是将分开的数据按照从小到大或
排序算法--归并排序流程分析
charles·wang
排序算法 算法 算法 排序算法
一.归并排序 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。 若将两个有序表合并成一个有序表,称为2-路归并,与之对应的还有多路归并。对于给定的一组数据,利用递归与分治技术将数据序列划分成为越来越小的半子表,在对半子表排序后,再用递归方法将排好序的半子表合并成为越来越大
算法设计与分析复习
ˇasushiro
算法
分支法算法设计与分析复习–递归与分治(一)算法设计与分析复习–递归与分治(二)动态规划算法设计与分析复习–动态规划贪心算法设计与分析复习–贪心(一)算法设计与分析复习–贪心(二)回溯法算法设计与分析复习–回溯(一)算法设计与分析复习–回溯法(二)分支界限法算法设计与分析复习–分支界限法特殊多解问题算法设计与分析复习–求解最大子段和问题(分支法、动态规划)
算法分析与设计期末复习-01
黄油飞起来了
算法设计与分析期末复习 算法
**算法分析期末考试内容**目录梳理:第一章:算法概述第二章:递归与分治策略第三章:动态规划第四章:贪心算法第五章:回溯法第六章:分支限界法一、简答题:正确理解算法的思想,并能够用语言正确表达出来什么是渐进效率,渐进效率的意义是什么大哦,欧米茄,西塔有什么意义,分别表示了什么时间复杂度的最坏、最好、平均分别指的什么,什么时候用,一般情况下用哪种复杂度来衡量分治法、动态规划、贪心算法、回溯法、分支限
算法设计与分析复习--动态规划
ˇasushiro
算法 动态规划
文章目录上一篇动态规划性质矩阵连乘问题凸多边形最优三角部分最长公共子序列0-1背包问题下一篇上一篇算法设计与分析复习–递归与分治(二)动态规划性质与分析法类似:将原问题分解为子问题不同点:不是通过递归的方式,而是自底向上的求解问题矩阵连乘问题矩阵连乘的次数是左矩阵行列,右矩阵行列取出左右中进行相乘。由于矩阵乘积需要满足左矩阵列等于右矩阵的行,所以可以用一维数组进行存n个矩阵,共n+1个元素,从第一
算法设计与分析复习--递归与分治(二)
ˇasushiro
算法 数据结构
文章目录上一篇归并排序统计逆序对快速排序线性时间选择最接近点对问题一维二维循环赛日程表下一篇上一篇算法设计与分析复习–递归与分治(一)归并排序问题特点:局部有序到整体有序AcWing787.归并排序#include#include#includeusingnamespacestd;constintN=100010;inta[N];intn;voidmerge_sort(intl,intr){if(
排序算法一:归并排序
firststep
一:归并排序原理归并排序利用的是分治的思想实现的,对于给定的一组数据,利用递归与分治技术将数据序列划分成为越来越小的子序列,之后对子序列排序,最后再用递归方法将排好序的子序列合并成为有序序列。合并两个子序列时,需要申请两个子序列加起来长度的内存,临时存储新的生成序列,再将新生成的序列赋值到原数组相应的位置。二:归并排序复杂度平均时间复杂度均为O(nlogn)。三:归并排序的实现packageStu
循环赛日程表 (递归与分治)
mc_故事与你
算法 算法 数据结构 c++
文章目录1.题目2.问题分析3.什么是分治4.算法实现思路1.对表进行分析2.对表的实现1.递归2.循环5算法实现代码1.递归2.循环6.时间\空间复杂度1.递归1.空间复杂度2.时间复杂度2.循环1.空间复杂度2.时间复杂度1.题目设有n=2^k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:(1)每个选手必须与其他n-1个选手各赛一次;(2)每个选手一天只能参赛一次;(3)循环
递归与分治 题目集
sylviiiiiia
buctoj 算法 c++
分治法求解全排列问题对每个输入的整数n,用分治法计算并输出1…n的全排列。voidperm(inta[],intx,inty){if(x==y){fer(i,0,y)cout>n){perm(a,0,n);}return0;}数的计数我们要求找出具有下列性质数的个数(包含输入的自然数n)。先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:1·不作任何处理,计数2.在它的左边加
Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
 
XSD和XML中的命名空间
darrenzhu
xml xsd schema namespace 命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
Java 求素数运算
周凡杨
java 算法 素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
 
mongodb 环境搭建及简单CURD
antlove
Web Install curd NoSQL mongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
数据字典和动态视图
百合不是茶
oracle 数据字典 动态视图 系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
多线程编程一般规则
bijian1013
java thread 多线程 java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linux unix scp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
cookie状态判断引发的查找问题
bitcarter
form cgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
看别人的博客,觉得心情很好
Cb123456
博客 心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
[JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
正则表达式验证日期格式
dashuaifu
正则表达式 IT其它 java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
判断一个数是质数的几种方法
EmmaZhao
Math python
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
JS实现自适应宽度的Tag切换
ini
JavaScript html Web css html5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
Hbase Rest API : 数据查询
kane_xie
REST hbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jquery js 源码 拖动 鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
将redis,memcache结合使用的方案?
tcrct
redis cache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key