
每天A一道题
文章平均质量分 78
还有多远
这个作者很懒,什么都没留下…
展开
-
HDOJ-1728 逃离迷宫(BFS + 转弯)
#include #include #include using namespace std;const int MAX_ROW = 100;const int MAX_COL = 100;const int MOVE[4][2] = { //0 = up, 1 = down, 2 = left, 3 = right {-1, 0}, {1, 0原创 2014-05-31 14:40:19 · 701 阅读 · 0 评论 -
HDOJ-1253(BFS + 特判)
一开始老是超时,原创 2014-05-31 22:40:01 · 637 阅读 · 0 评论 -
POJ-3264(标准RMQ)
本题为标准RMQ问题,原创 2014-06-23 22:25:00 · 693 阅读 · 0 评论 -
POJ-2019(二维RMQ + 滚动数组)
先逐列求出没原创 2014-06-24 00:11:51 · 518 阅读 · 0 评论 -
POJ-3276(异或DP)
#include int N, K, M;char s[5000] = {0};/* initial state, 'F' 0, 'B' 1 */char pre[5000] = {0};/* whether i should be flipped by flips in front */char post[5000] = {0};/* post[i] whether to sta原创 2014-07-16 10:40:39 · 418 阅读 · 0 评论 -
POJ-2965(BFS + 位运算)
一开始是暴力枚举,各种超时之后,原创 2014-06-05 19:12:10 · 721 阅读 · 0 评论 -
POJ-3267(DP)
看了discuss才写出来的,唉,水平还是很di原创 2014-07-16 13:19:10 · 401 阅读 · 0 评论 -
POJ-3268(多源单点最短路 + 单源多点最短路)
实际上用两遍dijsktra算法就可以了,这里再复习下spfa,在原创 2014-07-16 20:14:49 · 572 阅读 · 0 评论 -
HDOJ-2586(Tarjan算法)
本题根据DFS的性质,每遍历到一个节点,都可以知道根节点到当前节点的路径长度原创 2014-06-25 14:13:00 · 715 阅读 · 0 评论 -
POJ-1949(模拟或DP)
实际上类似银行多窗口服务,首先服务没有先决原创 2014-06-08 21:19:43 · 521 阅读 · 0 评论 -
HDOJ-1213(并查集)
基本的并查集应用原创 2014-06-09 10:59:51 · 482 阅读 · 0 评论 -
POJ-2524(并查集)
最基本的并查集应用原创 2014-06-09 10:44:24 · 453 阅读 · 0 评论 -
POJ-1157(边输入边DP || 滚动数组)
用dp[i][j]表示将flower i放在vase j中这个状态所能达到的最大原创 2014-06-29 20:01:43 · 432 阅读 · 0 评论 -
POJ-2184(背包 + 动态数组,给交流电加个直流偏执)
这道题WA了N次终于A了,看了Discuss也原创 2014-07-20 23:30:51 · 748 阅读 · 0 评论 -
POJ-2385(DP)
#include #define max(a,b) ((a) > (b) ? (a) : (b))#define MAX_T 1000#define MAX_W 30int T, W, id[MAX_T+1];int dp[MAX_T+1][MAX_W+1][2] = {0};int main(){ int i, t, w, turning; while(sca原创 2014-06-09 01:39:31 · 452 阅读 · 0 评论 -
HDOJ-1811(拓扑排序+严格顺序)
题目要求排序是严格顺序的,即关系图是单connected component的,原创 2014-07-20 14:57:52 · 808 阅读 · 0 评论 -
POJ-1018(DP+滚动数组)
这道题本来想用map保存price所能达到的最大bandwidth,各种TLE之后看了discuss,原创 2014-06-29 16:25:53 · 509 阅读 · 0 评论 -
HDOJ-1272(判断无向图是不是树,BFS || 并查集)
没有注意到输入一上来就0 0的WA了一次原创 2014-07-20 15:51:48 · 879 阅读 · 0 评论 -
HDOJ-1823(矩形树,点更新 + 区间查询)
没注意到几个细节,WA了一天啊:(1)输入的活泼值和缘分值,虽然说是浮点数,但可能是以整数形式输入的(为避免浮点精度降低,我把它们当做字符串输入,却忽略了没有小数点的情况,WA死了)(2)看了discuss才知道,查询区间A1、A2和H1、H2,题目中没有说哪个是左哪个是右(我以为先输入的是左,后输入的是右,当左大于右时,输出-1,WA了好几次)矩形树的思想,参考了这篇博文:http:原创 2014-07-22 01:42:31 · 446 阅读 · 0 评论 -
POJ-1015(离散化DP)
题目要求|D(J)-P(J)|最小,但|D(J)-P(J)|显然不符合最优子结构,不能直接动态规划,但题目中说要使|D(J)-P(J)|最小时的D(J)+P(J)最大化,我们知道D(J)+P(J)是符合最优子结构的要是只用让D(J)+P(J)最大,那就是一个0-1背包问题了,想着要是能将D(J)-P(J)作为一个维度,有一定的范围,再对D(J)+P(J)动态规划的话就好了令f(i,j,原创 2014-06-29 22:54:31 · 588 阅读 · 0 评论 -
HDOJ-1166(线段树点更新 + 区间查询)
试了一个完全二叉树,貌似效率有点低:原创 2014-07-21 18:28:33 · 440 阅读 · 0 评论 -
POJ-2063(完全背包)
由于债券价格都是1000的倍数,所以计算时可以先将钱和价格原创 2014-06-12 01:39:51 · 436 阅读 · 0 评论 -
POJ-2492(DFS)
深搜检测是否有冲突原创 2014-06-13 00:11:15 · 378 阅读 · 0 评论 -
HDOJ-1556(线段树||树状数组,区间更新+点查询)
裸的线段树:原创 2014-07-15 00:21:15 · 448 阅读 · 0 评论 -
HDOJ-4341(分组DP)
经典的分组DP题:因为同一条直线上的原创 2014-06-11 23:16:16 · 495 阅读 · 0 评论 -
HDOJ-1874(最短路)
裸的SPFA:#include #include #include using namespace std;#define INF 999999999struct Edge{ int to, len; Edge(int t, int l): to(t), len(l){}};int N, M, S, T;vector vertex[200];int原创 2014-07-23 22:35:46 · 408 阅读 · 0 评论 -
HDOJ-1875(最小生成树Prim算法)
本题是稠密图所以选择Prim算法,原创 2014-07-24 00:39:17 · 507 阅读 · 0 评论 -
POJ-1276(多重背包)
典型多重背包,和经典问题的不同在于原创 2014-06-12 19:20:06 · 631 阅读 · 0 评论 -
1879(最小生成树)
(1)首先确定确定哪些点是已经连接的,哪些路是可能要修的(2)如果原创 2014-07-23 21:58:41 · 473 阅读 · 0 评论 -
HDOJ-1863(最小生成树)
几乎裸的最小生成树:原创 2014-07-23 22:14:00 · 478 阅读 · 0 评论 -
POJ-1251(最小生成树)
最基本的最小生成树原创 2014-06-18 00:05:57 · 435 阅读 · 0 评论 -
HDOJ-1232(并查集)
路径压缩非递归版:#include int N, M;int set[1000];int Find(int x){ int y = x, t; while(set[y] != y) y = set[y]; while(x != y){ t = set[x]; set[x] = y; x = t;原创 2014-07-23 21:33:25 · 538 阅读 · 0 评论 -
POJ-1611(并查集)
加了节点计数的并查集:#include int N, M;int set[30000];int cnt[30000];int Find(int x){ return set[x] != x ? set[x] = Find(set[x]) : x;}void Union(int x, int y){ int px = Find(x), py = Fin原创 2014-07-23 18:26:56 · 376 阅读 · 0 评论 -
HDOJ-1010(DFS + 奇偶剪枝)
刚开始忘了判断是否在过程中路过终点(这也是要剪枝的,因为所有点只能访问一次)原创 2014-07-23 20:46:18 · 473 阅读 · 0 评论 -
HDOJ-1557(枚举或搜索)
题目中每个团体加入或不加入联盟一共有原创 2014-06-14 00:10:43 · 502 阅读 · 0 评论 -
POJ-1472(循环复杂度,递归分治 + 多项式)
题目:http://poj.org/problem?id=1472核心是递归原创 2014-07-24 22:14:29 · 544 阅读 · 0 评论 -
POJ-1742(多重背包)
复习一下多重背包的二进制分解、0-1背包的逆推、原创 2014-07-25 01:41:06 · 438 阅读 · 0 评论 -
HDOJ-1394(逆序对)
学到的东西:(1)原创 2014-07-24 18:51:20 · 508 阅读 · 0 评论 -
POJ-2056(BFS)
两遍BFS即可:第一次BFS的时候记得要把每个'S'点右边的原创 2014-06-16 13:58:02 · 558 阅读 · 0 评论 -
HDOJ-2028(最小公倍数)
我们知道两个数a、b的最小公倍数是a / gcd(a,b) * b,那么n个数的最小公倍数是原创 2014-07-24 19:38:46 · 782 阅读 · 0 评论