
ACM
文章平均质量分 77
xiancaifu
这个作者很懒,什么都没留下…
展开
-
POJ题分类
<br />北大ACM题分类<br /> 主流算法:<br /> 1.搜索 //回溯<br /> 2.DP(动态规划) <br /> 3.贪心 <br /> 4.图论 //Dijkstra、最小生成树、网络流<br /> 5.数论 //解模线性方程<br /> 6.计算几何 //凸壳、同等安置矩形的并的面积与周长<br /> 7.组合数学 //Polya定理<br /> 8.模拟 <br /> 9.数据结构 //并查集、堆<br /> 10.博弈论 <br /> 1、 排序<br /原创 2010-08-09 08:30:00 · 601 阅读 · 0 评论 -
整数划分算法原理与实现
整数划分问题是将一个正整数n拆成一组数连加并等于n的形式,且这组数中的最大加数不大于n。 如6的整数划分为 6 5 + 1 4 + 2, 4 + 1 + 1 3 + 3, 3 + 2 + 1, 3 + 1 + 1 +转载 2011-08-30 17:31:40 · 1824 阅读 · 0 评论 -
母函数(Generating function)详解
母函数(Generating function)详解其实就是直接用C语言 对 多项式 的 乘法 做了模拟,自己在纸上 用笔模拟程序运行过程演算下差不多 能明白过程了。。。 前段时间写了一篇《背包之01背包、完全背包、多重背包详解》,看到支持的人很多,我不是大牛,只是一个和转载 2011-08-24 18:56:14 · 672 阅读 · 0 评论 -
STL中的常用的vector,map,set,Sort用法
C++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库。容器往往包含同一类型的数据。STL中比较常用的容器是vector,set和map,比较常用的算法有Sort等。.一. vector1.声明:转载 2011-08-25 11:57:54 · 498 阅读 · 0 评论 -
《计算机算法设计与分析》第二版 王晓东 “最大m字段和优化函数”——P57注释
之所以想到要注释一下,没别的意思,只是因为几个月前刚学DP,完全看不懂,前几天费了几个小时终于看懂了,注释下来,能使自己整理一下思路,也作为自己的一篇日记。当时我能看懂时间和空间均为O(MN^2)的函数,但可能由于自己看书是直接从动态规划一章看起,书上对于经过优化的函数也没有转载 2011-09-19 19:20:28 · 4936 阅读 · 2 评论 -
最大m子段和
最大m子段和问题:给定由n个整数(可能为负)组成的序列a1、a2、a3...,an,以及一个正整数m,要求确定序列的m个不想交子段,使这m个子段的总和最大! 设b(i,j)表示数组a的前j项中i个子段和的最大值,并且第i个子段包含a[j](1在这种定义下b(i转载 2011-09-19 16:11:50 · 7148 阅读 · 1 评论 -
最大子段和——分治与动态规划
问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+转载 2011-09-15 20:56:52 · 1338 阅读 · 0 评论 -
读《算法导论》的计划
主要目标:重广度,重原理。说明:有些章节鉴于难度过大或应用不广暂不包含在内。基础知识部分:1,2章,熟悉这本书的风格以及一些符号表示的意思。排序和统计:6 堆排序,7 快速排序,8 线性时间排序,9 顺序统计 —————— 一周时间应该没问题数据结转载 2011-09-10 23:40:38 · 885 阅读 · 0 评论 -
(转)筛选法求素数
所谓“筛选法”指的是“埃拉托色尼(Eratosthenes)筛法”。他是古希腊的著名数学家。他采取的方法是,在一张纸上写上1到100全部整数,然后逐个判断它们是否是素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。具体做法如下: 先将1挖掉(因为1不是素数)。 用原创 2011-09-09 16:46:06 · 859 阅读 · 0 评论 -
ACM的输入输出
关于ACM的输入输出(一)写给第一次参加现场赛的同学们一般来说ACM的现场赛会规定输入输出或者是文件输入标准输出也可能是文件输入文件输出如果没有规定的话那么一般就是标准的输入输出了那说一下输入输出的重定向一般用下面两种方法c++常用:#include ifstream filei转载 2011-07-21 13:10:00 · 1418 阅读 · 0 评论 -
并查集--学习详解 (例hdu1232畅通工程)
昨天和今天学习了并查集和trie树,并练习了三道入门题目,理解更为深刻,觉得有必要总结一下,这其中的内容定义之类的是取自网络,操作的说明解释及程序的注释部分为个人理解。 并查集学习:l 并查集:(union-find sets)一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:实现Kruskar算法求最小生成树。l 并查集的精髓(即它的三种操作,结合实现代码模板进行原创 2011-03-13 15:26:00 · 910 阅读 · 0 评论 -
C++ 排序函数 sort(),qsort()的用法
想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~所以自己总结了一下,首先看sort函数见下表: 函数名 功能描述 <br />sort 对给定区间所有元素进行排序 <br />stable_sort 对给定区间所有元素进行稳定排序 <br />partial_sort 对给定区间所有元素部分排序 <br />partial_sort_copy 对给定区间复制并排序 <br />nth_element 找出给定区间的某个位置对原创 2011-03-09 19:30:00 · 679 阅读 · 0 评论 -
七种qsort排序方法
<br /><本文中排序都是采用的从小到大排序> <br /><br />一、对int类型数组排序 <br /><br />int num[100]; <br /><br />Sample: <br /><br />int cmp ( const void *a , const void *b ) <br />{ <br />return *(int *)a - *(int *)b; <br />} <br /><br />qsort(num,100,sizeof(num[0]),cmp); <br /><原创 2010-12-25 13:27:00 · 433 阅读 · 0 评论 -
杭电ACM试题分类
<br />注:网上搜的<br />第一篇 <br /><br />1001 这个就不用说了吧<br />1002 简单的大数<br />1003 DP经典问题,最大连续子段和<br />1004 简单题<br />1005 找规律(循环点)<br />1006 感觉有点BT的题,我到现在还没过<br />1007 经典问题,最近点对问题,用分治<br />1008 简单题<br />1009 贪心<br />1010 搜索题,剪枝很关键<br />1011 <br />1012 简单题<br />1原创 2010-12-14 19:22:00 · 2262 阅读 · 0 评论 -
[转]数论知识(1)
<br />1.怎样判断一个数能不能被8或125整除?<br /> 一个数能不能被8或125整除,要看这个数的末三位,这个数的末三位是8或125的倍数,这个数就能被8或125整除。<br /> 由于1000=8×125,1000既是8的倍数,也是125的倍数,所以,凡是一个三位以上的多位数,只要末三位数都是0,这个数就一定能被8和125整除。<br /> 例如:<br /> <br /> 6048能被8整除,4375能被125整除,86000既能被8整除,又能被125整除,759原创 2010-12-10 14:52:00 · 966 阅读 · 0 评论 -
poj 1012 Joseph解题报告
<br />题目链接http://acm.pku.edu.cn/JudgeOnline/problem?id=1012<br />这题的大意就是2*k个人围成一个圆圈从1开始报数报到到m的杀死,要使得编号为k——2*k-1的k个坏人先被杀死,求满足题意的最小的m<br />其中0<K<15<br />最初的想法是模拟,完全模拟报号过程<br />#include <cstdio><br />bool flag[30];<br />int k,start,m,last;<br />int ans[15];<b原创 2010-08-09 13:51:00 · 784 阅读 · 0 评论 -
C++ sort函数用法
FROM:http://hi.baidu.com/blackdemonfish/blog/item/e2c1d655d702a45ed0090652%2Ehtml最近算法作业经常需要排序。偶是一个很懒的人,于是一直用C++的sort进行排序~~~不少同志对此心存疑虑,所以今天转载 2011-09-28 21:20:23 · 815 阅读 · 0 评论