自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mandsnow 0w0

momoshijiandalao

  • 博客(13)
  • 收藏
  • 关注

原创 poj 3259 Wormholes(最短路Bellman-Ford算法)

求负权图的单源最短路 代码在这: #include #include #include using namespace std; struct node { int x,y,d; }a[20010]; int dis[50010]; int n,m,w; int bellmanford(int n) { int x,y,d; for(int i=1;i<=n;

2016-08-24 15:08:24 359

原创 poj 2377 bad cowtractors(最大生成树模板水题)

这个题意虽然过程有些曲折(我仿佛看到了没有工资的人的恶意),反正结果就是要求一个最大生成树,模板套上就可以…… 代码在这: #include #include #include using namespace std; const int maxn=100010; int tree[maxn*2]; struct node { int x,y,d; }a[1500010]; i

2016-08-23 08:29:19 390

原创 poj 1128 Frame Stacking(拓扑排序+DFS(递归))

1.记录每个出现的不同的字母的边界 2.记录这个字母是否在原图中出现 3.入度记录该字母是否覆盖了其他字母 4.拓扑排序 5.深搜时的递归记得回溯 代码在这: #include #include #include #include #include #include using namespace std; struct node { int x1,x2;

2016-08-19 15:17:13 354

原创 poj 3667 hotel (线段树+区间合并)

以前学习过的线段树,在查询和更新的基础上加入了区间合并,利用延迟标志来实现这一方法 代码在这: #include #include #include using namespace std; const int N=50050; struct node { int l,r; int mk; int ls,rs,ms; }tree[N*10]; int n,m

2016-08-17 10:24:57 310

原创 poj1176 party lamps(dfs)

千辛万苦的用char型过了…… 代码在这: #include #include #include #include #include using namespace std; int n,c; int a[101]; int op[101]; int cl[101]; char ss[300][110]; int cmp(const void *p,const void *q) {

2016-08-16 18:36:59 361

原创 poj 1018 Communication System(DP)

可能有很多方法吧,用的DP做的,其他的现在暂时不知道怎么用,枚举的是带宽,如果选择了价格来枚举的话,用的内存可能会更大而且一般是会TLE的 代码在这: #include #include using namespace std; int dp[110][1100]; int b[110][110]; int p[110][110]; int t,n; int m[110];

2016-08-16 15:20:29 360

原创 poj 2752 Seek the Name, Seek the Fame(kmp)

求相同前后缀的位数…… 代码在这: #include using namespace std; const int N=400010; char s[N]; int x; int next[N],res[N]; void fnext() { int i,k; int n=strlen(s); next[0]=-1; for(i=1,k=-1;i<n;++

2016-08-13 15:24:31 275

原创 poj 3461 Oulipo(简单的kmp入门)

就是完完全全用kmp算法来写的一道题,每当找到一个与模式串匹配的计下次数,然后以next数组后退继续寻找下一个 代码在这: #include #include #include using namespace std; const int N=1000010; char s[N]; char p[N]; int next[N]; void fnext() { int i,k

2016-08-13 10:31:16 275

转载 字符串匹配算法总结

转自:http://blog.csdn.net/zdl1016/archive/2009/10/11/4654061.aspx   我想说一句“我日,我讨厌KMP!”。 KMP虽然经典,但是理解起来极其复杂,好不容易理解好了,便起码来巨麻烦! 老子就是今天图书馆在写了几个小时才勉强写了一个有bug的、效率不高的KMP,特别是计算next数组的部分。 其实,比KMP算法速度快的

2016-08-11 09:07:35 516

原创 hdu 3652 B-number(数位dp)

总结一下我在这道题上的失误 真心想打死自己 1.数组开的过小还沾沾自喜 2.细节方面经常有数据上的错误(啊!!!!!!!!!!!好愤怒啊!!!!!!再出这种事我!!先不立flag了!!!!反正很想捅死自己啊!!) 3边界很重要边界很重要边界很重要 写完这道题我真的是森森的恨自己…… 可能会抑郁一个周…… 代码在这: #include using namespace std; i

2016-08-08 19:50:24 303

原创 HDU 2089 不要62(数位DP)

发现动归是个深坑……一个数位dp入门……觉得动态规划真的是有很大的灵活性呀~~ 数据的初始化也很重要~ 代码在这: #include #include #include #include using namespace std; int dp[10][10]; void init() { memset(dp,0,sizeof(dp)); dp[0][0]=

2016-08-08 10:07:43 240

原创 poj1185炮兵阵地(状态压缩DP)

状态压缩就是利用各种进制(基本是二进制)来保存一个状态,在这种图中应用起来也很方便,这道题我觉得有点烦,看了这位大神的详细讲解之后,才算明白地比较彻底,明白之后觉得这道题只是有一点复杂,思路还是很清晰的 代码在这: #include #define max(a,b) a>b?a:b #define cl(a) memset(a,0,sizeof(a)) #define q(a,

2016-08-03 11:54:23 304

原创 codevs 1124线段覆盖(贪心)

用贪心的算法算,从最左端开始,所以在计算之前要排一下序,一旦遇到这一段的左端点小于上一段的右端点,这段就去掉,还有,这种线段的描述用pair非常方便,记得以前什么时候翁聚曾经给普及过这个,详细介绍:c++之pair 代码在这: #include using namespace std; int main() { pairp[1010]; int n; s

2016-08-01 17:50:00 342

空空如也

空空如也

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

TA关注的人

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