我的思路是这样的:
枚举正确的个数i,然后从n个位置中选择i个位置,C(n,i)
那么剩下的n-i个位置,都不是答案,我们暂时成为错位排列
现在的难点就在于,如何球错位排列
设F[i]表示i个数字,错位排列的种类数
那么,先只考虑前i-1个数字错位排列,暂时在第i个位置把数字i放上,此时是不合法的因为i第i个位置不能放i,所以要考虑把i和其他数字调换位置
在前i-1个位置中,选...
分类:
其他好文 时间:
2015-08-14 22:49:37
阅读次数:
236
题目:有n个上午的任务和下午的任务,分配给司机,如果工作总时间超过d,超过的部分要给加班费; 现在让你安排任务,问最小的加班分花费。
思路:将下午的工作时间a按降序排序,晚上时间b按升序排序,不难发现只有将这两组按下标一一配对才能是总花费最小(将任意b[i],b[j]调换位置都不如原来的方案更优)...
分类:
其他好文 时间:
2015-06-21 13:09:36
阅读次数:
186
对排序的实现思路有两种第一种:1.构建最小堆。2.将最小堆的堆顶元素取出放到辅助数组的0号下标。3.重新调整成最小堆(向上调整) 4.重复2-3第二种:1.构建最大堆。2.将堆顶元素(0号)与最后一个元素调换位置。3.最后一个元素不变,剩下的数据调整成最大堆。 4.重复2-3。这里用的是第二种方式。...
分类:
编程语言 时间:
2015-05-27 00:58:17
阅读次数:
140
//冒泡排序(一维数组)function bubble_sort($array){$count = count($array);if ($count $i; $j--){//如果后一个元素小于前一个,则调换位置if ($array[$j] < $array[$j-1]){$tmp = $array[...
分类:
编程语言 时间:
2015-04-29 19:03:35
阅读次数:
159
1. 小数默认为double类型。
2. 逻辑运算符:&&,||,!,&,|,^
3. 位运算:
& ,|,^,~,《《,》》,》》》
a^b^b = a(得到本身)
位运算是最快的运算方法
两个数值的调换位置的方法:
1.设置一个变量
int a = 1,b = 2,c;...
分类:
其他好文 时间:
2015-02-21 09:45:44
阅读次数:
273
Problem 2154 YesOrNo
Accept: 129 Submit: 283
Time Limit: 1000 mSec Memory Limit : 32768 KB
Problem Description
A国认为如果字符串a可以通过操作X变成字符串b,就认为是一样的字符串。
操作X:将字符串分为两部分,然后调换位置,操作次数不限。W=xy,...
分类:
其他好文 时间:
2015-02-06 09:39:00
阅读次数:
153
非常好的一个题目,CF上的DP都比较经典题意就是 给定一个串A,B,正好执行K次操作,每次操作可以把 A串从中间切开,并调换两部分的位置,问最后得到B串共有多少种不同的切法(只要中间有一次不同,即视为不同)首先,题目的一个关键点一定要抓到,就是 ,不管怎么切 然后调换位置,其实串根本没变,你把串想成...
分类:
其他好文 时间:
2014-08-10 15:38:50
阅读次数:
226
在安卓中,listview 的item 是一个不断被轮询调换位置的过程,这样即图片参考地址 http://www.cnblogs.com/mybkn/archive/2012/05/23/2514681.html 谢谢。开发中 ,我们经藏会遇到listview 的每一项都不同的需求。 这个时候如.....
分类:
移动开发 时间:
2014-07-18 16:03:00
阅读次数:
327