随笔分类 - POJ
摘要:http://poj.org/problem?id=3090 题目大意:你站在(0,0)的点上看向第一向限的点,点和点会互相阻挡,问最多看到多少点。 很容易想到,我们能看到的点,它的横纵坐标一定是互质的,那么怎么求呢? 首先我们要知道一个东西叫做法雷级数: F1:0/1 1/1 F2:0/1 1/2
阅读全文
摘要:http://poj.org/problem?id=3421 题目大意:一个数列,起始为1,终止为一给定数X,满足Xi < Xi+1 并且Xi | Xi+1。 求出数列最大长度和该长度下的情况数。 —————————————— 很简单想到分解X质因数,这样我们每加一个数就是前一个数*其中一个质因数即
阅读全文
摘要:http://poj.org/problem?id=2689 题目大意,给不超过int的l,r,其中r-l+1<=1000000,筛出其中的素数,并且求出相邻素数差值最大和最小的一对。 —————————————————— 显然这是一道筛出l和r之间素数的裸题。 我们发现对于区间里的一个合数,其最大
阅读全文
摘要:http://poj.org/problem?id=1990 题目大意:定义一对在树轴上的点,每对点产生的值为两点权值最大值*两点距离,求点对值和。 显然n*n复杂度不行,我们需要用树状数组维护两个东西。 对于某位置,一个是它和它前置位坐标和,一个是它和它前置位点的个数。 我们按照点i权值v从小到大
阅读全文
摘要:http://poj.org/problem?id=2299 题目大意:给一串数,求其按照两两交换排序最少排几次。 求逆序对裸题,不建议用数据结构(因为需要离散化)
阅读全文
摘要:http://poj.org/problem?id=2352 Astronomers晚上仰望星空,看到了很多星星。回到办公桌,Astronomers将这些星星画到二维坐标系,每个星星的坐标都是整数。例如5个星星,坐标分别为(1,1), (5,1), (7,1), (3,3), (5,5): Astr
阅读全文
摘要:我早期在csdn的博客之一,正好复习st表就拿过来。http://write.blog.csdn.net/mdeditor#!postId=63713810 这道题其实本身不难(前提是你得掌握线段树或者st表当中的一种) 那么这道题我们来讲一讲st表(因为这题询问次数有点多) 一般关系式 dp[i][j]=min/max(dp[dp[i][j-1],dp[i+pow(2,j-1)][j-1]]) ...
阅读全文
摘要:http://poj.org/problem?id=1389 题面描述在二维xy平面中有N,1 <= N <= 1,000个矩形。矩形的四边是水平或垂直线段。矩形由左下角和右上角的点定义。每个角点都是一对两个非负整数,范围从0到50,000,表示其x和y坐标。 求出所有矩形的面积(重叠部分只算一次)
阅读全文
摘要:http://poj.org/problem?id=2828 首先发现如果我们按照他的方法模拟的话,势必时间爆炸。 所以我们从后往前推,因为我们知道最后一个的位置一定是对的,而前面的位置可以从后面推知。 这样做的好处就是只移动一个元素而不是移动该元素往后的所有元素。 那么怎么查询他应该在第几位就是个
阅读全文
摘要:http://poj.org/problem?id=3468 实现一个线段树,能够做到区间修改和区间查询和。 明显板子题。
阅读全文
摘要:http://poj.org/problem?id=1816 比较麻烦的trie。 首先你需要选择针对n还是m建立trie,这里我选择了针对n。 那么就需要面临卡空间的问题。 这里提供了一种链式前向星的方法能够当你不会指针trie的时候卡过空间。(做法看代码吧) 然后针对m进行在trie上的dfs即
阅读全文
摘要:http://poj.org/problem?id=2945 还是trie树……对于结束标记累加并且开个数组记录一下即可。
阅读全文
摘要:http://poj.org/problem?id=3630 简单的trie树问题,先添加,然后每个跑一边看中途有没有被打上结束标记即可。
阅读全文
摘要:http://poj.org/problem?id=2406 就是给一个串,求其循环节的个数。 稍微想一下就知道,KMP中nxt数组记录了所有可与前面匹配的位置。 那么如果我们的循环节长度为k,有n个,那么我们最后一个nxt显然就会是k*(n-1)。 倒推即可。
阅读全文
摘要:http://poj.org/problem?id=3461 KMP板子,好久以前学过了,直接把板子粘上去即可。
阅读全文
摘要:http://poj.org/problem?id=2749 (这个约翰的奶牛真多事…………………………) i表示u与s1连,i+n表示u与s2连。 老规矩,u到v表示取u必须取v。 那么对于互相打架的奶牛u,v,有: add(u,v+n);add(v,u+n); add(u+n,v);add(v+
阅读全文
摘要:http://poj.org/problem?id=3678 总觉得这题比例题简单。 设a为x取0的点,a+n为x取1的点。 我们还是定义a到b表示取a必须取b。 那么我们有: 当AND: 1.当c=1:add(a,a+n); add(b,b+n);//我们不能取0的点,所以我们让程序一旦取0必会矛
阅读全文
摘要:http://poj.org/problem?id=3648 (在家,而且因为2-SAT写的不明不白的,所以这篇详细写) 题目大意: 有一对新人结婚,邀请了n-1 对夫妇去参加婚礼。婚礼上所有人要坐在一张很长的桌子的两边。所有的夫妇不能坐在同一边。还有m 对人,这对人不能同时坐在新郎一边,但可以同时
阅读全文
摘要:http://poj.org/problem?id=2942 所写的tarjan练习题最难的一道。 说白了难在考得不是纯tarjan。 首先我们把仇恨关系处理成非仇恨关系的图,然后找双连通分量,在双连通分量里的点满足了任意一个人可以和两个(或以上)的人坐一起。 那么我们接下来要判断奇环。 发现性质:
阅读全文
摘要:http://poj.org/problem?id=1523 这题明显就是求割点然后求割完之后的强连通分量的个数。 割点都会求,怎么求割完的分量个数呢? 我们可以通过万能的并查集啊!(具体做法看代码吧,方法不好叙述) 这样我们查割点它所连的点一共隶属于几个集合即可。 (PS:读入方式很恶心,同时请注
阅读全文