自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mars_ch的博客

背水一战

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

原创 poj 2186 Tarjan (666的牛)

【【快!题目连读5遍】 啦啦啦啦啦,下午要去保定晃一圈。写了很长时间的一道题。哭叽叽题目: 传送题意: 大意就是,输入n,m n是n头牛,m是m个描述 输入x,y; x牛觉得y牛比较6; 输出 所有牛都觉得很牛的牛的个数【【是不是像绕口令分析: tarjan缩一下; 然后:在缩完的图之中找出度为0的点,>1就直接输出0【不解释】 == 1呢,就是直接找在这个点下的强连通点啦#i

2016-04-22 11:55:15 363

原创 poj 1236

poj 1236强连通分量 tarjan。第一题,。。题目: 传送题目大意:有N个学校,从每个学校都能从一个单向网络到另外一个学校,两个问题 1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件。 2:至少需要添加几条边,使任意向一个学校发放软件后,经过若干次传送,网络内所有的学校最终都能得到软件。解题思路:求所有连通分量,然后缩点,构成一个有向无环的图,有多少个入度为0

2016-04-16 20:15:41 367

原创 poj 3249

题目:传送题意: 给定一个有向无环图,每个结点有权值,从入度为零的点作为起点,出度为零的点作为终点,要求出到终点时可能的最大权值(有可能是负的)思路: 记录各点入读,然后,枚举这些点搜索初的最大值。 最大值用dp。另外,受他软件影响人生第一个vector村邻接表写成了!!纪念Congratulation!!! 数组要开对啊!!另外还有一种拓扑+dp也许回头会写??#include<cstdi

2016-04-15 00:18:02 287

原创 poj 1419 dfs

题目:传送题意:给你一个图,问你此图能然多少黑点。染黑点的条件是相邻点不能有黑点。一开始搜题意的时候都说是啥 啥最大独立集。果断认为不会。 后来桌椅大神说,dfs加剪枝就行。然后连简直都没加写的。47ms。思路: 默认都是白色的,1.可以染,然或者不染,回溯; 2不可以染,回溯。上代码:#include<cstdio>#include<algorithm>#include<iostream

2016-04-14 23:47:26 504

原创 poj 1985 Cow Marathon

题目:传送 题意: 给一棵树,求树的直径。思路: 观察:从任何一个点出发的最远点一定是一条直径的端点。 证明: 1.点在一条直径上 2.点不在直径上一定和一条直径交叉 所以,我们把这些边存到邻接表中,任选一个起点,进行2次bfs。就可以啦。 上代码:#include<cstdio>#include<cstring>#include<algorithm>#include<iost

2016-04-12 00:08:22 232

原创 poj 3687 拓扑排序

hiahiahia我又回来了!!传送题意: 理解题意很重要嗯 给定几个标签球的重量大小关系,求每个球是第几重的(即每个球在所有球的重量中由小到大排名是多少)。也可以认为是重量嘛,就是第1号位置的球重4一类的。 如果存在多种可行解,就按编号小得重量尽量小输出 ↑↑↑重点 思路: 拓扑。 但是 逆序的!! why? 因为正序的你不能确定,让编号小的重量尽量小。 但是你把编号大的重量

2016-04-09 20:44:12 498

原创 poj 1659

嘿嘿嘿,我又回来写题解了。today 传送 1659 今天是一个神奇~的定理。。大概他的名字叫额、、 HAVEL可图定理。 就是给你一组度,让你判断可图否? Havel-Hakimi定理的内容可百度之。 Havel-Hakimi定理很容易理解: 三步走就可以了:。 排序,删边,减1 下面举一个例子: 已经排序: 5433222111. 删除第一个数5: 433222111.

2016-04-09 00:47:11 312

原创 poj 3522

很久很久没有写过了。【【这不代表朕什么都没写。传送poj 3522题目大意: 呃呃,就是求一颗生成树,它的边权最大值与最小值差最小。输入:4 5 //点的数量,边的数量 1 2 3 //u,v,w; 1 3 5 1 4 6 2 4 6 3 4 7 4 6 1 2 10 1 3 100 1 4 90 2 3 20 2 4 80 3 4 40 2 1 1 2 1 3

2016-04-07 21:41:08 683 3

原创 poj 1753 bfs+位运算

接上一篇本题dfs 耗时2天写出来的第一个位运算。 唯一记住一件事:网上推荐poj刷题水题请千万不要相信它水。 传送poj 1753因为每个棋子只有黑白2种颜色可以用0,1两个数字来表示,这样用16个0或者1,就可以表示出来当前期盼的状态。然后使用异或操作将需要翻的棋子翻过来。推荐一篇博客哦,讲的很详细,而且写的不太一样 戳直接上代码#include<cstdio>#include<i

2016-03-24 23:45:45 333

原创 poj 1753 Flip Game

【深夜写题解之人【如有脑子不清,尽请见谅哈哈哈传送大致题意: 给你一个4*4的棋盘,给你白黑棋子的初始状态,一次操作就会翻这颗棋子上下左右的4颗,问你几步可以把它们翻成一种颜色。然后tle一次,impossible输出加了个句号wa一两。暴力枚举dfs搜索 297ms过得。。就是暴力。。看代码的解释了。 ps discuss区又说可以bfs+位运算,不会,待研究; pps 还说可以高斯消元【-

2016-03-21 00:42:03 417 3

原创 poj 1146 ID Codes

