自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 poj3126

好吧,本来是一个很简单的bfs,还被自己写这么复杂,先打素数表,然后建立转移图,后面想如何求点对距离,还用了floyd; 其实好水的题目,直接bfs即可。。 AC代码: #include #include #include const int MAX_NUMBER = 10000; bool vis[MAX_NUMBER + 5], is_prime[MAX_NUMBER + 5]

2013-07-31 17:20:34 626

原创 Codeforces 275D

给一颗带权树,要求每次把根选进去,然后对其子树进行+1或者-1操作,求操作的次数最小。 分别记录各个子树加减了多少次,那么当前节点增加的次数应该是所有子树增加次数的最大值,减少的次数是所有子树减少次数的最大值。 经过这么多少操作之后,当前节点的权也会变成value[cnt_point] + max_add - max_sub; 为了再使当前节点变为0,所以还需要进行为当前节点权的操作次数。

2013-07-31 15:56:55 668

原创 uva11426

可以化成简单的s[n] = s[n - 1] + f[n] 关键在于求f[n] = gcd(1, n) + gcd(2, n) + ... + gcd(n - 1, n) 直接裸求的话肯定会超时。可以把上面的和按和n的约数来分类。 约数为1,2,3...  那么结果就为sums{i * g(i, n)}; g(i, n)表示和n约数为i的数的个数、相当于求gcd(x / i, n /i)

2013-07-28 15:06:25 934

原创 网络流模板--spfa

/* *用spfa去求最小费用流,首先是找到最小费用,然后通过最小费用求最大流 */ struct Edge { int start; int end; int cap; int cost; int next; }; struct Edge edge[MAX_EDGE]; int head[MAX_POINT], queue[MAX_POINT],

2013-07-08 23:06:39 797

原创 网络流模板--edmondsKarp

#define MAX_NUMBER 10000 #define INF 1000 int cap[MAX_NUMBER][MAX_NUMBER]; /*边的容量*/ int flow[MAX_NUMBER][MAX_NUMBER]; /*边的流量*/ int father[MAX_NUMBER]; /*记录每一个点的前趋顶点*/ int queue[MAX_NUMBER

2013-07-07 15:18:26 800

原创 网络流模板--dinic

/** *To get the max flow in a graph *Use the adjcent table to express the graph */ struct Edge { int start; int end; int cap; int next; }; struct Edge edge[MAX_EDGE]; int cur[MAX

2013-07-07 15:16:29 654

原创 图论--网络流题目(持续更新)

poj1273:水题,套模板,求最大流 poj1274:水题,直接套模板 poj3041: 最小点覆盖:选取最小的顶点数来覆盖所有的边,在二分图中最小点覆盖数 = 二分图中的匹配数,采用匈牙利算法.算法模板见hungary.c DAG的最小路径覆盖是指找最小数目的互相不相交的有向路径,满足DAG的所有顶点都被覆盖.(注意是路径数目) DAG上的最小路径覆盖 = |V| - 二分图的最大匹

2013-07-07 15:13:18 954

原创 自己的动态规划题目(持续更新)

poj1837:大意,给定天平的位置和砝码,找到所放的位置能够使天平平衡。求有多少种摆放的方式。为了表明摆每个天平时的状态,可用一个度来表示,0表示平衡,0表示右边重。因为数据范围为-7500,7500,所以可以用7500来表示平衡。  poj1260:用dp[i]来表示处理第i个珍珠,因为对于第i个品质的珍珠,要么自己买,要么前面的珍珠和他一起湊过来买。所以状态转移方程为:dp[i] = mi

2013-07-07 15:12:16 811

原创 打素数表

一个很简单的打素数表, 小于10000000的素数大概有66万多个。 /*get all prime number while less than a certain number MAX_NUMBER*/ #include #include #define MAX_NUMBER 10000000 #define MAX_PRIME 1000000 int prime[MAX_P

2013-07-07 15:09:58 1377

空空如也

空空如也

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

TA关注的人

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