- 博客(35)
- 收藏
- 关注
原创 POJ 图论分类 + DP(较全 自己又加了点)
DP-----------动态规划状态压缩DP2411 (棋盘规模较大)状态压缩DP+DFS+滚动数组2664 (棋盘规模较小)直接递推即可(DP)2506 (棋盘规模较小)直接递推即可(DP+高精度)1185 经典状态压缩,炮兵阵地背包相关问题3
2011-07-20 11:14:20 1647
原创 ZOJ2314 Reactor Cooling (有上下界的网络流)
sort貌似不能给2维数组排序呢? 改成qsort就好了,这里的构图方法和周源的论文里的类似
2011-07-30 21:24:40 959
原创 多校JLU 10题JLUCPC(树形DP)
树状DP因为树是连通的且为无向边,所以可以假定1为根,从结点1开始向各个子树DFS这次DFS过程中要对每个结点记录几个量node[i]记录以i为根的子树(包括i结点)的T[k] 和sum[i]记录以i为根的子树(包括i结点)中,每个结点到根的路径长度*T[k]的和
2011-07-29 19:30:51 822 1
原创 多校BIT 1001Inverting Cups (模线性方程的应用或找规律)
本题可以通过求解模线性方程来解决。题目的最终任务是将所有杯子翻转,所以每个杯子被翻转次数一定是奇数次。我们不妨设第i个杯子被翻转次数为 2*ki+1,翻转总次数为n,则依题意可以列出如下方程 Sum(2*ki+1) = B*n,整理可得 2*Sum(ki) +
2011-07-28 20:33:24 625 1
原创 多校1009 (DFS+树状数组)
暴力N^2 各种TLE#include #include const int maxn=100010;struct node{ int v; node *next; node (int a ,node * p):v(a),next(p){};};node * L
2011-07-27 16:00:28 506
原创 多校联合第五场北京正常大学BNU 1002 Lucky Numbers(找规律or容斥原理?)
if(a>b){a=a^b;b=a^b;a=a^b;} if(a==1 && b==1){printf("%d\n",m);continue;} for (ans=0 ; m ; m=-m/b, ans-=m);
2011-07-26 18:44:02 888
原创 JOJ2519 Find the longest section(位运算 +(前缀和?))
找一个最长字符串区间,满足里面每个字母出现的次数为偶数巧妙的利用了位运算的性质将所有的状态存在一个整数里,二进制数的每位是0 1 分别表示字母出现的偶 奇次,在利用前缀和#include #include #include using std::sort;const int ma
2011-07-26 18:39:33 373
原创 Dual Core CPU POJ 3469(邻接表+GAP+CUR优化)
RE了好几次,后来发现是边开小了,这个模板又是达哥的,我继承了达哥的所有模板数据。。。#include #include const int N=20005;const int M=890000;//边是双向存的(注意不是无向)要开正常的2倍大 const int inf=0x7
2011-07-24 21:03:14 762 2
原创 ZOJ Monthly, July 2011 - G Tree of Three(树形DP)
树形DP算是一个自己领悟的算法,以前第一做用的DFS维护的树形DP题,那时候还不知道这个算法叫树形DP,这是第二次做树形DP,是浙大月赛,秦牛开场38分钟就AC了(时间很囧),我敲了1个多小时,还不是很熟练题意维护每个节点和其子树的最大三个值,还是很水的题#include #include #define max(a,b) (a)>(b)?(a):(b)#define swap(
2011-07-24 13:45:22 686
原创 Dinic 算法
http://blog.sina.com.cn/s/blog_6635898a0100qxh7.html 贴不了图,只好贴个链接了,Dinic算法敲完贴自己代码
2011-07-23 18:45:10 416
原创 JOJ 2727: GRE(混合欧拉路)
算法基本和Sightseeing tour一样,但是要注意判断图的连通性,而且要放宽判断条件,存在2个度为奇的点时,则要添加一条边构成回路#include #include #include #include #include #define min(a,b) ((a)>(b))
2011-07-23 14:54:46 704
原创 JOJ 2414 && POJ 1637 Sightseeing tour(混合欧拉回路)
用的邻接阵的最一般的方法跑了0.22s 是JOJ最慢的。。。#include #include #define min(a,b) ((a)>(b))?(b):(a)using namespace std ;const int maxn=205;const int maxm=100
2011-07-22 23:14:56 485
原创 位运算 67大牛
转自Matrix67 基础篇 去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系列位运算讲解文章,与其说
2011-07-22 18:22:43 574
原创 POJ 1149 PIGS(最大流 经典构图)
本题的关键在于构造容量网络,看题解之前真的很难想到能用最大流来写这题,看了题解后发现还是很好理解的,构图思维有待培养;构图方案如下:1.将顾客看做结点,并另设汇点和源点。2.源点和每个猪圈第一个访问的顾客相关联,边的权是猪圈里猪的初始值,重边直接合并。3.#include #in
2011-07-22 16:34:43 477
原创 POJ 1273 Drainage Ditches(Networks flow)
很水的网络流,要注意下建图的时候是+= 而不是直接赋值,考虑到有重复路径#include #include #include #define min(a,b) ((a)>(b))?(b):(a)using namespace std ;const int maxn=205;con
2011-07-22 15:12:27 369
原创 POJ1523 SPF (求割点——塔扬算法)
顶点u是割点的充要条件是:u是深度优先树上有两个以上子女的的根,或者不是根时有一个子女w满足low[w]>=dfn[u],low[u]是从u到u的子孙出发通过back edge 可达的最低深度优先数。low[u]=min{dfn[u],min{ low[w] | w是u的一个子女
2011-07-20 17:04:56 699
原创 矩阵连乘 转自matrix67大牛
好像目前还没有这方面题目的总结。这几天连续看到四个问这类题目的人,今天在这里简单写一下。这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质。 不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色字符。在数学中,一个矩阵说穿了就是一个二维数组。一个n行m列的矩阵可以乘以一
2011-07-19 19:16:41 584
原创 多校北邮现场赛(bupt 196 cc on the tree 搜索叶结点间的最短路 DFS)
本题我用的算法就是DFS 任举一个非叶结点为根,这里我用的是序号最小的非叶结点,然后从根向各结点扩展搜索,到叶停止返回一个0和INF,每个结点返回最小和次小路径的值,因为2叶间最小路径必是某一结点到2叶的最小和次小值相加,当然结点数为2的要特殊处理下
2011-07-18 22:40:58 1123
原创 JOJ2645 Working in JLU (任务调度 贪心算法 并查集 )
实验题目:用贪心算法解决作业调度问题。实验目的:1. 学习带时限的作业调度—最大时限选择方法。2. 掌握贪心算法的应用。问题描述:给定任务序列J1J2 ...Jn,假定只有一台处理机为这批作业服务。每件任务Ji给定一个时限di和对应利润Pi。只有在规定时限之内
2011-07-18 20:27:30 3756 1
原创 2578: Moving Dice (bfs+恶心模拟)
可能自己做的方法不是太好,感觉好麻烦的一道题,而且给的X Y 的坐标 还不是正常的平面直角坐标系,貌似是立体直角坐标系,我就是因为X Y范围挂了好几次。。。#include #include #include using namespace std ;struct opt{
2011-07-14 15:26:05 509
原创 多校(HDU 7月12日 1009 Equivalent Sets 强连通分支 )
Equivalent SetsTime Limit: 12000/4000 MS (Java/Others) Memory Limit: 104857/104857 K (Java/Others)Total Submission(s): 550 Accepted Su
2011-07-14 09:38:06 877 3
原创 多校联合HDU (7月12日 1006 YY's problem)
YY's new problemTime Limit: 12000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1184 Accepted Su
2011-07-14 09:22:14 1253
原创 POJ 1679The Unique MST (判断MST是否唯一、次小生成树)
Definition 1 (Spanning Tree): Consider a connected, undirected graph G = (V, E). A spanning tree of G is a subgraph of G, say T = (V', E'),
2011-07-11 16:28:17 405
原创 生成函数(待补充……)
JOJ 1026 The Staircases构造函数(1+x)(1+x^2)(1+x^3)(1+x^4)……答案为d[n]-1 减去的是step为1的情况#include #include const int maxn = 505;int main (){ long l
2011-07-11 13:36:02 336
原创 joj 1509Hamiltonian Cycle (dfs求H回路)
利用了Hamiltonian路的一些性质#include #include #include // practice for hamilton graph and dfs.using namespace std;const int maxn=1000;bool map[maxn]
2011-07-11 10:49:32 569
原创 POJ 1789 Truck History (Prim 稠密图上的MST问题)
第一次敲prim算法保存了路径的代码:没有将lowcost和mst合并#include #include //Primconst int maxn=2010;const int inf=10000;int lowcost[maxn],mst[maxn];int map[maxn]
2011-07-11 10:38:27 454
原创 POJ 1861 Network (MST kruskal 加权合并 (瓶颈生成树))
最小生成树的一个性质,它的最大边是其他生成树中最小的,但不是充要条件//kruskal 加权合并 #include #include using namespace std;const int maxn=1005;const int maxm=15005;struct edge{
2011-07-09 20:56:20 871
原创 JOJ 1170: Wire Is So Expensive (MST kruskal 无合并)
赤裸裸的最小生成树问题。。。#include #include using namespace std;const int maxn=400;int i,n;int e_u[maxn],e_v[maxn],w[maxn],p[30],rank[maxn];int cmp(cons
2011-07-09 14:24:41 346
原创 JOJ 1089 & ZOJ 1060 & poj 1094 Sorting It All Out (邻接表的栈拓扑排序模板)
An ascending sorted sequence of distinct values is one in which some form of a less-than operator is used to order the elements from smalles
2011-07-08 20:38:46 534 1
原创 joj 2062 Sum II (搜索是否存在指定和的组合)
首位查找:O(n)先排序Sort(a,a+n);Int l=0,r=n-1;//左右指针While(l<r)//不能重复:< 如果是能够重复就是<={Int cnt=a[l]+a[r];If(cnt==M) {flag=1;br
2011-07-06 16:11:50 399
原创 joj 1023: Digital Roots(WS超短)
很水的高精度题 ,只是别人问的时候 , 突然想把自己10几行的代码改进 #include char n[300];int main(){ while ( scanf("%s",n)!=EOF && n[0]-48) { int m,i; for(m=0,i
2011-07-05 20:29:32 468
原创 joj 1131: Intersection (判断直线与矩形是否有交点)
You are to write a program that has to decide whether a given line segment intersects a given rectangle. The line is said to inter
2011-07-04 16:44:48 2564 1
原创 poj 1659 Frogs' Neighborhood (判定度序列的可图性) .
Description未名湖附近共有N个大小湖泊L1, L2, ..., Ln(其中包括未名湖),每个湖泊Li里住着一只青蛙Fi(1 ≤ i ≤ N)。如果湖泊Li和Lj之间有水路相连,则青蛙Fi和Fj互称为邻居。现在已知每只青蛙的邻居数目x1, x2, ..
2011-07-03 17:50:59 1125
原创 POJ 1041 John's trip
DescriptionLittle Johnny has got a new car. He decided to drive around the town to visit his friends. Johnny wanted to visit all his frien
2011-07-03 17:49:28 727
原创 POJ 3348 Cows (计算凸包面积)
#include#include #include#include#include#include#include#include#define min(a,b) (((a)b))?(a):(b))#define max(a,b) (((a)>(b))?(a):(b))#define multi(a, b, c) ((b.x - a.x) * (c.y -
2011-07-02 19:58:18 502
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人