题目传送门
神秘传送门
农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地。John打算在牧场上的某几格里种上美味的草,供他的奶牛们享用。
遗憾的是,有些土地相当贫瘠,不能用来种草。并且,奶牛们喜欢独占一块草地的感觉,于是John不会选择两块相邻的土地,也就是说,没有哪两块草地有公共边。
John想知道,如果不考虑草地的总块数,那么,一共有多少种种植方案可供他选择?(当然,把新牧场完全荒废也是一种方案)
第一行:两个整数M和N,用空格隔开。
第2到第M+1行:每行包含N个用空格隔开的整数,描述了每块土地的状态。第i+1行描述了第i行的土地,所有整数均为0或1,是1的话,表示这块土地足够肥沃,0则表示这块土地不适合种草。
一个整数,即牧场分配总方案数除以100,000,000的余数。
2 3
1 1 1
0 1 0
9
m和n都很小,很容易就看出来是状压DP。那么我们每一行的状态就可以用一个二进制数来表示,1代表种了草,0代表每种,由于不允许有种草的相邻,那么我们可以预先把合法的情况先存下来(不存应该也没事),这样可以省时。还有一件重要的事,就是存地图的时候把1按0存,把0按1存,后面就知道有什么用了。
假设合法状态就存在ZT[i]里,ZT[i]表示合法的第i种状态(以下简称状态i)。我们用Opt[i][j]表示第i行为状态j时的方案数。
转移方程就是:Opt[i][j]=ΣOpt[i][k];
要满足的条件为:状态j在第i行合法(即ZT[j]&Map[i]==0),状态k在第i-1行合法(即ZT[k]&Map[i-1]==0),以及状态j和状态k不冲突(即ZT[j]&ZT[k]==0),因为上下也不能相邻。
初始化的时候只能把Opt[0][1]赋值为1,即第0行什么也不放的方案数为1。
源代码
#include
#define Mod 100000000
using namespace std;
int m,n,i,j,Ans,Opt[21][5001],Map[21],ZT[5001],x,Cnt,k;
int main(){
scanf("%d%d",&m,&n);
for(i=1;i<=m;++i){
for(j=0;j
你可能感兴趣的:(动态规划,二进制)
- RTC实时时钟M41T00M6F国产替代FRTC4100S
NYFEA
实时音视频
FRTC4100S是NYFEA徕飞公司推出的一种低功耗的串行实时时钟(RTC)。32.768kHz振荡器由外部晶体控制)和RAM的前8个字节用于时钟/日历功能,并以二进制编码十进制(BCD)格式配置。地址和数据通过双向总线以串行方式传输。内置的地址寄存器在每个写或读数据字节后自动递增。FRTC4100S时钟内置电源检测电路,可在电源故障期间检测到电源故障并自动切换到电池供电。维持时钟运行所需的能量
- LeetCode第67题_二进制求和
@蓝莓果粒茶
算法leetcode算法职场和发展矩阵数据结构pythonc++
LeetCode第67题:二进制求和题目描述给你两个二进制字符串a和b,以二进制字符串的形式返回它们的和。难度简单题目链接点击在LeetCode中查看题目示例示例1:输入:a=“11”,b=“1”输出:“100”解释:11+1=100(二进制)示例2:输入:a=“1010”,b=“1011”输出:“10101”解释:1010+1011=10101(二进制)提示1=0||j>=0||carry>0)
- C++学习(十三)(构建系统,CMAKE)
solomonzw
大数据数据库
构建系统是一组工具和实用程序,用于自动执行项目中的源代码文件的编译、链接和执行过程。构建系统的主要目标是管理编译过程的复杂性,并最终生成构建(可执行文件或二进制文件)。在C++(cpp)中,一些常见的构建系统包括:GNUMake:这是一个流行的构建系统,用于定义构建过程。它检查源文件的依赖关系和时间戳,以确定需要编译和链接哪些文件。Makefile代码示例:#MakefileCXX=g++CPPF
- Go语言学习路线
沉默的八哥
运维golang学习java
以下是一个较为系统的Go语言学习路线:一、基础阶段环境搭建与工具链熟悉安装Go语言开发环境。在Go官方网站(https://golang.org/dl/)下载适合您操作系统的安装包并完成安装。配置Go环境变量,如GOPATH和GOROOT。GOROOT是Go语言的安装目录,GOPATH是工作空间目录,用于存放Go项目的源代码、编译后的二进制文件和依赖包等。学习使用Go命令行工具,如gobuild(
- 393. UTF-8 编码验证
冱洇
力扣刷题记录leetcode算法
UTF-8编码验证题目描述尝试做法推荐做法题目描述给定一个表示数据的整数数组data,返回它是否为有效的UTF-8编码。UTF-8中的一个字符可能的长度为1到4字节,遵循以下的规则:对于1字节的字符,字节的第一位设为0,后面7位为这个符号的unicode码。对于n字节的字符(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符
- qt 播放pcm音频
码农客栈_V13427279549
音视频Qtpcm音视频
一、获取PCM音频ffmpeg-iinput.mp3-acodecpcm_s16le-ar44100-ac2-fs16leoutput.pcm-acodecpcm_s16le:指定16位小端PCM编码格式(兼容性最佳)-ar44100:设置采样率为CD标准44.1kHz(可替换为16000/8000等)-ac2:保留立体声(单声道用-ac1)-fs16le:强制输出二进制裸数据格式二、播放方
- 使用源代码编译R包的过程
QH_ShareHub
R编译R包安装
R包的安装方式可以归纳为源代码安装和二进制文件安装两类:源代码安装是指从包的源代码进行编译安装。包括:①通过CRAN安装源代码版本的包(如果没有二进制版本,或者指定了安装源代码)。②从GitHub、Bioconductor等平台获取源码并安装。③本地源码包的安装。二进制文件安装是指直接安装编译好的包,无需编译。这种方式通常更快,特别是在Windows和macOS上。包括:①通过CRAN直接下载并安
- 算法训练(leetcode)二刷第三十八天 | 1143. 最长公共子序列、1035. 不相交的线、53. 最大子数组和、392. 判断子序列
Star Patrick
二刷日记算法leetcode职场和发展
刷题记录1143.最长公共子序列1035.不相交的线53.最大子数组和动态规划优化版392.判断子序列1143.最长公共子序列leetcode题目地址本题和300.最长递增子序列相似(题解)。使用动态规划:dp数组含义:dp[i][j]表示以text1[i-1]结尾的子串A和以text2[j-1]结尾的子串B的最长公共子序列的长度。思路同300.最长递增子序列,每个状态更新基于前面的状态,为了防止
- Canal+MySQL+Kafka+Zookeeper
正大光明瑞士卷
mysqlkafkajava-zookeeper
目录一、CanalⅠ、下载安装Ⅱ、配置主要配置文件(1)conf/canal.properties(2)conf/example/instance.propertiesⅢ、开启canal二、MySQLⅠ、搭建与基础使用Ⅱ、开启二进制日志三、Kafka+Zookeeper集群Ⅰ、搭建与基础使用Ⅱ、创建topic四、测试Ⅰ、数据库操作Ⅱ、kafka消费一、Canal阿里巴巴B2B公司,因为业务的特性,
- YashanDB滚动升级
数据库
本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E5%AE%89%E8%A3%85%...YashanDB支持通过yasboot工具滚动升级已经部署的数据库,在数据库不停机的情况下,将数据库二进制文件升级到新版本。本文将以23.3.1.0版本升级到23.3.1.1版本为例介绍数据库的滚动升级方式。注意事项滚动升级适
- YashanDB离线升级
数据库
本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E5%AE%89%E8%A3%85%...YashanDB支持通过yasboot工具离线升级已部署的数据库,将数据库二进制文件升级到新版本。Note:本文中所有路径、版本号、用户、密码与回显信息等仅为示例,请以实际为准。注意事项离线升级要求当前数据库无新业务数据产生,
- C语言:51单片机 程序设计基础
练习&两年半
单片机c语言51单片机开发语言单片机
C51常用进制转换C51常用的数据类型注:c51单片机中因为是8位的在实际使用过程中float和double的用法是一模一样。特别说明:unsigned无符号和signed有符号型的取值范围。bit位标量bit位标量是C51编译器的一种扩充数据类型。可以定义一个位标量,但是不能定义位指针、位数组。bit的值是一个二进制位,不是0,就是1.sfr特殊功能寄存器特殊功能寄存器是单片机中不可或缺的一部分
- 非容器化部署prometheus+grafana
罗sir 99
devopsprometheusgrafana
容器部署和非容器部署(直接在物理机或虚拟机上安装)Prometheus和Grafana各有优缺点,主要区别如下:1.部署和管理的便利性容器部署:使用容器技术(如Docker)可以简化应用的部署和配置。只需拉取镜像并执行dockerrun或docker-compose文件即可部署,且不依赖底层系统的配置,便于快速部署和迁移。非容器部署:需要手动下载二进制文件、解压、配置和管理,步骤相对繁琐。系统环境
- Leetcode 刷题笔记1 动态规划part05
平乐君
leetcode笔记动态规划
开始完全背包不同于01背包,完全背包的特色在于元素可以重复拿取,因此在递归公式和遍历顺序上都有些许不同。leetcode518零钱兑换||在组合方式中所用到的递推公式是dp[j]=dp[j-coins[i]]+dp[j]对于coins[i]>j的情况,forjinrange(coin[i],amount+1)不会执行,即实现dp[i][j]=dp[i-1][j]classSolution:defc
- Leetcode 刷题笔记1 动态规划part06
平乐君
leetcode笔记动态规划
leetcode322零钱兑换由于本题所求为最少零钱数所以递推公式中应该为dp[j]=min(dp[j],dp[j-coin]+1)classSolution:defcoinChange(self,coins:List[int],amount:int)->int:dp=[float('inf')]*(amount+1)dp[0]=0forcoinincoins:forjinrange(coin,a
- Leetcode 刷题笔记1 动态规划part04
平乐君
leetcode笔记动态规划
leetcode最后一块石头的重量||问题转化,把石头问题转化为背包问题,在target容量范围内所能装的最大石头重量classSolution:deflastStoneWeightII(self,stones:List[int])->int:total=sum(stones)target=total//2dp=[0]*(target+1)forstoneinstones:forjinrange(
- 初识Redis
我不是少爷.
Redisredis数据库缓存
目录导航Redis核心架构解析多平台环境搭建指南可视化工具生态集群架构设计与实现虚拟化环境构建方案版本演进与6.0特性1.Redis核心架构解析1.1数据模型革命基础类型二进制安全字段存储嵌套结构顺序存储阻塞操作去重集合集合运算排序集合String计数器图片缓存Hash用户画像商品详情List消息队列任务调度Set标签系统好友推荐ZSet实时排行榜1.2持久化双引擎对比特性RDB快照AOF日志持久
- 【小白必会】C语言基本知识概念大合集(二)
嗯.955
小白计算机基础知识c语言javac++
6.内存分区C++程序的内存分区程序执行前:代码区:存放函数体的二进制代码,操作系统管理代码区是只读的,共享的(一份内存)全局区:存放全局变量和静态变量及常量执行过程中:堆区:程序员自己创建的分配到数据,不手动释放,程序结束系统回收newdelete栈区:编译器自动分配释放,存放函数的参数,局部变量等。7.引用给变量起别名inta=10;int&b=a;引用必须初始化,引用在初始化后不能改变c=b
- 算法随笔_62: 买卖股票的最佳时机
程序趣谈
算法python数据结构
上一篇:算法随笔_61:二进制求和-CSDN博客=====题目描述如下:给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。示例1:输入:[7,1,5,3,6,4]输出:5解释:在第
- mysql数据被误删的恢复方案
m0_74824954
面试学习路线阿里巴巴mysql数据库
文章目录一、使用备份恢复二、使用二进制日志(BinaryLog)三、使用InnoDB表空间恢复四、使用第三方工具预防措施数据误删是一个严重的数据库管理问题,但通过合理的备份策略和使用适当的恢复工具,可以有效地减少数据丢失的风险。几种常见的数据恢复方法:包括使用备份、二进制日志、表空间文件以及第三方工具一、使用备份恢复备份是最常见的数据恢复方法。通过定期备份数据库,可以在数据丢失时快速恢复到最近的备
- (动态规划)2915. 和为目标值的最长子序列的长度
蹉跎x
力扣数据结构leetcode算法
给你一个下标从0开始的整数数组nums和一个整数target。返回和为target的nums子序列中,子序列长度的最大值。如果不存在和为target的子序列,返回-1。子序列指的是从原数组中删除一些或者不删除任何元素后,剩余元素保持原来的顺序构成的数组。示例1:输入:nums=[1,2,3,4,5],target=9输出:3解释:总共有3个子序列的和为9:[4,5],[1,3,5]和[2,3,4]
- MySQL的主从同步
m0_74536424
Linux学习笔记mysqllinux运维数据库
MySQL的主从同步1.MySQL中从同步原理简介MySQL主从同步是一种数据库复制技术,它可以将一台MySQL数据库(称为主服务器)的数据复制到另一台或多台MySQL数据库(称为从服务器)。主从同步可以用于以下目的:主服务器将所有数据变更记录到二进制日志(binlog)中。从服务器连接到主服务器,并从主服务器的二进制日志中获取数据变更信息。从服务器将获取到的数据变更信息应用到自己的数据库中,从而
- 【云原生之Docker实战】使用Docker部署Traefik开源边缘路由器
江湖有缘
docker云原生开源
【云原生之Docker实战】使用Docker部署Traefik开源边缘路由器一、Traefik介绍1.Traefik简介2.Traefik特点二、检查宿主机系统版本三、检查本地docker环境1.检查docker服务状态2.检查docker配置信息3.开启IPv4forwarding4.检查Docker版本四、安装docker-compose1.下载docker-compose二进制包2.给文件增
- 【云原生之Docker实战】使用Docker部署Owncloud开源个人云盘系统
江湖有缘
docker云原生开源
【【云原生之Docker实战】使用Docker部署Owncloud开源个人云盘系统一、Owncloud介绍二、检查宿主机系统版本三、检查本地docker环境1.检查docker服务状态2.检查docker配置信息3.开启IPv4forwarding四、安装docker-compose1.下载docker-compose二进制包2.给文件增加执行权限3.检查docker-compose版本五、部署O
- 比尔盖茨自述:中学时期就开始偷偷996写代码
量子位microsoft
57年前的西雅图冬夜,一个瘦削少年翻出卧室窗户,奔向名为“C的立方”的计算机实验室。比尔·盖茨不会想到,这段在寒夜中追逐代码的岁月,正悄然叩响数字时代的大门。当湖滨中学的编程少年们以无偿劳动换取珍贵的上机时间时,一场改变人类文明进程的变革已在晶体管与二进制中孕育——在这个数字时代的黎明,一群年轻的先驱者站在了浪潮之巅,他们以智慧和勇气,开辟了一个全新的领域:个人计算机软件。几乎与此同时,远在英特尔
- 基于 Rust 与 GBT32960 规范的编解码层
编码浪子
Rust学习rustjava开发语言
根据架构设计,实现编解码层的代码设计Cargo.toml加入二进制序列化支持#序列化支持...bincode="1.3"#添加二进制序列化支持bytes-utils="0.1"#添加字节处理工具开始编码错误处理(error.rs):定义了编解码过程中可能遇到的错误类型,使用枚举定义usethiserror::Error;#[derive(Error,Debug)]pubenumCodecError
- MySQL 教程(超详细,零基础可学、第一篇)
AA-老高(接毕设)
开发资料mysql数据库
目录一、MySQL数据库概述二、MySQL连接1、使用MySQL二进制方式连接2、使用PHP脚本连接MySQL三、MySQL创建数据库1、使用mysqladmin创建数据库2、使用PHP脚本创建数据库四、MySQL删除数据库1、使用mysqladmin删除数据库2、使用PHP脚本删除数据库五、MySQL选择数据库1、从命令提示窗口中选择MySQL数据库2、使用PHP脚本选择MySQL数据库六、My
- Ubuntu:APT软件包管理器
Good_Starry
Ubuntuubuntulinux
APT(AdvancedPackagingTools)是Debian及其派生Linux的软件包管理器,可以自动下载,配置,安装二进制或者源代码格式的软件包,因此简化了Unix系统上管理软件的过程。1、用法:apt[选项]命令命令行软件包管理器apt提供软件包搜索,管理和信息查询等功能。它提供的功能与其他APT工具相同(像apt-get和apt-cache),但是默认情况下被设置得更适合交互。2、常
- 算法比赛中的构造题及一些经典套路
小王Jacky
编程算法提高(c++)算法
什么是构造构造题的定义构造要求解题者通过观察问题的结果的规律,找到一种通用的方法或者模式,使得问题规模增大时,依然能够高效地得到答案如何解决构造题1.状态转移:在动态规划问题中,状态转移是核心概念。你需要考虑如何从一个状态转移到另一个状态,并且这种转移会带来什么影响。这通常涉及到定义状态、状态转移方程和边界条件。2.模式识别:在解决构造题时,尝试识别问题中的模式或特征。这有助于你更好地理解问题的本
- 文件上传和下载前后端交互逻辑
前端_yu小白
笔记文件上传下载
上传】1、后端给前端一个上传接口:进行文件上传,上传成功后,该接口返回文件的路径,名称,id2、表单提交接口,提交表单时,将文件的id和表单信息一块提交给后台,实现文件和表单的绑定下载】后端给前端提供一个下载接口,前端调用后,返回二进制文件流。具体请求和接收文件流的方式,参考我之前另一篇博客:后端返回字节流,前端接收下载_后端返回字节数组,前端下载-CSDN博客
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found