自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (2)
  • 收藏
  • 关注

转载 图的割点、桥与双连通分支

转自: http://www.byvoid.com/blog/biconnect/[点连通度与边连通度]在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。类似的,如果有一个边集合,删除这个边集合以后,原图变成多个连通块,就称这个点集为割

2012-03-28 15:14:50 1339

转载 约瑟夫环O(N)解法

无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在短时间内出结果的。我们注意到原问题仅仅是要求出最后的胜利者的序号,而不是要读者模拟整个过程。因此如果要追求效率,就要打破常规,实施一点数学策略。为了讨论方便,先把问题稍微改变一下,并不影响原意:问题描述:n个人

2012-03-16 19:32:10 1714 1

原创 “CSU_BMW正式组建纪念赛”解题报告

这次比赛出的题目大多是中等题,F题是由感而发的.....去杭州玩了N次了,  最坑爹的就是杭州的公交,每次去杭州都要准备几十个硬币专门用来坐公交....      首先建图,求出每两个景点之间的最短路,SPFA和Dij随便了.建出来的图应该是个完全图,每两个景点之间都有一条线路,否则就肯定不能游玩完所有景点了..      然后就是找一条线路经过所有的景点并且最终回到起点使

2012-03-04 16:51:51 2774

转载 2-SAT问题及其算法

