UVA816 紫书bfs

本题比较困难的地方对于我来说应该是输入,后来参考了别人的代码原来还有stringstream这么好用的东西 还有就是方向的处理上面,lrj的方法比较巧妙,他是把方向全部转化成0-3然后一一对应数组中的元素  #include//不需要判断边界、移动方向已经确定 #include #includ...

2017-08-27 22:36:54

阅读数 136

评论数 0

POJ3041 二分图最小点覆盖(匈牙利算法)

#include #include #include using namespace std; const int maxn=600; bool line[maxn][maxn],used[maxn]; int target[maxn],c,r,n,m,all; bool found(int x)...

2017-08-22 21:04:01

阅读数 136

评论数 0

poj1986 lca(tarjan算法)

#include #include #include const int maxn=90005;//数组要开大一点 using namespace std; int head[maxn],head1[maxn],fa[maxn],ranks[maxn],dist[maxn],vis[maxn],n...

2017-08-15 23:36:52

阅读数 132

评论数 0

hdu1274 二分图匹配匈牙利算法

#include #include using namespace std; const int maxn=300; int n,m,i,j; int cp[maxn][maxn],visit[maxn],live[maxn],num,room,sum;///live[]记录牛舍住了哪只牛,cp[...

2017-08-14 00:10:36

阅读数 133

评论数 0

poj 2112 最大流求二分图匹配/二分搜索

#include #include #include #include #include #include #include #define INF 0x3f3f3f using namespace std; const int maxn=310; int c,m,k; struct edge{...

2017-08-08 22:28:01

阅读数 151

评论数 0

poj 2955(Summer IV) 区间DP

看了书才做的和uva1626可以一起看(添加最少的括号使括号配对) #include #include #include #include #include using namespace std; const int maxn=105; char str[maxn]; char s[4]=&q...

2017-08-08 00:17:34

阅读数 100

评论数 0

poj2337 字典序 欧拉回路/欧拉道路

这道题看了题解觉得挺水的,

2017-08-08 00:10:05

阅读数 214

评论数 0

poj2342(summerIv) 树状DP水题

参考:点击打开链接 需要特别注意的是这种题目一定要递归找到根节点再从根节点进行dfs,上面的链接中的代码就是因为没有进行这一步所以TLE #include #include #include using namespace std; const int maxn=6000+50...

2017-08-08 00:07:05

阅读数 128

评论数 0

poj2337 欧拉道路/欧拉回路 字符串字典序排列(qsort实现)

思路:把每个单词的首字母和尾字母当成欧拉回路(或欧拉道路)的节点,单词当作道路。。 挺水的一道题,但是,自己的图论学得不太好,一开始建图就建挫了。。。。一直WA最后做出来后还MLE。。。。 一下为参考别人的代码(字典序的排列上做了些许修改): #include #include ...

2017-08-07 23:57:10

阅读数 172

评论数 0

最大流dicnic裸题 hdu1532 Summer III

#include #include #include using namespace std; int casenum,postnum,ans,cnt,temp; const int maxn=40000; int vis[maxn]; int m[maxn][2]; struct Tree{...

2017-08-06 11:21:33

阅读数 175

评论数 0

POJ 2528(summer III X) 区间离散化,线段树区间更新

一直在用树状数组解题,线段树都有点忘了。。。。 参考了别人的代码后终于明白了离散化的道理和步骤,一下为参考网址:点击打开链接 #include #include #include using namespace std; int casenum,postnum,ans,cnt,temp; co...

2017-08-06 11:15:17

阅读数 136

评论数 0

【Polya】 hdu 3923(SummerIII Y)

#include using namespace std; typedef long long LL; const LL mod=1000000007; LL c,n; LL gcd(LL a,LL b) { return b==0?a:gcd(b,a%b);///欧几里得扩展算法求最...

2017-08-05 11:17:32

阅读数 116

评论数 0

POJ3468 树状数组的区间更新和区间求和

这道题由于数据较大,不能简单地使用一般的树状数组单点更新和单点向下求和,而应该使用区间范围的更新和求和。 不过区间求和的公式证明看得有点久,但最终还是弄懂了,以下为链接:点击打开链接 知道这个以后直接用就好了,不过要注意更新和查询时的左右边界的取值。 #include #in...

2017-08-04 10:08:47

阅读数 167

评论数 0

CodeForces 6E st查询

#include #include #include #include #include using namespace std; const int maxn= 200010; const int maxn2=8000000; int n,a[maxn],mx[maxn][20],mn[maxn...

2017-08-03 10:48:38

阅读数 151

评论数 0

POJ2185 (summer III N)

#include #include char s[10010][80]; int next[10010]; int main() { int i,j,x,y,r,c,f[80]; char a[80]; sca...

2017-08-03 10:35:28

阅读数 170

评论数 0

hdu1892 (summer III see you)

本题也属于比较简单的二维树状数组问题。 思路很简单:单点向上记录,向下求和,不过一直AC不了,总结一下每次出现错误的原因: 1、一开始mle。。。后来查了一下,是因为数组开得太大,看来数组还是要看情况来开,根据情况,适合就好。 2、然后就是各种WA。。。对比AC代码后发现,是因为一下两个原因...

2017-08-02 00:36:56

阅读数 180

评论数 0

poj 2752 (summerIII seek the name,seek the fame)

这道题真的加深了我对next数组的理解,。没想除了用在KMP上还能有这种操作。。。开始想着用其中的K的值做,因为根据定义,k代表的是最长相同的前后缀长度。。。然后不知道为什么WA。。。。后来百度了一下别人的做法恍然大悟,觉得精妙无比。就是通过递归next数组然后求得前后缀的长度。 以下为...

2017-08-02 00:28:32

阅读数 144

评论数 0

博弈问题的一些想法(菜鸟,不喜勿喷。。。)

对于固定每次取值的博弈题目如bash和nim(每次取ai个可以先存进数组),可以使用sg表来打表找规律。 #include #include const int maxn=45; bool vis[maxn]; int sg[maxn]; int a[5]={1,2,4,8,16}; void s...

2017-08-01 11:14:22

阅读数 134

评论数 0

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