POJ解题之路
文章平均质量分 80
monkey7777
爱生活,爱扯淡,爱编程。
展开
-
poj1363----栈
简单题。 有一个火车站。有n节车厢从 车站A 驶入车站C,按进站顺序依次编号为1~n。 车站C具有栈的性质,其实就是栈。 判断能否借助中转站C使得各车厢按照题目要求的顺序驶入B站。 本题属于栈的基本操作。 第一次认真的去用栈来做题。#include#includeusing na原创 2012-08-18 10:24:54 · 867 阅读 · 0 评论 -
poj2033------Alphacode
http://poj.org/problem?id=2033 这是一道DP的题,但是DP我还不会,所以被我当做找规律做了。 本来找规律以为是斐波那契数, 但后来发现其中有存在中断的情况。然后我把中断的情况分段,每段套用斐波那契数然后相乘,然后样例轻松地过了。提交后wa了。然后认为这种方法行不通,放弃了乘法的想法。然后遇到中断点时,后面一段继承上一段的值,转而用斐原创 2012-07-25 09:57:06 · 490 阅读 · 0 评论 -
hdu -1237- 简单计算器(栈实现)
题目链接:acm.hdu.edu.cn/showproblem.php?pid=1237简单计算器Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9055 Accepted Submission原创 2012-12-15 17:56:12 · 447 阅读 · 0 评论 -
codeforces-230B-T-primes
题目链接:http://codeforces.com/problemset/problem/230/BB. T-primestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstand原创 2012-12-15 18:31:13 · 1090 阅读 · 0 评论 -
poj1182----并查集
原文地址:http://www.cnblogs.com/ffjjqqjj/archive/2011/07/20/2112226.html做的第一道并查集题。这题揪心一整天了,网上搜了一下题解才大概明白,明白了之后感觉思路还算是简单,就是集合间关系的公式的推导很重要。/**************************************************原创 2012-12-30 23:59:04 · 340 阅读 · 0 评论 -
poj3785----全排序(STL---next_permutation())(a一送 五)
利用全排序,输出下一个比该数大的数。要是这个数已经是最大的了。那么就输出"BIGGEST”学习使用库函数 next_permutation()/** poj3785 */#include#include#include#include#include#includeusing namespace std;char str[1001];int main(){原创 2012-12-31 14:54:13 · 575 阅读 · 0 评论 -
poj2386----简单dfs,a一送一
/*poj2386 求有几个水坑*/#include#includechar ans[110][110];int n, m;int cnt;int dx[10] = {-1, 0, 1, -1, 1, -1, 0, 1};int dy[10] = {1, 1, 1, 0, 0, -1, -1, -1};void dfs(int x, int y){ ans[x][y] =原创 2013-01-02 23:24:16 · 318 阅读 · 0 评论 -
poj2823------线段树-------求区间最大最小值(RMQ)
如 POJ 3264。inf 要定义足够大。注意负数的情况。判断时注意临界值。线段树建树以及节点意义如POJ 3264。.#include#define maxn 1000010#define lson l, m, rt<<1#define rson m+1, r, rt<<1|1int inf = 2100000010;int n, k;int原创 2013-07-10 15:11:42 · 606 阅读 · 0 评论 -
poj3692----图论---二分图最大团
最大团 = 补图最大独立集二分图最大独立集 = 全集-最小路径覆盖集最小路径覆盖集 = 最大匹配匈牙利算法:#include #include int g[301][301], vis[301], match[301], cnt; int n,m; int dfs(int v){ int i; for(i=1;i<=n;i++){原创 2013-05-23 23:44:41 · 590 阅读 · 0 评论 -
poj2828----线段树--------单点更新
N个人,按先后顺序往之指定的序号插队。先来的人最后所在的位置不一定是他当时插队时的序号数。而最后来的所在的位置肯定是他插队时的序号数。因此,从后往前,把最后一个人的节点值置空,表示这个位置对其他人不可用。而前面的人根据自己的序号置空剩余的可用位置中与自己序号相同的位置。树状数组建线段树树:每个节点的数值表示当前可用的位置中 该位置所在的的次序。#includ原创 2013-07-10 13:48:04 · 508 阅读 · 0 评论 -
最大流 & 二分匹配模板
AC自动机: http://www.cppblog.com/mythit/archive/2009/04/21/80633.html 最大二分匹配模板 ZQUOJ 23124&&POJ 1469 #include #include int g[301][301],vis[301],match[301],count; //g表示两点间是否有边,vis标记二分图右边原创 2013-05-23 14:38:48 · 494 阅读 · 0 评论 -
poj题目分类
原文地址:http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj32原创 2012-12-25 16:56:54 · 705 阅读 · 0 评论 -
poj2352-------------线段树------------(*)
没搞大明白#include#include#includeusing namespace std;#define maxn 32010int sum[maxn];int level[maxn];int lowbit(int k){ return k & (-k);}void add(int i, int v){ while(i <= maxn){原创 2013-07-11 14:56:02 · 535 阅读 · 0 评论 -
POJ3624——01背包
题目大意: 一个镯子,对它施以魔法,增加属性值。而其本身承重能力有限。 每种魔法能最镯子增加 一定属性,但是也会增加镯子的重量。 给出几种魔法 增重、增加属性的信息 和 镯子的承重限制。 求出最佳方法使得镯子获得最佳属性。 每种魔法只能使用一次。浅析: 典型的01背包问题。原创 2012-08-01 22:12:43 · 386 阅读 · 0 评论 -
zoj 3348 网络流 汇总
摘自:http://blog.csdn.net/abcjennifer/article/details/5896583 http://blog.csdn.net/xsbailong/article/details/6975141 http://blog.csdn.net/y251673671/article/details/5841575还没看明白原创 2012-12-25 16:26:44 · 419 阅读 · 0 评论 -
poj2488--------------深搜(注意字典序)
刚开始读题的时候不小心,认为只要深搜就ok了,交了之后一直wa。看了discuss才知道读题不小心,原来是要按字典序顺序(刚开始有注意到那个陌生单词,不知道什么意思,就忽略了……>_自后才想到对每个位置周围的可走的八个位置搜索是有先后顺序的,应该按照列值由小到大的顺序,改了之后ac了。#includeint a[30][30];int vis[30][30]原创 2013-01-11 20:36:03 · 437 阅读 · 0 评论 -
poj3468---线段树----区间单点更新、区间和查询----有延迟标记
树状数组线段树建树,每个节点表示该节点所在区间的和。add [ ]数组用来标记当前节点所延迟的向下加和的数。PushDown() 向下更新。#include#define maxn 110000#define lson l, m, rt<<1#define rson m+1, r, rt<<1|1#define LL long longint n, cas原创 2013-07-10 13:34:42 · 631 阅读 · 0 评论 -
POJ1113浅析——Wall ——凸包
题目大意: 要在一座城堡周围建围墙,要求用料最省。围墙距城堡不得小于 距离 L。浅析: 题目要求用料最省,求围墙长度。因此只要找一个最小的多边形能够围住城堡即可。因此是一个求凸包周长的问题。 距离不得小于L。因此凸包顶点会形成扇形。各扇形聚在一起形成了一个圆。 所以所求周长 = 凸包周长 + 一个圆的周长。原创 2012-08-01 17:02:56 · 424 阅读 · 0 评论 -
poj1251------------------最小生成树(Prim)(a一送十)
第一次不用模板自己按理解写最小生成树。感觉很简单,但是真心被此题小陷阱恶心到了。题是很简单,提交的时候无限RE。以为是数组越界了,改了之后还是RE。看了一下discuss看到大神提醒RE是因为可能每组数据后面有好多空格。(太变态了)所以scanf是用字符接收会出错。两种解决办法:一种用cin输入。一种是用字符串接收。#include#define inf 10原创 2013-01-13 14:08:15 · 456 阅读 · 0 评论 -
poj2886线段树+反素数
题意:N个小朋友围一圈。指定一个人为起始点之后,此人出圈。按照这个人手中卡片的数字找到下一个人,下一个人出圈。。。。知道最后一个人出圈。思路:一:当期指定的人在第K个位置,他出圈后,找到下一个人在剩下的人中的位置next_K。 if(A >= 0) next_k = (k-1+A-1)%n + 1; else next_k = ((k-1原创 2013-07-08 23:39:08 · 679 阅读 · 0 评论 -
poj2777-----线段树------位运算模拟线段染色------求区间颜色种数
树状数组建立线段树,每个节点表示颜色值,end表示。。。此题比较好的是用位运算 抑或 模拟染色情况。刚开始考虑用数组表示颜色,写着写着自己都不知道写的什么了。参考的大神的程序。http://www.cnblogs.com/rainydays/archive/2011/05/14/2046419.html#include#include#include#incl原创 2013-07-11 09:43:22 · 691 阅读 · 0 评论 -
POJ1472浅析------Instant Complexity
大致题意:给出一段Pascial程序,计算其时间复杂度(能计算的项则计算,不能计算则化到最简的关于n的表达式O(n),并把各项根据n的指数从高到低排列),输出时,系数为0的项不输出,系数为1的项不输出系数,指数为1的项不输出指数。一段程序只有唯一一个BEGIN,代表程序的开始。与其对应的为最后的END,代表程序的结束。一段程序最多只有10层循环嵌套,循环的入口为LOOP,一个LOOP对原创 2012-07-11 13:41:13 · 368 阅读 · 0 评论 -
POJ2014浅析------Flow Layout
Flow LayoutTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 2518 Accepted: 1765DescriptionA flow layout manager takes rectangular objects and places them i原创 2012-05-25 16:55:21 · 526 阅读 · 0 评论 -
POJ1978浅析------Hanafuda Shuffle
Hanafuda ShuffleTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 3548 Accepted: 2024DescriptionThere are a number of ways to shuffle a deck of cards. Hanaf原创 2012-05-24 20:59:49 · 525 阅读 · 0 评论 -
POJ2013浅析------Symmetric Order
Symmetric OrderTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 10108 Accepted: 6256DescriptionIn your job at Albatross Circus Management (yes, it's run by原创 2012-05-24 23:31:34 · 457 阅读 · 0 评论 -
POJ2000浅析------Gold Coins
Gold CoinsTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 17568 Accepted: 10963DescriptionThe king pays his loyal knight in gold coins. On the first day o原创 2012-05-24 22:54:59 · 511 阅读 · 0 评论 -
POJ1922浅析------Ride to School
Ride to SchoolTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 16011 Accepted: 6439DescriptionMany graduate students of Peking University are living in Wan原创 2012-05-24 09:40:39 · 503 阅读 · 0 评论 -
POJ1658浅析------Eva's Problem
Eva's ProblemTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 15102 Accepted: 9140DescriptionEva的家庭作业里有很多数列填空练习。填空练习的要求是:已知数列的前四项,填出第五项。因为已经知道这些数列只可能是等差或等比原创 2012-05-23 21:30:48 · 418 阅读 · 0 评论 -
POJ1326浅析------Mileage Bank
Mileage BankTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 11853 Accepted: 4925DescriptionMileage program of ACM (Airline of Charming Merlion) is really原创 2012-05-23 21:15:27 · 763 阅读 · 0 评论 -
POJ1007浅析------DNA Sorting(排列DNA)
POJ1007 DNA SortingTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 64552 Accepted: 25498DescriptionOne measure of ``unsortedness'' in a sequence is th原创 2012-05-23 00:06:42 · 424 阅读 · 0 评论 -
POJ1068浅析------Parencodings
ParencodingsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 14329 Accepted: 8524DescriptionLet S = s1 s2...s2n be a well-formed string of parentheses. S c原创 2012-05-23 19:46:27 · 377 阅读 · 0 评论 -
poj1679----最小生成树
题目大意: 判断是否存在最小生成树。 如果存在,判断其是否唯一。 用prim算法求最小生成树。 将其中的每一条边依次替换,权值是否和最小生成树相同。 如果相同,则最小生成树不唯一。 如果都不相同,则唯一。 第一次做最小生成树,不会写,原创 2012-08-15 10:31:39 · 324 阅读 · 0 评论 -
poj1001----大数乘法
RT(网上找的,注意小数点后0的处理)#include using namespace std;#define MAX 200 char str[MAX+1];int num[MAX+1];int num0[MAX+1];int result[MAX+1];int fraction_len; void multify();int length(int*);原创 2012-12-31 01:41:00 · 438 阅读 · 0 评论 -
POJ2070浅析------Filling Out the Team
Filling Out the TeamTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 8634 Accepted: 4756DescriptionOver the years, the people of the great city of Pittsbur原创 2012-05-25 19:34:27 · 569 阅读 · 0 评论 -
codeforces-230A-Dragons(贪心+排序)
题目链接:codeforces.com/problemset/problem/230/AA. Dragonstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output原创 2012-12-15 18:18:06 · 995 阅读 · 0 评论 -
网络流问题
原文地址:http://www.cnblogs.com/XBWer/archive/2012/08/15/2640495.html【HDU】 1532 Drainage Ditches(基础) [最大流] 3549 Flow Problem(基础) [最大流] 3572 Task Schedule [最大流]任务分配,判断满流 2732 Leapin'原创 2012-12-25 13:36:25 · 538 阅读 · 0 评论 -
打素数表?
刚刚水了道 Yandex 2013资格赛 的题目:Prime problemTime limit3 secondsMemory limit256MbInputstdinOutputstdoutLegendFor a given intege原创 2013-07-09 20:42:34 · 529 阅读 · 0 评论 -
poj3264线段树---区间最大最小值查询(RMQ)
求区间最大最小值的差值。用树状数模拟组线段树建树,数组的每个节点保存:区间的左右两点 和 该区间的最大最小值。注意区间查询的临界值的判断。#include#define maxn 200010#define lson l, m, rt<<1#define rson m+1, r, rt<<1|1#define inf 1000010int c_min, c原创 2013-07-10 13:24:29 · 627 阅读 · 0 评论 -
poj2299-------------线段树求逆序数
数据过大,进行离散化。注意:线段树建树要注意数组为maxn四倍。(为此WA了一次)。输出格式。#include#include#include#define maxn 500010#define lson l, m, rt<<1#define rson m+1, r, rt<<1|1int n;int a[maxn];int b[maxn];i原创 2013-07-11 11:33:02 · 572 阅读 · 0 评论 -
POJ1008浅析------玛雅历
POJ1008玛雅历题名描述:Description上周末,M.A. Ya教授对古老的玛雅有了一个重大发现。从一个古老的节绳(玛雅人用于记事的工具)中,教授发现玛雅人使用了一个一年有365天的叫做Haab的历法。这个Haab历法拥有19个月,在开始的18个月,一个月有20天,月份的名字分别是pop, no, zip, zotz, tzec, xul, yoxkin, mol, ch原创 2012-05-22 22:10:24 · 1199 阅读 · 0 评论