自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 收藏
  • 关注

转载 poj 1324 状态广搜

其实就是我们经常玩的贪吃蛇。不过现在我们优先蛇的头的话,要用一个巧妙的哈希来把蛇的身体表达出来,那么就可以用一个4进制的数字来表示,蛇的身体长度最多不超过8,所以最多是2^7种状态。 1 #include<iostream> 2 #include<cstring> 3 #include<cstdlib> 4 #inc...

2013-07-23 01:00:00 125

转载 poj 1167 简单搜索

这题主要是注意好限定的条件条件1:每个公交车都至少要到达两次条件2:公交车相同时间和相同间隔是属于两种车辆条件3:不同的车可能到达时间相同上述都是深搜的重要条件: 1 #include<algorithm> 2 #include<iostream> 3 #include<cstdio> 4 #include&lt...

2013-07-22 12:21:00 141

转载 poj 1184 广搜进阶题

起初的想法果然就是一个6000000的状态的表示。但是后面觉得还是太过于幼稚了。可以看看网上的解释,其实就是先转换位置,然后再改变数字的大小。 1 #include<iostream> 2 #include<cstdlib> 3 #include<cstring> 4 #include<cstdio>...

2013-07-19 15:16:00 137

转载 poj 1084 舞蹈链(纠结题)

此题反正我自己是认为poj给的数据范围是有错的,不知道是不是自己太弱了,有大神在的话,欢迎来呸!其实目的就在于建图,搞的我后来建了一个无比纠结的图,先建立了火柴棍和正方形的一个全图,然后再删除一些火柴和正方形其实舞蹈链就是一个剪枝的深搜,好好理解就是的。数据n应该大于5的。 1 #include<iostream> 2 #include<cs...

2013-07-16 23:25:00 143

转载 ACM ICPC Asia Regional 2011 Kuala Lumpur C题

看了逆波兰表达式之后,发现真是强悍的数据结构,栈的应用怎么感觉一辈子也学不完了呢后缀表达式即逆波兰表达式,就是将所有的运算符按照一定的等级全部都安排到数字的后面去,实现正确的运算法则。OK,代码要自己好好看,理解了自然就很简单。 1 #include<iostream> 2 #include<cstdio> 3 #include&...

2013-07-14 00:55:00 141

转载 zoj 1033 与其说是搜索,不如说是枚举

zoj 与其说是搜索,不如说是枚举,只不过是通过搜索来实现的罢了。主要是要注意好闰年的判断,特别是要注意好一串数字的划分。题意其实我也看了一个晚上,才渐渐的看懂。题意:给你一个字符串,其中包含数字信息,年月日,如果还有数字意外的字符,那么就一定有两个字符,将年月日三中信息隔开如果里面没有其他字符,那么就只有数字,其中分配给月,日每个需要两个数字字符,而分配给年则需要2...

2013-07-14 00:50:00 128

转载 hdu 4294 数学分析+搜索

又要开始一段搜索的路程了。最近看了这题,在网上看到一个结论,任何一个数倍数都能被不超过两个数字组成,假如一个数n个A%x=b,那么必然有m个A%=b那么此时n个A减去m个B就能够被x整除,那么此时就有了上述的结论,在配合上余数来进行一个搜索,就是把余下的数字作为一个状态来进行广搜。 1 #include<iostream> 2 #include<...

2013-07-08 23:50:00 107

转载 poj 3322 不错的搜索题,想通了就很简单的。

每个格子有3种状态,放置这1*2的长方体的3中方法,然后广搜就OK了,因为每移动一格都是一步,所以广搜就是最短路了。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #include&lt...

2013-05-28 16:19:00 113

转载 搜索第一题(poj 1190)蛋糕

7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体。设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri, 高度为Hi的圆柱。当i < M时,要求Ri > Ri+1且Hi > Hi+1。由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小。令Q =...

2013-05-23 17:33:00 129

转载 spoj 10649 镜子数的统计(正过来反过去一样)

