码迷,mamicode.com
首页 >  
搜索关键字:数字交换    ( 39个结果
Swift开发学习-02 Swift技巧
一 两个数字交换算法1.算法1func swap(inout num1:int , inout num2:int){ num1 = num1 ^ num2 ; num2 = num1 ^ num2 ; num1 = num1 ^ num2 ;}var a = 20 var b = 10 s...
分类:编程语言   时间:2015-03-16 20:53:05    阅读次数:133
归并排序——计算逆序数
归并排序——计算逆序数归并排序用了分治的思想,时间复杂度o(N*logN)动态内存的运用可减小空间开销; 归并排序还可用于计算逆序数; 逆序数:序列中位置和大小相反的一对数字; 逆序数=冒泡排序中相邻两个数字交换的次数;int a[maxn],n;long long ans; //...
分类:编程语言   时间:2015-03-11 16:53:53    阅读次数:156
Good Bye 2014 B. New Year Permutation(floyd )
题目链接题意:给n个数,要求这n个数字小的尽量放到前面,求一个最小的。给一个矩阵s[i][j]==1,表示位置 i 的数字可以和 位置 j 的数字交换。分析:刚开始用的是3个循环,每次都找一个能直接连接的最小的放到前面,过了小数据,快结束的时候被hack了。其实不应该这么做,因为还有间接相连提前交换...
分类:其他好文   时间:2015-01-01 01:30:26    阅读次数:172
ZOJ 3829 Known Notation 贪心
主要的贪心思想就是,如果有一个不合法的*,那么再他前面加1或者2个数字的花费是不可能小于把它和后面的数字交换的,所以把不合法星号尽可能的往后放即可。这里我因为懒得特判,把每个情况都算了,不过n只有1000,n^2也是可以接受的。#include #include #include #include ...
分类:其他好文   时间:2014-10-17 21:44:37    阅读次数:136
ZOJ 3829 Known Notation --贪心+找规律
题意:给出一个字符串,有两种操作: 1.插入一个数字 2.交换两个字符 问最少多少步可以把该字符串变为一个后缀表达式(操作符只有*)。解法:仔细观察,发现如果数字够的话根本不用插入,数字够的最低标准为'*'的个数+1,因为最优是 '12*3*..' 这种形式,所以先判断够不够,不够就补,然后从左往....
分类:其他好文   时间:2014-10-14 21:14:09    阅读次数:158
zoj 3829 Known Notation(贪心)
题目链接:zoj 3829 Known Notation 题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。 解题思路:贪心,数字的个数要要保证比?的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到?-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是...
分类:其他好文   时间:2014-10-13 12:15:49    阅读次数:157
UVA 1016 - Silly Sort(置换分解+贪心)
UVA 1016 - Silly Sort 题目链接 题意:给定一个序列,数字都不同,每次可以交换两个数字,交换的代价为两数之和,要求出把这个序列变成递增最小代价 思路:利用置换的分解原理,可以把序列的每条循环单独考虑,对于每条循环而言,不断交换肯定每个数字至少会换到一次,再利用贪心的思想,如果每次拿循环中的最小值去置换,那么就是这个最小值会用长度-1次,而剩下的数字各一次,注意...
分类:其他好文   时间:2014-08-08 21:32:26    阅读次数:374
HDU 4911 http://acm.hdu.edu.cn/showproblem.php?pid=4911(线段树求逆序对)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911解题报告: 给出一个长度为n的序列,然后给出一个k,要你求最多做k次相邻的数字交换后,逆序数最少是多少?因为每次相邻的交换操作最多只能减少一个逆序对,所以最多可以减少k个逆序对,所以我们只要求出原来...
分类:Web程序   时间:2014-08-06 18:22:11    阅读次数:375
排序算法之冒泡排序
冒泡排序法是一种经典的、入门级的排序算法。它重复地遍历整个数组,对数组的元素进行两两比较,如果两数的顺序有误,则将两数字交换。 由于在比较的过程中,最小的数先变换到数列的顶端,其次是第二小的数……直至所有数字完成排序,因而得名冒泡排序。...
分类:其他好文   时间:2014-06-05 11:39:09    阅读次数:194
39条   上一页 1 2 3 4
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!