【2-SAT问题】现有一个由N个布尔值组成的序列A,给出一些限制关系,比如A[x] AND A[y]=0、A[x] OR A[y] OR A[z]=1等,要确定A[0..N-1]的值,使得其满足所有限制关系。这个称为SAT问题,特别的,若每种限制关系中最多只对两个元素进行限制,则称为2-SAT问题。由于在2-SAT问题中,最多只对两个元素进行限制,所以可能的限制关系共有11种:A[

2011-11-09 15:54:02 8382

原创 HDU_Steps9.3 杂题 HDU2832 HDU2604 HDU1429 HDU2782 HDU1298 HDU2363 HDU3389 HDU1496

HDU2832 Snail’s trouble 100cm的绳子,蜗牛每分钟爬k cm,每分钟后绳子被拉长100cm,问多少分钟到终点蜗牛第一分钟爬绳子的 k/100,第二分钟k/200...也就是求k/100*(1+1/2+1/3+..1/n)>=1的n的最小值HDU2604 Queuing 一道递归,前面重复了,要用矩阵加速HDU1429 胜利大逃亡(续)

2011-11-02 00:32:46 2086

原创 HDU_Steps9.2 杂题 HDU2052 HDU1871 HDU1254 HDU3350 HDU3234 HDU2642 HDU2833 HDU3483

HDU2052 Picture HDU1871 无题上面两道纯水题。。为什么Steps做到这中间还有这么水的题=。=HDU1254 推箱子 推箱子模型,最短路使用DFS加回溯,更新找到箱子的最小值,搜索人可达的位置用BFS,人和箱子的位置共同组成一个状态。#include#include#includeusing namespace std;int ca

2011-11-01 23:01:40 1716

原创 HDU_Steps9.1 杂题 HDU2054 HDU1789 HDU2159 HDU1401 HDU2818 HDU3465 HDU2433 HDU3524

HDU2054 A == B ?坑爹题,题意说的太不清楚了。注意几点,前面的0,有小数点时后面的0,以及正负数(不同号时仅有0相等)#include#include#includeusing namespace std;int main(){ string s1,s2; while(cin>>s1>>s2){ int l1=s1.size()-1;//后面 int

2011-11-01 14:53:03 1616

原创 HDU_Steps8.3 矩阵应用 HDU1575 HDU1757 HDU2294 HDU2254 HDU2276 HDU2855 HDU3519 HDU3509

STEPS8.3一些矩阵的应用,还是比较难的HDU1575 Tr A 矩阵相乘基础题HDU1757 A Simple Math Problem 7.2中的题目,重复了,构造矩阵HDU2294 Pendant f[i][j]代表j种颜色组成i个珠子,有方程f[i][j]=f[i-1][j]*j+f[i-1][j-1]*(k-j-1),但由于N较大采用一

2011-11-01 14:00:55 1623

原创 HDU_Steps8.2 博弈入门 HDU1846 HDU1847 HDU1848 HDU2149 HDU2188 HDU2147 HDU1907 HDU1851

8.2.1 HDU1846 Brave Game 巴什博弈,抢报n-k(m+1)的人可以获胜,只有当n%(m+1)==0时先手赢8.2.2 HDU1847 Good Luck in CET-4 Everybody! 报2^k次方,显然2^k只含有因数2,当对手报2^k时,都可以报1或者2使和为3N,即报n-3k的人获胜8.2.3 HDU1848 Fibonacci ag

2011-11-01 02:58:00 1880

原创 HDU_Steps8.1 栈,队列 HDU1702 HDU1022 HDU1237 HDU3228 HDU1873 HDU1509 HDU1870 HDU1387

8.1 基本都是简单的栈和队列 8.1.1 HDU1702 ACboy needs your help again!入门题8.1.2 HDU1022 Train Problem I栈的入门题,了解概念就能做了,标记现在已经匹配到o1的第几列车了,o2从头开始,如果不匹配就放入栈中,匹配后出栈并比较栈顶与o1的下一辆,匹配继续出,不匹配就继续进栈 8.1.3 HD

2011-10-25 00:46:56 4742 2

原创 HDU_Steps7.3 母函数,组合 HDU2451 HDU1398 HDU2152 HDU1709 HDU1028 HDU3398 HDU2179

HDU_Steps7.3母函数,组合 7.3.1 HDU2451 Simple Addition Expression 组合求三个数相加不进位的情况有多少种,显然个位数是0,1,2,最高位是1,2,3,其它位是0,1,2,3。#include#include#includeusing namespace std;char s[15];//传入数组下标和当前位置开

2011-10-22 01:24:48 1165

原创 HDU_Steps7.2 HDU2824 HDU1787 HDU1757 HDU3579 HDU1299

STEPS7.2 数论 ( 数论一直很烂啊。。。) 7.2.1 HDU2824 The Euler function欧拉函数,打表sum[i]表示phi[1]到phi[i]的和,最后输出sum[b]-sum[a-1]7.2.2 HDU1787 GCD Again结果是n-euler(n)-1,eular(n)代表小于n的与n互质的数的个数7.2.3 HDU1757 A Si

2011-10-21 23:47:17 1108

原创 HDU_Steps7.1 几何入门 HDU2108 HDU1886 HDU1115 HDU1392 HDU1577 HDU1147 HDU2215 HDU2202

7.1.1 HDU2108 Shape of HDU 判断凸多边形,每连续三个点之间求叉积判断即可7.1.2 HDU1086 You can Solve a Geometry Problem too判断线段相交,模板题,参考吉大模板7.1.3 HDU1115 Lifting the Stone多边形重心,模板题,参考吉大模板7.1.4 HDU1392 Surround th

2011-10-21 12:06:08 2006

原创 HDU_Steps6.3 二分图 HDU1054 HDU1068 HDU1150 HDU1151 HDU1498 HDU1528 HDU1507 HDU2768

6.3.1  HDU1054 Strategic Game给出一颗树,如果一个点被覆盖,则与他相连的边都被覆盖,求最少需要多少个点来覆盖这颗树,二分图和树形DP都可以解决,DP会更快一些DP算法,对于每个点可以选择放或者不放,令all[v]表示覆盖以v为父节点的子树所需要的最小卫兵数,dr[v]表示这一点放卫兵覆盖子树的最小卫兵数,显然对于某一点,若这一点不放,则它的儿子节点都要放sum1

2011-10-21 03:21:02 1442

原创 HDU_Steps6.2 最短路 HDU2544 HDU2112 HDU1385 HDU2923 HDU2722 HDU2377 HDU3191 HDU3399

6.2.1 HDU2544 最短路 裸的dijkstra6.2.2 HDU2112 HDU Today 数据规模小,map转字符串为数字点,然后dijkstra6.2.3 HDU1385 Minimum Transport Cost 利用dijk的特性来记录路径,路径相等时比较当前路径和已存路径的字典序#include #include #include #includ

2011-10-20 16:41:11 1397

原创 HDU_Steps 6.1 生成树 HDU1102 HDU1162 HDU1232 HDU1233 HDU1879 HDU1301 HDU3371 HDU3367

HDU_STEPS 6.1 最小生成树 6.1.1 HDU 1102 Constructing Roads 裸的最小生成树6.1.2 HDU 1162 Eddy's picture 最小生成树,每两点直接连线建图6.1.3 HDU 1232 畅通工程 用并查集将图分块,然后修N-1条路即可6.1.4 HDU 1233 还是畅通工程 还是最小生成树6.1.5 HDU 1879

2011-10-20 15:27:34 963

转载 博弈知识汇总

博弈知识汇总原帖地址:http://www.wutianqi.com/?p=1081 以下是我从网上收集的关于组合博弈的资料汇总:有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物

2011-10-09 11:00:08 1338

原创 PI值计算

HDU 2179 pi值计算 先发上大数版本的程序(java水的,不想写高精度了。。)import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;p

2011-10-08 01:54:40 7262

原创 09-09 HDU_Steps5.3 树状数组,LCA HDU1166 HDU2492 HDU3584 HDU2586 HDU2874 HDU3486 HDU2688

5.3.1 HDU1166 敌兵布阵裸的树状数组query[i..j]=sum(j)-sum(i-1)#include #include using namespace std;const int MAXN=50010;int n,cas,x,y; c

2011-09-13 13:05:00 1445 1

原创 09-08 HDU_Steps5.2 字典树,拓扑,哈夫曼 HDU1075 HDU1251 HDU1671 HDU1285 HDU2094 HDU3231 HDU1053 HDU2527

5.2.1 HDU1075 What Are You Talking About简单的字典树,在翻译时注意一点小问题,字符串的问题就是处理有些麻烦..#include #include #include using namespace std;char lin

2011-09-13 12:07:40 1514 2

原创 09-07 HDU_Steps5.1 并查集 HDU1829 HDU1325 HDU1598 HDU3461 HDU3635 HDU2473 HDU3172 HDU3038

HDU STEP 5.1 并查集5.1.1 HDU1829 A Bug's Life给出异性对a,b 判断是否有冲突,即给出a,b异性,a,c异性,又给出b,c异性,显然是冲突了(同性恋~)用opp[x]数组表示与x对立的bug,(其实就是判断一个二分图)

2011-09-13 11:06:12 2508 2

原创 09-06 HDU_Steps4.3 DFS剪枝 HDU1010 HDU1016 HDU1426 HDU1455 HDU2510 HDU2553 HDU3290 HDU2616

HDU_Steps 4.3 DFS剪枝4.3.1 HDU1010 Tempter of the Bone具体剪枝在这篇文章有写http://blog.csdn.net/swm8023/article/details/67311094.3.2 HDU10

2011-09-13 10:06:46 1344

原创 09-05 HDU_Steps4.2 BFS HDU1242 HDU1548 HDU1372 HDU1728 HDU1252 HDU2612 HDU2653 HDU2531

4.2.1 HDU1242 Rescue一道简单的BFS,有一点DP的感觉在里面,因为打守卫会耽误时间,所以在搜索一个格子时不能单纯的看它是否搜索过,如果从这条路能更快的走到这个点就要对这个点进行跟新.#include #include #include usi

2011-09-10 01:46:47 2186

原创 09-04 HDU_Steps4.1 二分三分 HDU2199 HDU2899 HDU1967 HDU2141 HDU2298 HDU1597 HDU2438 HDU3400

Steps 4.1主要都是二分和三分的问题,二分这种思想很重要也很常用.另外,在浮点数运算时一定要注意精度问题.4.1.1 HDU 2199 Can you solve this equation函数单调递增,当f(0)>0或者f(100)4.1.2

2011-09-10 01:05:54 2398 1

原创 09-03 HDU_Steps3.3 各种背包 HDU1114 HDU1171 HDU2191 HDU2955 HDU3496 HDU2546 HDU1203 HDU3466

HDU_STEPS3.3 主要是背包问题3.3.1 HDU1114 Piggy-Bank 完全背包,要正好装满#include #include using namespace std;int e,f,n;int d[10005];int p[505

2011-09-09 02:01:10 1806

原创 09-03 HDU_Steps3.2 简单DP HDU1003 HDU1159 HDU1087 HDU1160 HDU1058 HDU2084 HDU1176 HDU2571

HDU STEPS3.2 主要都是DP的入门题,最长XX序列,以及数塔问题3.2.1 HDU1003 Max Sum 求连续区间使和最大首先将数列转化成前N项和的数列,这样[a,b]区间的和可以表示为sum[b]-sum[a-1]之后只要扫描一次数组,记录该位

2011-09-09 00:30:10 1281

原创 09-02 HDU_Steps3.1 递推入门 HDU2041 HDU2044 HDU2045 HDU 2050 HDU2501 HDU2018 HDU1297 HDU2604

HDU Steps3.1 递推3.1.1 HDU2041 超级楼梯  F(N)=F(N-1)+F(N-2)3.1.2 HDU2044 一只小蜜蜂 F(N)=F(N-1)+F(N-2) N=终点-起点3.1.3 HDU2018 母牛的故事 F(N)=F(N-1)

2011-09-08 23:21:58 1586

原创 09-02 HDU_Steps2.3 递推,高精度,卡特兰数 HDU1002 HDU103 HDU1018 HDU1130 HDU1131 HDU1133 HDU1134 HDU1267

这几天一直在做题,没有抽出时间来写总结..HDU的Steps做到了第六节了,温习的一些知识点,也学到了不少新东西..加油,争取在省赛前能尽量多学一些!!STEPS 2.3的题目基本都是递推或者大数,当然这两者常常是结合在一起的,因为递推尤其像卡特兰数之类的,很容易得到

2011-09-08 03:09:40 2330

原创 09-01 HDU_Steps2.2 HDU1568 HDU1443 HDU1997 HDU1222 HDU 1249 HDU1013 HDU1066 HDU2674

HDU_Steps2.2题解感觉这个Section里的题目还是有些难度的..可能是因为我比较菜吧..2.2.1 HDU1568 Fibonacci 求肥不拉几数列前四位,记得集训的时候做过一题求前四位和后四位的,当时没有做出来,后来也没怎么看,正好这一题就自己

2011-09-02 01:25:00 1563

原创 08-31 HDU_Steps2.1 HDU1108 HDU2138 HDU1713 HDU1722 HDU2136 HDU2504 HDU1286 HDU1717

HDU_Steps2.1解题2.1.1  HDU1108 最小公倍数 如题,a*b/gcd(a,b)即可2.1.2  HDU2138 How Many Primes Numbers直接判断会超时,直接打表空间不够,于是采用了部分打表,部分判断的方法.

2011-09-02 00:34:04 1324

原创 08-30 HDU_Steps1 HDU2095

HDU_Step 1 中部分题目解题1.2.2 HDU_2095 find your present(2)输入N个数,其中有个数出现奇数次,找出找个数一开始想到的是Hash或者用Map,应该都是能过的,但是这题有更简单的方法,就是异

2011-09-01 23:52:40 1495 1

原创 08-27~29 HDU1010 USACO4.3~4.4 搜索剪枝,模拟,拓扑,网络流

这两天木有一直做题,给我的Defy刷了MIUI,玩机去了...话说MIUI还真不错.. 言归正传,前两天和队友在HDU上挂了华中北赛区的决赛题目,完全被虐啊,根本不在状态,希望比赛的时候千万不要出  现这种状况了...收起受伤的心灵,继续努力做题,提高自己吧,毕竟起步

2011-08-30 01:28:01 1406

原创 08-26 HDU3812 HDU3816 USACO 4.2~4.3 搜索剪枝,模拟,DP

下午在HDOJ挂了一套武汉大学第九届校赛的题目..A了几道难度偏低的题目..那道搜索剪枝剪了好久..导致别的题目都没有看了..后来才知道原来可以DP..主要写一下E题和I题,A和J是水题,B题是二分求解E题 :HDU 3812 Sea Sky 搜索+剪枝求Se

2011-08-26 23:27:59 1081

原创 08-25 USACO 4.1~4.2 搜索,最大流,二分匹配

今天一天迷迷糊糊的就没做什么题...好在把最大流理解了,看了半天算法导论把 最小割基本也看懂了,LRJ的书说的太简洁了...一晚上看一道最小割的题目(HDU2435),但是还是没做出来,痛苦啊,智商不够,还是先去USACO做点题,明天再继续想吧..(好吧,已经12点了...)

2011-08-26 00:04:37 959 2

原创 算法学习文章收集(持续更新)

二分匹配 :http://www.byvoid.com/blog/hungary/zh-hans/ 很详细,图很多,容易理解矩阵乘法:http://www.matrix67.com/blog/archives/276/ 经典运用,出自Matrix67大牛之手

2011-08-25 19:08:51 520

原创 08-24 HDU2601求因数 HDU2604二分矩阵递归 USACO4.1.4D边构图DFS求环

鉴于昨天做多校联合的试题受的打击太大,今天早上在HDOJ挂了一套菜鸟赛的题目...虽然是菜鸟题目,但是对我这只小菜鸟,还是很有收获的A题很水,阴在字符串读取上..C题原始背包..D题高中物理题,公式忘得差不多了..不过回忆了半天总算是过了,主要写一下B题和E题吧

2011-08-24 16:34:55 652

原创 Ural_1403

定义如下图所示 所有1构成一个折角(对角线上的一点即它正上方和正左方的点)  则图中一共有2*n+1个折角(N=2) 0010000100111000000000000 每两次改变可以改变一个矩形的四个角,以(1,1)为左上角,将所有加号除第一行或和第

2011-08-21 15:54:18 418

原创 Ural_1303

区间覆盖问题,选取最少的线段,覆盖一个区间.首先,区间外的线段不予考虑,按线段左点排序,从起点开始覆盖,在左点在起点左边的点中,选取右点最右的点,之后将该右点作为新的起点直至覆盖整个区间为止,如果找不到新的线段右点在起点右边,说明不能完全覆盖#incl

2011-08-21 15:52:25 576

原创 POJ 3259 Wormholes(bellman-ford)

英文理解起来有点累...很多农田,有的农田之间有路相连,从一个农田到另一个农田需要时间,然后有的农田中有虫洞,可以将你传送到另一个农场,并且时间会倒退..问FJ有没有可能在游历农场的过程中看到自己...其实就是问有没有一个点,能在他从这个点出发前回到这个点,也就是求有没有负环.转

2011-07-29 07:20:03 1393 1

原创 POJ 1125 Frogger (Floyd)

青蛙从一号石头跳到二号石头,还有一些石头可以作为跳板,问选择怎样的路径可以使最大跳的长度最短,求该长度.看了Discuss里做法很多,有求最小生成树的,有求最短路径的,其实个人感觉这题更像是Floyd的变形,更改Floyd的松弛条件为d[i][j]=min(d[i][j],max

2011-07-29 07:09:54 461

ACMACPC代码库

ACMICPC代码库 常用模板 欢迎广大ACM爱好者下载

2011-12-13

具体数学 中文版

计算机专业经典数学,ACMer的必备书籍

2011-10-07

空空如也

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

TA关注的人

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