
POJ刷题记录
acm刷题+感想
hbulzh
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 1324 BFS+二进制状态标记
STL容器开在函数体内和体外还能卡超时?涨姿势了#include<iostream>#include<cstring>#include<queue>using namespace std;const int maxr = 30, maxc = 30;int maze[maxr][maxc],vis[maxr][maxc][1<<15...转载 2019-12-25 11:49:11 · 159 阅读 · 0 评论 -
POJ 2449 A*+最短路
是的 不压行就不会作死,当你调试半天调不对的时候一般是你很sb的随手打错一行你以为肯定不会错的代码,就当锻炼纠错能力了(本质还是菜。。)#include<iostream>#include<cstring>#include<queue>using namespace std;#define maxn 1005#define maxm 500005...原创 2019-12-19 21:57:48 · 128 阅读 · 0 评论 -
POJ 1724 分层图最短路
分层图的两种建法1:直接建k-1层图2:给dis或vis或你需要记录信息的数组额外增加一维模拟n层图的效果至于分层图的理解,个人认为就是有一些干扰信息时,比如免费经过一些路径或者有特殊限制的时候,可以从当前图免费跳到下一层或上一层图来转换状态。#include <cstdio>#include<algorithm>#include<cstring...原创 2019-12-18 21:32:12 · 240 阅读 · 0 评论 -
poj 生日蛋糕 剪枝+dfs
头一次见这么夸张的剪枝操作。这个点也很难想2*r*h=S *r*r*h=V * =>V*2/r = SS + sumS >= best => return;#include <cstdio>#include<algorithm>#include<cmath>using namespace std;int bes...原创 2019-12-18 11:16:31 · 177 阅读 · 0 评论 -
POJ 1376 bfs
建图的方式有点特别,建在 方格的四个顶点处vis三维数组,第三维记录走过节点的方向#include<cstdio>#include<cstring>#include<queue>#include<algorithm>#include<map>const int maxn = 1e2+10;using namespac...原创 2019-12-17 20:43:21 · 142 阅读 · 0 评论 -
POJ1475 双bfs 找最短路
第一层bfs找箱子移动的最短路,第二层找人到箱子后边位置的最短路。难点可能是第一层bfs的vis数组需要开三维,需要同时记录走过点的方向。其实字符串的处理,路径输出也很恶心。。。属于稍微有点错就得调半天那种#include<iostream>#include<algorithm>#include<cstdio>#include<cstr...原创 2019-12-16 20:43:22 · 279 阅读 · 0 评论 -
POJ 3190 Stall Reservations 贪心算法
优先队列 模拟处理一下#include<cstring>#include<cstdio>#include<algorithm>#include<queue>using namespace std;const int maxn = 1e5+10;struct Node{ int l,r,pos; bool operator <...转载 2019-12-12 17:09:56 · 140 阅读 · 0 评论 -
POJ 1390 Blocks 区间DP
区间DP的核心:把大区间分解成相同规模的小区间,小区间返回子结构的值给大区间从而得到最优解。但是怎么就能根据不同的题模拟出特定的比较合适的子结构呢?我觉得与其说这是一种编码的熟练度问题,不如说是对实际问题建模的敏感度问题。如何设计优秀的子结构问题真的很考验一个人的最基本最核心的创造力和分析能力,刷题套模板真的能整出来吗。。。就拿这个题来说,可以很轻易的想到dp[i][j]为i到j区间的最优值,...转载 2019-12-12 16:32:29 · 205 阅读 · 0 评论 -
POJ 2373 Dividing the Path 单调队列dp
两个队列 p和qp存储当前所有已经访问过的节点q对p中的节点进行筛选 选出可以对当前节点进行状态转移的节点,头节点就是最小值,维护这两个队列,时间复杂度就可以降下来但是不清楚为什么模拟队列的时候永远是h = 1,t = 0#include<iostream>#include<cstring>using namespace std;const int ...转载 2019-12-12 12:53:59 · 176 阅读 · 0 评论 -
POJ 炮兵阵地 (状态压缩dp)
真的很难,状态转移方程太难推了,智商不够,努力来凑#include<iostream>#include<algorithm>#include<cmath>#include<cstring>using namespace std;const int maxn = 1e2+10;int dp[maxn][maxn][maxn],cur[...转载 2019-12-10 21:18:58 · 184 阅读 · 0 评论 -
POJ 2186 Popular Cows (tarjan缩点 染色 出度标记)
虽然不是很难,但是每次都能写着写着有点迷,还是记录一下吧#include<iostream>#include<algorithm>#include<cmath>#include<cstring>using namespace std;const int maxn = 1e5+10,maxm = 5e5+10;int n,m,timi...原创 2019-12-08 21:50:30 · 136 阅读 · 0 评论 -
POJ3468 线段树A Simple Problem with Integers
我还是第一次见一会对 一会不对的评测系统。。。一样的代码 一次对一次不对??#include<iostream>#include<algorithm>#include<cstring>#define lc rt<<1#define rc rt<<1|1using namespace std;const int maxn ...原创 2019-12-06 21:52:04 · 130 阅读 · 0 评论 -
POJ3264 区间最大减区间最小
区间操作,线段树和打表都行,主要打表的操作老是加一和减一搞晕,重写一遍找找感觉#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int maxn = 5e4+10;int n,m,a[maxn];int dp1[maxn][80],dp...原创 2019-12-06 20:18:59 · 151 阅读 · 0 评论 -
POJ3321 苹果树
体会一下 树状数组是怎么用的,还是太菜了#include<iostream>#include<cstring>using namespace std;const int maxn = 3e5+10;int L[maxn],R[maxn],timing;int c[maxn],a[maxn];int tot,head[maxn];struct Edge{...原创 2019-12-06 19:58:26 · 190 阅读 · 0 评论 -
poj2446 chessboard
明明说了m,n不超过32,死活过不去,最后设置成2000才过,测试范围难道就是随便说说的?#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<map> const int ...原创 2019-12-06 11:00:08 · 167 阅读 · 0 评论 -
POJ2536 二分图最大匹配
初始化的时候double类型数转化成int。。。。。wdnmd#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<vector>const int maxn = 1e3+10;using namespace std;int...原创 2019-12-05 23:56:15 · 131 阅读 · 0 评论 -
POJ2135 最小费用最大流
手贱tot初始化的时候明显想着0却写成1,调试半天。。。。。这样看来,在网络流方面明显 tot = 0 memset(head,-1,sizeof(head)) 更加方便一点#include<iostream>#include<cstdio>#include<cstring>#include<queue>using names...原创 2019-12-05 10:51:38 · 189 阅读 · 0 评论 -
POJ3436 ACM Computer Factory(打印最大路径)
#include<iostream>#include<queue>#include<cstring>#include<map>using namespace std;const int maxn = 100;int p,N,s,t,n,in[maxn][maxn],flow,line;int ans,num;int tot,head...原创 2019-12-05 00:02:02 · 146 阅读 · 0 评论 -
POJ2112 最大流+二分
#include<iostream>#include<cstdio>#include<queue>#include<cstring>using namespace std;const int maxn = 270,inf = 0x3f3f3f3f;int n,m,k,tot;int head[maxn],dis[maxn][maxn...原创 2019-12-04 15:45:50 · 160 阅读 · 0 评论 -
POJ2396 Budget 有源上下界可行流
有源上下界可行流的做法就是无源可行流的虚拟终点t连接一条通往虚拟重点s的一个容量为inf的边就好了。。。#include<iostream>#include<cstring>#include<queue>using namespace std;const int maxn = 5e2, maxm = 5e4+10,inf=0x3f3f3f3f;...转载 2019-12-02 17:45:39 · 165 阅读 · 0 评论 -
POJ题目分类(更新中)
刷了很多POJ的题,想想还是需要记录一下,以后时不时可以回顾一下 ,也给大家一些参考。刷题的时候更有效率一些 有源上下界可行流 POJ2396 网络流 POJ3436 最...原创 2019-10-07 16:24:05 · 218 阅读 · 0 评论