ps 容朕吐槽一句: 每写一道题要是能查一遍生词,英语估计都不用愁了【没错说你呢poj这是一道排列的题–隶属algorithm库里的 next_permutation。引自cpluplus的example// next_permutation example#include <iostream> // std::cout#include <algorithm> // std::

2016-03-20 16:04:35 544

原创 POJ 1006 生理周期

POJ 1006 中国剩余定理

2016-03-19 18:12:52 788 2

原创 poj 1182 食物链

经典经典并查集!!!!强烈建议自己写一遍,真是。。其实重点就是偏移量的更新。ps可以用向量解。传送传送戳推荐并查集讲得很好玩的戳#include<cstdio>#include<iostream>#include<algorithm>using namespace std; int n,k,i,num,r1,r2,d,x,y; /*relaton = 0,同类;relation=1,被父节

2016-03-18 23:17:22 201

原创 BZOJ 1260 paint

第一道bzoj上的题,外加3.15test.1【大写的不爽1260: [CQOI2007]涂色paint时间限制: 30 Sec 内存限制: 64 MB 提交: 976 解决: 589 [提交][][] 题目描述假设你有一条长度为5的木版,初始时没有涂过任何颜色。你希望把它的5个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为5的字符串表示这个目标:RGBGR。 每次你可以

2016-03-17 01:03:51 533

原创 poj 1014 dividing

戳这里原题1014大致题意: 有六种价值分别为1-6的矿石..各有num [ i ] 个…问两个人能否分得同样多价值的矿石 。 多重背包加二进制优化的方法。貌似还有纯dp和dfs有待探究。首先很明显如果总价值为0,或者是奇数,那显然不能均分。 剩下如果是偶数,用多重背包,dp[j]记录能装价值为j的石头时,可装的最大价值。还有二进制优化喽。#include<cstdio>#include<

2016-03-13 16:44:33 389

原创 最短路 dijkstra

至今我也没把名记住,还被某些人嘲笑许久。。。@。。。 有人说,对于这个算法的恐惧第一个来源于他的名字,没错,而且熟了之后唯一恐惧的就是他的名字,笑。同样推荐坐在马桶上的算法书所讲非常棒哦! 链接 啊哈磊模板代码void dijkstra(){ for(i=1;i<=n-1;i++)//寻找离出发点最近的点 { mind=INF; for(j=1

2016-03-11 23:54:40 377

原创 poj 1125 floyd

经典经典题啊! 那个poj题号1125,题目巨长,找度娘撒~~先来介绍一下我们可爱的floyd算法,没错可爱,因为它的核心只有5行,戳这里有讲的特别棒!!@坐在马桶上看算法戳这 核心代码部分【当然你可以写成4行 其实它有动归的思想在啊for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(e[i][

2016-03-11 23:46:56 356

原创 poj 3414 bfs水题但是麻烦

啦啦啦,这个太刷成就感了!!!!115行代码哦 poj 3414原题戳这大致题意: 给你容器a,容器b,还有容量c; 问你是否能够通过有限的步骤达到c的目标状态呢?嗯,关于path数组其实又参看大神的,不得不说太腻害了 操作6种: 1.装满a FILL(1) 2.装满b FILL(2) 3.清空a DROP(1) 4.清空b DROP(2) 5.把A倒入B POUR(1,2) (

2016-03-08 23:59:51 367

原创 poj 3176 dp

poj 3176 dp戳这原题大致题意:给你个数字金字塔,每个点带权值,每个点只可以选上一行相邻的2个点【表述就是这么个意思】,问最长路径值啊思路: of course dp。 这题写的还算顺手啊。事实证明,题是刷熟练的orz。 dp[i][j]表示最长路径,从下往上刷,所以方程: dp[i][j]=map[i][j]+max(dp[i+1][j],dp[i+1][j+1]); 啦啦啦#i

2016-03-06 21:30:43 502 2

原创 poj 2533 dp

题意:找最大上升子序列个数,lis戳这里原题经典dp,又是鬼畜的output limited error【醉#include<cstdio>#include<algorithm>#include<cstring>#define maxn 1001using namespace std;int in[maxn];int dp[maxn];int n,i,j;int main(){

2016-03-06 20:40:02 364

原创 poj 1276 多重背包+二进制

这个就是个提醒二进制的。直接看码吧。#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;int main(){ int cash, n; int c[100], f[100005]; int i, j, k; int num, co

2016-03-06 19:37:38 419

原创 poj 1260 dp

poj 1260Pearls 大致题意:现在有很多按品质升序排列,当然价格也是,的不同种类的珠宝。为防止只够买一个,顾客需要买所需个数再额外加10个。也可以将这些珠宝升级品质,看是否可以省钱,问你买这么多数量的珠宝最少花多少钱。 输入 第一行:几个cases 第一个case 第一行:珠宝种类n种,接下来n行,是目标购买个数和单价。 输出:最少花的钱 example: Input: 2

2016-03-05 23:15:13 518

原创 poj 3267 the cow lexicon

戳这里原题大致题意:给你w个单词和长度为l的字符串,问在字符串中删除多少个字符可以使其匹配到单词序列。嗯然后是dp。开dp[i]记录在第i位及之前要删除多少字符,已知找到dp[i],初始状态dp【l】=0,然后从后往前扫输入的字符串。这个时候,dp方程有两种 : dp【i】=dp【i+1】+1;(不能匹配) 和 dp【i】=min(dp【i】,dp[pm]+(pm-i)+len);第一个方程

2016-03-04 00:19:50 300

空空如也

空空如也

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

TA关注的人

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