题目大意:
给你一个包含N个整数的序列,只能通过交换相邻的数字,最终变为升序顺序,问:最少需要多少次交换。
思路:
其实就是问冒泡排序的交换次数。其实就是求原序列的逆序数。用归并排序、线段树、树状数组都可以做。
但是如果用线段树和树状数组来做的话,因为元素个数是500000,但是元素值范围却是999999999,需
要先离散化。这里用间接排序的方法。用一个数组Arr[]存放原序列的值,另一个数组Id[]存放原序列编号
(1~N),对Id[]按Arr[]元素值的从大到小排序,得到Arr[]数组元素的相对大小...
分类:
编程语言 时间:
2015-05-13 16:50:31
阅读次数:
141
推荐几个好用的开源项目...
分类:
移动开发 时间:
2015-05-13 16:50:44
阅读次数:
148
题意:每个数只有0,1两种可能,给出两两之间的AND,OR,XOR的值,判断有没有解
裸题。
#include
#include
#include
#include
using namespace std;
const int N = 2010;
struct Edge
{
int v,next;
}es[N*N];
int head[N];
int n,m;
int tmp[N],...
分类:
其他好文 时间:
2015-05-13 16:51:19
阅读次数:
150
Java:
在不同的系统中,路径的分隔符不同,故需要做出判断,并切换分隔符;
String类中replaceAll方法如下:
String.replaceAll(String regex,String replacement),replaceAll() 方法要用 4 个反斜杠,表示一个反斜杠;
1. java 把字符串中的反斜杠(\)替换成双斜杠(\\)
replac...
分类:
编程语言 时间:
2015-05-13 16:51:58
阅读次数:
127
最近开始使用mac,用iterm2的终端,有些快捷键纪录下。
标签
新建标签:command + t
关闭标签:command + w
切换标签:command + 数字 或者 command + 左右方向键
切换全屏:command + enter
查找:command + f
分屏
垂直分屏:command + d
水平分屏:command + shift + d
切换屏幕:command +...
分类:
其他好文 时间:
2015-05-13 16:49:55
阅读次数:
128
本文结合MemStoreFlusher分析了MemStore刷写的触发机制及内部实现...
分类:
编程语言 时间:
2015-05-13 16:49:37
阅读次数:
175
WordPress使用get_option()来获取通过option表单设置值的方法,如果数据库中不存在该选项,或者改选项的值为空,那么将会返回一个false。
通过get_option获得的值通常都可以在后台的"菜单"->"常规"中获得。而且它们内容如下:
admin_email 管理员的email地址
blogname 网站title标题
...
分类:
其他好文 时间:
2015-05-13 16:51:45
阅读次数:
155
题意:
有两个人玩一个石头剪刀布的游戏,两个人连续玩N轮,给出其中一个人的N轮出的情况和该人对另外一个人的一些限制条件,有两种限制:每种限制表示为:(a,b,c) ,如果c==0 则表示该人对另外一个人的限制为第a局和第b局出的应该一样,如果c==1表示不一样,问另外一个人是否有赢(规定每轮都不输就称赢)的可能。
思路:所以可以推出每轮必须出能平或赢的动作(两种选择)所以是2-sat。再找...
分类:
其他好文 时间:
2015-05-13 16:51:54
阅读次数:
120
ASP.NET平台中,用JavaScriptSerializer将返回的数据序列化,若返回的数据非常大,则可能会报如下错误:
Exception information:
Exception type: InvalidOperationException
Exception message: Error during serialization or deserialization usin...
分类:
编程语言 时间:
2015-05-13 16:50:58
阅读次数:
151
题目大意:Tom学会了通过写程序求出一个1-n的排列的逆序对数,但他的老师给了他一个难题:
给出一个1-n的排列,求所有字典序比它小的1-n的排列的逆序对数之和。
Tom一时不知道该怎么做,所以他来找你帮他解决这个问题。
因为数可能很大,答案对109+7取模。
解题思路:从1到n枚举k,表示当前要计算的排列与读入的排列前k-1项相同,而第k项不同。对于每一个k,再枚举一个t,表示当前要计算的...
分类:
其他好文 时间:
2015-05-13 16:48:23
阅读次数:
193
使用字面量语法创建数组
//good
var items = [];
//bad
var items = new Array();
当需要添加数组元素时,使用push而不是直接添加
var items = [];
//good
items.push('abc');
//bad
items[items.length] = 'abc';
当需要复制数组时,可以使用slice.
var len...
分类:
编程语言 时间:
2015-05-13 16:48:54
阅读次数:
183
对Intellij IDEA是又爱又恨呀,爱的比myeclipse用起来爽手多了,恨的是刚开始用还不是很习惯。
偶尔启动Debug模式用Tomcat来调试会报以下错误:
Unable to open debugger port (127.0.0.1:63777): java.net.BindException "Address already in use: JVM_Bind"
困扰了我...
分类:
编程语言 时间:
2015-05-13 16:48:11
阅读次数:
1144
函数返回局部变量,是返回局部变量的值。但指针(或地址)是一种特殊的值,所以返回局部指针变量需要特别注意。正确情况下,作为函数返回值的局部指针,其所指向对象的作用域应该是调用者作用域、全局或静态常量区;指向栈空间对象的指针作为返回值,存在潜在的错误。
1. 返回局部值变量
[cpp] view plaincopy
int num(void) { ...
分类:
其他好文 时间:
2015-05-13 16:50:03
阅读次数:
139
使用range()和默认参数控制嵌套列表打印格式#nester.py
def print_lol(the_list,level=0):
for item in the_list:
if isinstance(item,list):
print_lol(item,level+1)
else:...
分类:
编程语言 时间:
2015-05-13 16:49:29
阅读次数:
119
题意:
一个演员要拍n部电影,每部电影只能在一周的特定几天拍(如周2,周4,周5),第i部电影要拍di天,必须要在wi周拍完,问演员是否可以完成任务。
分析:
建二分图,转化为二分图的多重匹配。
代码:
//poj 1698
//sep9
#include
using namespace std;
const int maxX=64*7;
const int maxY=64;
int ...
分类:
其他好文 时间:
2015-05-13 16:48:58
阅读次数:
139
首先去官网http://www.genymotion.net/下载Genymotion并安装好。
其次打开AS的设置界面,找到Plugins插件目录
然后在搜索里搜Genymotion,然后点击Browse.....,就会在右边出现提示你安装Genymotion插件,点击安装即可。
安装完毕后会提示你重启AS,点击重启。
第二次打开AS后会在工具栏中出现Genymotion的小图标...
分类:
移动开发 时间:
2015-05-13 16:49:55
阅读次数:
142
官网:www.mongodb.org
中文社区:www.mongoing.com
在线教程:https://university.mongodb.com/
mongodb支持传统的master-slave架构。没有自动故障转移功能,需要指定master和slave端。强烈推荐使用复制集架构,复制集架构比复制架构更好维护,功能更强。
故障切换
复制集通过选举来从当前主节点不可用...
分类:
数据库 时间:
2015-05-13 16:47:49
阅读次数:
302