ACM
文章平均质量分 59
绚舞幻樱
这个作者很懒,什么都没留下…
展开
-
POJ 1056
#include #include #include #include #include using namespace std;vector v;string s;int main(){ int n = 0, i; bool flag; while (cin >> s) { if ( s[0] == '9'){原创 2013-05-03 16:50:46 · 681 阅读 · 0 评论 -
艰难的数位DP
数位DP 看起来感觉是很高端大气上档次的东东 可惜在两位师傅的指导下,我貌似还是不算太会,所以我下定决心好好学习数位DP,那么我先从水题HDOJ 2089开始简单介绍下数位DP:以【1, 56724】区间为例。第一位必须是0-4的情况下才会满足后四位是任意的数字;同理第二位必须是0-5的情况下彩绘满足后三位是任意的数字;以此类推下去。。。F(A,B) = F(B,0)-原创 2013-06-07 16:14:37 · 679 阅读 · 0 评论 -
DP背包问题
一. 01背包 题目:有N件物品和一个容量为V的背包,第i件物品的重量是w[ i ],价值是value[ i ].求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大. 01背包, 最简单的背包问题,背包问题的动态转移方程都是从01背包的动态转移方程转化过来的.故而01背包是最基础的背包问题.其特点是:每种物品原创 2013-05-03 17:00:42 · 644 阅读 · 0 评论 -
DP 重叠子问题 POJ 3280
以案例给出的abcb为例假定字符串abcb的子串ab,形成回文字符串有四种构造方法1.删除开头的a ab=>b2.删除结尾的b ab=>a3.在结尾增加a ab=>aba4.在开头增加b ab=>bab经过以上四种构造方法,便已然讲ab构成回文串的费用记录于数组中由以上类推,此dp的重叠子问题是:其实对于此题而言,我们只是操作开头和末尾两个字符原创 2013-05-04 21:06:56 · 810 阅读 · 0 评论 -
ACMer基础知识结构
初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:转载 2013-05-03 18:04:28 · 515 阅读 · 0 评论 -
DP水题解题思想+算法代码
估计大家可以对DP有一定的了解了,首先我要在这里明确DP绝对不是算法,我们可以姑且给它看成是搜索的优化,我们需要知道的是,木有重叠子问题,就不是D家小P(不是DP),子问题不独立一般也不是D家小P.木有边界,那是死循环.额..好吧,有人问我虾米是重叠子问题,重叠子问题不是和子问题独立相矛盾了么?不然,重叠子问题是指 我在节点4时的状态和节点1时的状态所要解决的问题是一样的,就是下面原创 2013-05-03 18:02:29 · 718 阅读 · 0 评论 -
素数筛
偶遇素数筛 - - 决定必须秒它 - -首先我们必须明确几点:素数就是质数 , 而且0,1 都不是素数.开始晒吧- -...Firstly,偶数一定不是素数故此先把偶数晒去for( i = 3 ; i <= n; i ++ ){ prime[ i ] = i % 2 == 0 ? 0:1;}第一个奇数不是素数原创 2013-05-03 16:57:41 · 485 阅读 · 0 评论 -
HDOJ 4278(暴力+八进制)
//暴力#include #include using namespace std;const int maxn = 100005;int num[maxn]={0};int main(){ int n, i, t, sum = 0, count; for( i=0; i<=100000; i++ ){ t = i; while( t原创 2013-05-03 16:54:19 · 561 阅读 · 0 评论 -
HDOJ 2089
#include #include #include using namespace std;int num[1000005];char s[20];int main(){ int n, m, i, sum, t; memset(num, 0, sizeof(num)); for( i=0; i<=1000005; i++ ){ m原创 2013-05-03 18:19:15 · 485 阅读 · 0 评论 -
DP水题一览表
经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。 DP练习题: HDU 2084(数原创 2013-05-03 18:03:12 · 542 阅读 · 0 评论 -
中国剩余定理(韩信点兵)POJ1006
(转)中国剩余定理介绍 在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之剩二(除以7余2),问物几何?”这个问题称为“孙子问题”,该问题的一般解法国际上称为“中国剩余定理”。具体解法分三步:找出三个数:从3和5的公倍数中找出被7除余1的最小数15,从3和7的公倍数中找出被5除余1 的最小数21,最后从5和7的转载 2013-05-03 16:14:05 · 938 阅读 · 0 评论 -
HDOJ 2086 RPG的错排
编程中: 错排问题(递推法解决)一个排列使得所有的元素不在原来的位置上,则称这个排列为错排以1,2,3,4四个数的错排为例,分析其结构,找出规律性的东西来1 2的错排是唯一的,即2 11 2 3的错排有3 1 2,2 3 1。这二者可以看作是1 2错排,3分别与1,2换位而得的。1 2 3 4的错排有 4 3 2 1,4 1 2 3,4转载 2013-05-03 18:14:44 · 477 阅读 · 0 评论 -
POJ 水题一览表
Poj: //没有注释的就是- -不用解释的大水题,要是你这都A不了..我...我...100010031004258330062027286430303062201330942840214127392707 1313 //不太好翻译,类似于打素数原创 2013-05-03 16:10:21 · 690 阅读 · 0 评论