快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A[0]… ...
分类:
编程语言 时间:
2017-08-02 10:22:27
阅读次数:
127
题目链接:Codeforces Round #427 (Div. 2) D. Palindromic characteristics 题意: 给你一个串,定义k-th回文串,让你求每个k-th的数量。 题解: manacher处理好后做一下dp就行了。 当然也可以直接dp不用manacher. 1 ...
分类:
其他好文 时间:
2017-08-02 10:17:43
阅读次数:
150
本来想一次补完的(正常应该补两次的)但是晚上玩dota2和rpg去了然后……又堕落了啊。 好吧进入正题,题目按照从易到难的顺序(个人感觉)其他题目现在对我来说太难了,以后再补。 A题 ZOJ 3878 水题,可以用map一个一个对应,比较麻烦就用了两个字符数组,要注意\和“要转义。 1 #inclu ...
分类:
其他好文 时间:
2017-08-02 00:39:13
阅读次数:
248
A: 如果n%2=0或2就是undefined,否则判一下转一下是否能到达状态 #include<bits/stdc++.h> using namespace std; int n; char s[10], t[10]; int main() { scanf("%s%s%d", s, t, &n); ...
分类:
其他好文 时间:
2017-08-01 20:37:51
阅读次数:
113
C#中有时候需要将内存中的数据批量插入到数据库表中,使用for循环进行批量插入不但耗时而且会频繁操作数据库。 针对数据量很少的可以使用for循环插入,但是针对于数据量大的则不推荐使用for循环插入,推荐使用sql的块处理插入。 块处理不但耗时少而且不会频繁对数据库进行操作,只是需要注意的一点是Dat ...
分类:
数据库 时间:
2017-08-01 19:22:48
阅读次数:
171
首先简单解释一下什么是声明式实现? 要做一件事, 需要知道三个要素,where, what, how。即在哪里( where)用什么办法(how)做什么(what)。什么时候做(when)我们纳入how的范畴。 1)编程式实现: 每一个要素(where,what,how)都需要用具体代码实现来表示。 ...
分类:
编程语言 时间:
2017-08-01 15:41:42
阅读次数:
215
递归:在一个函数里调用这个函数本身 修给递归的最大深度 递归实现三级菜单 1 menu = { 2 '北京': { 3 '海淀': { 4 '五道口': { 5 'soho': {}, 6 '网易': {}, 7 'google': {} 8 }, 9 '中关村': { 10 '爱奇艺': {}, ...
分类:
编程语言 时间:
2017-07-31 20:47:06
阅读次数:
165
一、递归的定义 函数的递归就是在一个函数内调用这个函数本身,python默认递归的最大层数是997。 二、递归实现三级菜单 1 def threeLM(dic): 2 while True: 3 for k in dic:print(k) 4 key = input('input>>').strip ...
分类:
编程语言 时间:
2017-07-31 20:11:24
阅读次数:
163
文章内容: socket介绍 socket参数介绍 流程描述 socket对象内建方法 基本socket实例 通过socket实现简单ssh并实现接收大数据 socket介绍 socket又称”套接字“,应用程序通常通过”套接字“向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程可以通讯 ...
分类:
编程语言 时间:
2017-07-31 13:31:29
阅读次数:
275
floyde+bitset 可以用tarjan+递推,复杂度n+m 但是我们也可以用传递闭包+bitset,复杂度n^3/32 就是通常floyde是k=1->n i=1->n j=1->n f[i][j] |= f[i][k] * f[k][j]但是我们发现floyde的两维数组可以用bitset ...
分类:
其他好文 时间:
2017-07-30 19:57:58
阅读次数:
124