101为镜子数,100不是,并且121也不是,因为2反过来会变成s形,所以这题的思路只用考虑0,1,8也就是一个三进制的数就可以了。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include&l...

2013-05-23 09:57:00 265

转载 spoj 10606 数位dp统计

题目意思:要求数字偶数数位出现基数次,基数数位出现偶数次,不出现,不违反规则。状态压缩:3进制数 0表示未出现过 1表示出现基数次 2表示出现偶数次 1 #include<iostream> 2 #include<cstring> 3 #include<cstdlib> 4 #include<cstdio>...

2013-05-22 15:39:00 116

转载 codeforces 215E 求有周期循环的二进制数的个数

101010属于周期循环的二进制,循环次数为3现在给你十进制的区间,求出有周期循环的数的个数思路: 枚举循环的周期的长度,但注意周期长度所包含的因子长度不能重复计算。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include&l...

2013-05-21 19:29:00 122

转载 hdu 4352 统计数字数位上最长上升子序列长度为k的个数

题意:1245 这个数属于上升长度为4的数字,1213这个数字属于上升长度为3的数字。统计区间[l,r]中上升长度为k的数字个数。State 状态压缩,表示最长上升的序列用到的数字有哪些 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #in...

2013-05-21 19:25:00 356

转载 codeforces 95D 统计幸运数位置不超过k的数字

主要是记录一个flag,表示现在距离幸运位的位置有多远,然后做一下记忆化的搜索就OK了。。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #include<cmat...

2013-05-10 11:06:00 125

转载 hdu 3943 统计出现了x次4与y次7的数字

统计n以下所有有x次4和y次7的数的个数,然后二分。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 using namespace std; 6 typedef long ...

2013-05-09 19:37:00 83

转载 zoj 3293 找规律

其实我不知道要说什么,因为这道题的解法也是从别人那里看的,不想盗版,看看这位神牛的吧,讲得挺不错,就是要好生理解一下。http://blog.csdn.net/xymscau/article/details/6688671View Code 1 #include<iostream> 2 #include<cstdio> 3 #includ...

2013-05-09 15:32:00 66

转载 UVALive 4864 数位dp

Start with an integer,N0, which is greater than 0. LetN1be the number of ones in the binary representation ofN0. So, ifN0= 27,N1= 4. For alli> 0, letNibe the number of ones in the ...

2013-05-08 17:03:00 78

转载 poj 3208 找出第n个包含666连续字串的数字

说白了,只要求出1-x中出现666子串的数字,然后二分枚举答案。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 typedef long long LL; 6 int co...

2013-05-08 14:54:00 191

转载 hdu 4389 统计能被自己数位之和整除的数

枚举数位之和,然后取磨直到最后,记忆化减少时间复杂度。View Code 1 #include<iostream> 2 #include<cstring> 3 #include<cstdlib> 4 #include<cstdio> 5 typedef long long LL; 6 int const N...

2013-05-08 13:18:00 168

转载 hdu 3652 统计出现13并能被13整除的数

统计数字当中出现13的子串,并且能被13整除的数字。逐位确定一下就Ok了,然后加好其他限定条件,减少时间复杂度用记忆化。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 ty...

2013-05-08 12:23:00 225

转载 zoj 3416 统计平衡数个数

For example, 4139 is a balanced number with pivot fixed at 3. The torqueses are 4*2 + 1*1 = 9 and 9*1 = 9, for left part and right part, respectively. It's your job to calculate the number of bal...

2013-05-07 22:48:00 87

转载 codeforces 55D 求数字能被自己每个数位上的数整数的统计

如果这个数要被自己的每个数位上的数整除,那么这个数一定能被每个数位上的最小公倍数整除。那么剩下的就是用记忆话搜索和枚举来解题了。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cstring> ...

2013-05-07 17:30:00 122

转载 uestc 1307 统计数位之间相差不小于2的数的个数

windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 解题思路:简单枚举+记忆化搜索View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstd...

