codility上的问题(15) Xi 2012】的更多相关文章

这是我目前最喜欢的codiltiy上的问题之一.问题描述是:给定一个整数数组A,所有的数均不相同.假设下标从0开始,找到一个数组B, 满足A[B[0]] > A[B[1]] > A[B[2]] >...A[B[K]],对任意两项A[B[i]]和A[B[i + 1]],任意j,  min(B[i],B[i + 1]) < j < max(B[i],B[i + 1]) 均有A[j] < A[B[i + 1]] ,求最大的K. 例如,对数组 A, A[0] = 9 A[1]…
进入2012年的题 codility上的题目开始变难,变得有意思起来.给定两个长度在[1..300000]的只包含0和1的串S和T,它们是2进制表示的,S表示的数A不大于T表示的数B,即A<=B,且A > 0.还有一个参数是K, 1<=K<=30,问[A..B]之间有多少个数满足它们的2进制表示任意两个1之间至少有个0.(如果一个数2进制表示只有1个1,认为它是满足条件的). 结果 对  1000000007取模. 要求复杂度:时间空间都是O(log(A +B)) 分析: 我们求[…
codility上面添加了教程.目前只有lesson 1,讲复杂度的……里面有几个题, 目前感觉题库的题简单. tasks: Frog-Jmp: 一只青蛙,要从X跳到Y或者大于等于Y的地方,每次跳的距离为D,问至少跳几次. X,Y,D都是[1..10^9]的整数. 要求时间空间复杂度O(1). 这个题比较简单,就是做除法嘛,我们不知道X是否已经不小于Y了,我加了个判断,不过也就一句话. 代码: // you can also use includes, for example: // #incl…
题目: 像最大直方图一样给定一个数组是每个单位长度上的高度,求至少几个矩形可以拼出这个形状. 例如:给出的数组 H[0] = 8 H[1] = 8 H[2] = 5 H[3] = 7 H[4] = 9 H[5] = 8 H[6] = 7 H[7] = 4 H[8] = 8 因为可以用如上的7块可以达到要求. 输入范围: n [1..10^5] 数组种每个元素 [1..10^9] 要求复杂度 时间 空间都为O(n). 分析: 这个问题实际上叫做skyline problem.初步想想挺复杂,其实一…
这个题也比较有意思.意思是给定一个数组A,长度为M,里面都是正整数,代表每块地形的高度.现在要测试一种加农炮,给定一个炮弹的高度H, 如果存在最小的I,满足0 < I <  M,满足A[I] >= H,则炮弹会被挡住,于是A[I - 1]的高度会增加1.如果H <= A[0],则这个炮弹无效,如果H > 所有的A[I],这个炮弹也无效.现在再给定N个整数的数组B代表炮弹高度,计算出最后地形的样子. 数据范围: M和N的范围[0..30000] A和B中元素的高度[0..10^…
比较无聊的题,求斐波那契数的第N^M项. f(0) = 0, f(1) = 1, f(n) = f(n - 1) + f(n - 2),结果对10000103取模. N, M在[0..10^7]之间.要求复杂度:时间O(log(N * M)),空间O(1). 分析: fib数取模有周期,并且对质数的周期一定是从最开头开始.也就在对P取模下,一定有f(T) == f(0).关于周期的求法有原根之类的方法……但是本题直接暴力就行.算得 T = 20000208.后面就是矩阵乘方了. 代码: // y…
这个题比较简单,给定一个整数数组,对每个元素,求出和它最近比它大的数的距离(下标绝对值),如果没有比它大的数,认为距离是0. 数组元素个数 N [0..50000],数组元素范围[-10^9, +10^9]. 要求复杂度 时间 空间 都是O(N). 分析: 这个题比较简单吧.跟直方图最大矩形差不多,类似于求左右边界.求左边界的话记住,有这个数在的话,比它更早的并且比它小的数都没有意义(因为有这个数存在,而它又很大,右边的数往左找的话会先选择这个数).于是栈内元素是单调递减的,求右边界类似. 代码…
从正整数1开始,产生一个数列,数列中的每个数是之前出现过的任意两个数的和(可以相等),问产生正整数A,需要的数列长度至少是多少?返回这样一个最短的序列. 例如A=42 可以这样[1, 2, 3, 6, 12, 24, 30, 42],也可以[1, 2, 4, 5, 8, 16, 21, 42],后者是最短的.A不大于600. 分析: 本题没规定时间.空间复杂度.因为本题只能暴力搜索,但是一般的实现会超时,需要一些剪枝.首先保证数列严格单增.另外,我们用迭代加深dfs做的时候,注意看一下剩余的长度…
codility出了lesson 5了. (1) 合法括号序列,包括( [ { ) ] }这6种字符的字符串,长度N在[0..200000]范围内,为其是否合法. 要求时间复杂度O(N),空间复杂度O(N). 用堆栈简单判断就可以了. // you can also use includes, for example: // #include <algorithm> #include <stack> int solution(const string &S) { // wr…
好久没写codility的题了.一来没时间,二来有的题目不太好分析.这个题比較有意思,我还没有给出很严格的证明.…
问题描述: 用1 * 1, 1 * 2的矩形覆盖一个n行m列的矩形,问有多少种方法. 数据范围 : n [1..10^6],  m [ 1..7] 要求复杂度: 时间  O(log(n) * 8 ^m))  空间  O(4^m) 分析:这个题跟之前那个木块砌墙问题一样…… 稍作修改即可,又是矩阵乘法. http://blog.csdn.net/caopengcs/article/details/9928061 代码: // you can also use includes, for examp…
今天发现又出了lesson 3... 不过题目都很简单…… (1) Min-avg-slice 给定一个长度为n的整数数组,找到一个连续的子数组,数组元素的平均值最小. 数据范围N [1..10^5],数组元素范围[-10^4, +10^4]. 要求复杂度: 时间O(N),空间O(N). 分析: 就是求最小值……因为如果拉进别的数,平均值会增大,干嘛搞成这样,空间可以O(1).说得神乎其神的…… 代码: // you can also use includes, for example: //…
题目,挺无聊的.一个裸的最短路.n个点,你住在0,要去买东西,每个点有一个关门时间,问能最早买到食物的时间.有两点注意 (1)有重边 (2) 原图是dicrect连接...但不是有向边,被这个误导了.direct当直接讲……原图无向图.后面就是裸的dijkstra算法. 数据范围 点 N [0..100] 不知道为啥还有0.... 连边 数 M [1..10000] 连边按3元祖给书 A 里面数据范围  [0..99] B 里面数据范围 [0..99]是节点 C [0..10^5]表示从A到B的…
参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业及应用>.度娘谷歌等. 前言: 前一篇只简单的介绍了ASP.NET和ASP.NET MVC,有朋友说要点干货.好吧.那就来点干货. 正好我也是真心想系统性的整整MVC4和5,以前也没有深入弄过,所以这次我也是豁出去了,相关的书都入手了,只求最精. 人家双11都是买吃的喝的用的装逼的.咱们这些程序员却..…
[基于最新的Android4.4的源码分析] 每家公司或者每个移动团队无不想开发出一套自己的UI框架,融入自己的设计和特性,这必然会去修改android的ui.所以,学习和理解android的UI设计是最基础和非常有必要的.android ui设计最重要的就是主题和样式. 1.位置在Android的frameworks/base/core/res/res/values目录下有一下几个文件: themes.xml themes_device_defaults.xml styles.xml styl…
使用技术:Asp.net MVC与jquery.uploadify,Jcrop 首先上页面 01 <strong><!DOCTYPE html> 02  <html> 03  <head> 04      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 05      <title>Index</t…
转载自:http://www.cnblogs.com/lyhabc/p/4682986.html 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html 第二篇http://www.cnblogs.com/lyhabc/p/4682028.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第三篇,这一篇才真正开始搭建AlwaysOn,前两篇是为搭建Al…
SQL Server 2012 读写分离设置 - AlsoIn 时间 2014-07-21 17:38:00  博客园-所有随笔区 原文  http://www.cnblogs.com/also/p/3858887.html 主题 SQL ServerSQL 引用: http://technet.microsoft.com/zh-cn/library/jj161766.aspx 微软新一代数据库产品SQL Server 2012已经面世一段时间了,不管从功能还是性能上讲,较之其早期产品都有了很大…
近期在做一个工作日历,想在日历上设置工作日,显示请假.加班等相关信息,显示农历日期信息(包括农历日期.节日 .节气).公历信息(节假期). 不能不说,http://www.cnblogs.com/hocylan/archive/2007/11/16/961218.html 这篇博文对我的帮助良多.但是 我也发现了一些问题.包括几下3个点: 首先,就是"0100 除夕"这个节日并不能被显示出来,无论是对于农历12月29是一年最后一天,还是12月30是最后一天. 我的解决方法是将这条数据改…
原文链接:https://my.oschina.net/leejun2005/blog/1524687   摘要: 本文主要针对 Java 服务而言 0.背景 经常做后端服务开发的同学,或多或少都遇到过 CPU 负载特别高的问题.尤其是在周末或大半夜,突然群里有人反馈线上机器负载特别高,不熟悉定位流程和思路的同学可能登上服务器一通手忙脚乱,定位过程百转千回. 对此,也有不少同学曾经整理过相关流程或方法论,类似把大象放进冰箱要几步,传统的方案一般是4步: top oder by with P:10…
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flash的支持 [3]—— IE11 新的GPO设置 [4]—— IE企业模式介绍 [5]—— 不跟踪(DNT)例外 [6]—— Internet Explorer 11面向IT专业人员的常见问题 [7]—— Win7和Win8.1上的IE11功能对比 [8]—— Win7 IE8和Win7 IE11对比…
基于Windows Server 2008 R2的WSFC实现SQL Server 2012高可用性组(AlwaysOn Group) 2012年5月 微软新一代数据库产品SQL Server 2012已经面世一段时间了,不管从功能还是性能上讲,较之其早期产品都有了很大提升.特别是其引入高可用性组(AlwaysOn Group, AG)这一概念和功能,大大增强和提高了SQL Server的可用性,在之前的镜像数据库的基础上有了质的变化. SQL Server 2012高可用性组在实现过程中较之早…
原文转至:http://www.tuicool.com/articles/a6rmiam/ 引用: http://technet.microsoft.com/zh-cn/library/jj161766.aspx 微软新一代数据库产品SQL Server 2012已经面世一段时间了,不管从功能还是性能上讲,较之其早期产品都有了很大提升.特别是其引入高可用性组(AlwaysOn Group, AG)这一概念和功能,大大增强和提高了SQL Server的可用性,在之前的镜像数据库的基础上有了质的变化…
AlwaysOn取数据库镜像和故障转移集群之长.AlwaysOn不再像故障转移集群那样需要共享磁盘,从而主副本和辅助副本可以更容易的部署到不同的地理位置:AlwaysOn还打破了镜像只能1对1的限制,支持最多5个可用性伙伴,使得辅助副本不仅能用于高可用性的目的,还能用于只读访问,甚至可以在辅助副本上进行数据库备份. 花了2天时间配置always on高性能组件:1,在一台服务器上升级成域服务器(测试用的Win 2008 R2),配置3个域账号,作为目标服务器的登陆用户 2,安装一台服务器的“故障…
前言 注:本文内容摘自维基百科,用于在墙内时当作笔记看. WinForm 需要.Net最低版本 2.0 WPF需要的.Net最低版本 3.0 (Win7及之上版本自带) C#版本 版本 语言规格 日期 .NET框架的版本 Visual Studio的版本 ECMA ISO/IEC Microsoft C# 1.0 2002年12月 2003年四月 2002年一月 2002年一月 .NET Framework 1.0 Visual Studio .NET 2002 C# 1.2 2003年十月 2…
最近一直在看SQL Server的书,不过看的都是基础的查询流,查询在工作中用到的最多,所以能正确地查询出想要的数据也是很重要的嘛. 在书上看到在SQL Server 2012新增了一种实现分页的查询方法,感觉比原来的方便一点,因此记录一下,如能帮助到大家,也是非常开心的~ 以前分页的时候,我基本都是用ROW_NUMBER()函数,和在WHERE语句中用BETWEEN AND 来实现的:每次都得写子查询,感觉挺麻烦的,例: SELECT * FROM ( SELECT ID, ROW_NUMBE…
在操作系统Win7上安装SQL Server 2012时,报如下错误: 也就是说SQL Server 2012如要要安装在Windows 7 上,则至少需要安装SP1补丁.否则就会弹出上面提示信息.关于安装SQL Server 2012的硬件和软件的要求,MSDN有详细的说明:下面内容摘抄自MSDN :http://msdn.microsoft.com/library/ms143506(SQL.110).aspx 有兴趣的可以参阅. 以下各节列出了安装和运行 SQL Server 2012 的最…
Changing SID Server 2012  Windows Server > Windows Server 2012 General Question 0 Sign in to vote Hello, In Server 2008, to be able to create new VM using same (copied) VHD, we had to use SYSREP to change SID or 3rd party tools, if we wanted to join…
最简单的做法是通过“connect-multiparty”中间件实现上传. 通过在项目中npm install connect-multiparty进行安装. 用法: var multipart = require('connect-multiparty'); var multipartMiddleware = multipart(); app.post('/upload', multipartMiddleware, function(req, resp) { console.log(req.b…
随着业务数据的不断增大,单表的数量已经上亿,查询的数据越来越慢,所以考虑到将数据库表分区,同时也将数据库升级到SQL Server 2012. 当时没有考虑更多,在服务器上安装了 SQL Server 2012 standard edition 版本.在测试数据的时候发现不支持分区,必须要企业版, 这里记录一下如何将 Standard edition 升级到企业版. 1. 找到原先的安装文件,运行Setup.exe 运行如上界面,点击维护,点击右侧版本升级. 2.  紧接着下一步 下一步 到了如…