2013-05-07 13:55:00 105

转载 hdu 3555 统计包含49的数字

dp[i][3],其中i表示位数,后面的3表示有三种数 0:首位不带9的合法数 1:首位带9的合法数 2:不合法数View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 typ...

2013-05-06 22:22:00 99

转载 hdu 4507 恨7不成妻(求l,r中与7不相关数字的平方和)

吉哥他生平最恨情人节,不管是214还是77,他都讨厌!  吉哥观察了214和77这两个数,发现:  2+1+4=7  7+7=7*2  77=7*11  最终,他发现原来这一切归根到底都是因为和7有关!所以,他现在甚至讨厌一切和7有关的数!  什么样的数和7有关呢?  如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关——  1、整数中某一位是7;  2、整数的每一位加起来的...

2013-05-06 18:37:00 129

转载 hdu 2089 数位dp

说实在的,有点惭愧,这题,本来想用更好的办法,但是时间复杂度更高了。朴素的办法就是打表,从1-1000000打一个统计1-n中的合格数的表。递归枚举其中的数字:View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include...

2013-05-04 18:27:00 33

转载 数位统计 sgu 390 <浅谈数位类问题>

题意:有一位售票员现在要将手中的一系列连续的票卖给客人,而且是卖出连续的票给客人,而现在卖出的票的编号的数位之和不能小于k这个正整数,求按照这样的规则我能售票给多少位乘客。算法合集之《浅谈数位类统计问题》当中就讲到过,要我们以进制叉树的形式来具象化所有的数的情况。我们就是要找出l到r中的连续数超过k的组数,尽可能的多。但是现在关于合并子树的问题就是,其中有一部分客人手机的...

2013-05-04 13:22:00 137

转载 Spoj 2319 数位统计(0,1, 2^k-1 这些数分成M份)

将0,1, 2^k-1这些数分成M份,每份的值为该份的1的数字之和,求使最大的那一份最小K<=100,M<=100最大值最小化,二分的经典应用思路:二分这个最大值X,然后看能不能组成M份,然后再调整Cal(x):求出0-x这些数字当中1出现的次数。 其实实际分析一下就很简单,把x化作是二进制的数,那么从高位往低位走,遇见一个...

2013-04-29 12:31:00 163

转载 国家队论文第二题 浅谈数位类统计问题 spoj 1182

刚开始的时候有点想法,但是没有具体,主要是一开始题目看错了,认为给的这一段区间可能包含了正数和负数,该打,题目都可以看错,一直以来的经验教训都没有吸取。代码中去掉最高位的方法还是相当的不错的,至于以后二进制的变形,应该都可以参考这其中的技巧。代码:View Code 1 #include<iostream> 2 #include<cstdio&...

2013-04-25 16:29:00 123

转载 国家队论文首题 浅谈数位类统计问题 ural 1057

看《浅谈数位类统计问题》论文写的,感觉分析还是相当的到位啊。一个数分解成进制数相加,该位置上的数绝对为1.代码:View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cstring> 5 usin...

2013-04-25 12:13:00 112

转载 网格反射 codeforces 249D

看原理的话 到这位大哥的博客 深有体会。。http://blog.csdn.net/haha593572013/article/details/8770423如果碰到网格边界的次数大于n+m-2,那么就能够形成一个完整的棋盘。View Code 1 #include<iostream> 2 #include<cstdio> ...

2013-04-08 19:53:00 102

转载 字符串 后缀数组(可重叠的k 次最长重复子串)poj 3261

开始用起了后缀数组这种高级的东西,虽然细节方面是勉强看懂了,但是能运用好就行要是有做这套题的朋友实在是不得其解的话,去看看这篇论文吧。。IOI2009 国家集训队论文后缀数组罗穗骞height数组当中存了从第一名到最后一名的公共前缀的长度height 数组:定义height[i]=suffix(sa[i-1])和suffix(sa[i])的最长公共前缀,也就是排名相邻的两...

2013-03-31 15:21:00 88

转载 2013年湘潭大学程序设计比赛(Internet) D题 F题 题解

比赛的时候实在有够憋屈。~一开始就做了F题,以为这道题就是推推公式,也没什么特殊的地方。。。。没想到被double类型的输出%f给吭了。。。先讲一下F题。。现在有总资金S,每年花费X,利润R;R放小1000倍S0=S0;S1=S0-X+(S0-X)*R;S2=S1-X+(S1-X)*R;将S1带入到S2。。S2=(S0-X)*(1+R)^2-(1+R)*X...

2013-03-12 13:01:00 233

转载 codeforces 160E 线段树(单点更新)

题意:现在有n辆bus,然后有m个乘客。每辆bus有自己相应的开车路段,与开车时间。s,f,t,表示开车的起始站,终点站,开车时间。l,r,b分别表示乘客想要从l到达r站,然后乘客开始等车时间为b。那么就可以猜想到这个乘客要搭乘这辆车,需要满足一下条件s<l,r<f,t>b,那么此时我们按照起始点排序把所有的路段都包含进来,按照时间点来建立线...

2013-03-07 20:55:00 91

转载 poj 1625 dp+大数+ac自动机

题意:在一个国家当中,给你一个词汇书,你可以用里面所有的字母拼凑出一个单词来,但是在这个国家当中存在一些禁用的单词,那么现在问你在不违反规则的情况下,你能尽可能的多拼凑出相应的单词来。那么也就是说拼凑的单词当中不能够出现禁用的单词的字段。后面看到网上教程当中的dp状态转移,傻眼了。。这都可以。dp[i+1][cnt]=dp[i+1][cnt]+dp[i][j],我所理解的...

2013-03-07 20:33:00 93

转载 poj 1229 字符串模糊匹配dp

之前虽然两过一段时间的dp,但是还是没有接触过这样的模糊匹配的状态转移,所以说状态转移是永远都学不完的东西啊。。。其实之所以能够写出这样一道题,还是看了这位大哥的博客http://www.cnblogs.com/staginner/archive/2012/01/25/2329379.html里面讲得比较全面吧,。。。把通配符的意义改变一下,那么这样状态就能得到很好的记录。...

2013-03-02 20:20:00 123

转载 poj 1204 字符串处理 多串匹配自动机

View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<stdlib.h> 4 #define N 1010 5 struct node 6 { 7 node *next[26]; 8 node *fail;...

2013-03-02 12:47:00 58

转载 AC自动机简单第一题hdu 2222

题目大意:给你一些单词,给你一篇文章,需要你求出其中文章中包含了多少个单词?例如其中的单词she、he、say、shr、her,文章yasherhs。那么首先根据单词建立出相应的字典树。和字典树不同的就是AC自动机要建立失败指针,实意就是为了让文章能够一次性的匹配下去。使得某些单词的后缀能够成为某些单词的前缀,使得模式串匹配的时候不至于浪费掉了之前所匹配的次数。...

2013-03-01 12:47:00 63

转载 hdu 4046 探查wbw组合数 线段树

只要明白下区间如何更新上区间就可以了,左区间和右区间中只能、可能是右区间右边界中有'w',然后右区间左边界有'b''w',或者是右区间左边界有'w',左区间右边界有'w''b',满足这个情况下面,才可能上面的区间wbw组合增多。所以只要明白这个就ok了。。。View Code 1 #include<iostream> 2 #include<stdio....

2012-11-25 12:18:00 80

转载 hdu 4288 线段树维护(增删有序数)

既然这道题目要我们维护出现在%5=3位置上面的值,那么我现在想想是不是这个线段区间上面只可能有5种状态的线段树出现。那么我就只用维护这五种状态,最后只用看3状态上面的数字之和为多少就ok了。。当然还是要来一个离线处理,因为你现在必须知道对于这一整组数据而言要建立多大的一颗线段树。View Code 1 #include<iostream> 2 #in...

2012-11-24 19:21:00 77

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除