
POJ
LXY_XYL
这个作者很懒,什么都没留下…
展开
-
POJ 1466
题意很简单,有 n 个人, 一部分是男孩,一部分是女孩,他们都有自己想要匹配的目标,问 有几个人是没有办法配对的 很容易 算出最大匹配,然后 n - 最大匹配就可以了。。就是求最大独立集合但是这题需要注意 没说具体哪个是男哪个是女,所以我们要把一个人拆成两种人去看。。也就是说存在两种情况,最终最大匹配数要除以 2. 话不多说了。版子题,稍微改动。。用的是匈牙利算法...原创 2018-11-26 00:25:19 · 184 阅读 · 0 评论 -
POJ 1961
KMP水题。。找前缀最小循环节个数。。。直接看 第 i 是否是 i - nex[i] 倍数就好了。。。太菜了。。。kmp 还得抄板子。。。。。别忘了最后还得再加个换行。。。不然会pe#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int m...原创 2019-02-23 16:54:23 · 239 阅读 · 0 评论 -
POJ 1195
二维 Bit 0初始化,3结束,1设置数字,2求和,但是注意,输入的数据从 0 开始,我们需要基础上加一#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=1e5+5;const int maxm=1050;#define l...原创 2019-02-23 16:08:05 · 224 阅读 · 0 评论 -
主席树学习(POJ 2104为例题)
主要学习了下主席树参考博客:https://www.cnblogs.com/oyking/p/3230296.html主席树就是多个线段树合起来,是一种高级数据结构以本题为例求区间第k大那么我们就采用可持久化线段树(就是主席树)先讲一下主席树思想那么我们正常去求第k大的时候,假设不是区间第k大,而是全部1-n第k大,我们在不断添加的过程中就可以求出整个第k个添加进入的数...原创 2019-01-14 16:34:43 · 180 阅读 · 0 评论 -
POJ 1062
还是一个最短路,因为总是爆内存。。。自己手搓了一个队列。后来发现是数组开小了。。。 由于有了一些网络流思想,那么这道题我们建边的时候就是 1 为 酋长,使我们最终到达的点,我们可以直接从源点走过去(花1W块),也可以通过一些比较短的路倒过去(借助交易),同时需要注意,每次交易要注意等级限制,开始想简单了,只以为直接交易双方不能超过等级差,后来发现这是一个区间。。。那建边就是 0到所有点...原创 2019-01-02 15:00:29 · 99 阅读 · 0 评论 -
POJ 2991
白皮书上的例题。。。题目如下?有n根长度不尽相同的棍子,初始时它们首尾垂直相连,标号为1--n,第一根棍子的下端坐标为(0,0),上端坐标为(0,len[1]),其余棍子依次类推。接下来执行C此旋转,每次输入一个编号num和角度rad,使得第num根棍子和第num+1跟棍子间的逆时针角度变为rad度,求每次旋转后第n跟棍子端点的坐标。那么如果我们每次改动一根,很显然对最终结果都会产生...原创 2018-12-12 00:21:30 · 623 阅读 · 0 评论 -
POJ 2823
单调队列的摸板题。。。所谓单调队列,顾名思义,在维护队列的时候还需要维护队列单调性,当然这里有一个通过类似尺取法的方法手动维护队列的方法:设一个 l , r 代表队列左右边界,当入队时 a[ ++r ] = x;出队是 x = a[ l++ ], 当然有了这个方法还可以轻松地进行队列长度限制操作等一系列操作,确实很厉害。当然我们还可以把单纯的数组 变成结构体,在记录数值的时候还...原创 2018-12-16 23:58:07 · 495 阅读 · 0 评论 -
POJ 1655
这道题就是一道求树的重心裸题,由于不存在边权的问题,我们只需要不断地去看子树就OK了,不断看子树,更新每个点的最小子树节点数,然后求出树的重心,输出这个中心的最小节点数就OK了。。。有了之前一题经验,明显更简单了。。。 以下为AC代码 #include<iostream>#include<cstri...原创 2018-12-13 23:21:34 · 182 阅读 · 0 评论 -
POJ 2932
白皮书上的例题暴力虽然能过,但是不够优秀,这里我就直接引用书上的写法我们进行一下平面扫描这道题平面扫描很简单。。平面扫描很类似于之前学的尺取法,都是只去看一个移动的区间,对于这道题,我们的处理也很简单,假设我们构造一个扫描线 从平面左边扫至右边,而对于线和圆的问题,关键的点只有两个,那就是线段刚刚与圆相切以及结束时与圆相切那两个切点,本体如果从左向右扫,关键点就是圆最左边和最右边的点。...原创 2018-12-06 16:07:14 · 261 阅读 · 0 评论 -
POJ1419
题意很简单给定一个联通图,现在要给这个图上色,要求相邻的元素不能够涂上同样的颜色,一共只有两种颜色,黑色和白色。问给定的图最多能够涂上黑色点。乍一看这道题就是讲的相邻图不能涂相同颜色,就是求一下 最大独立集,我们来简单看一下二者的关系:最大独立集:从无向图中的顶点中选出k个并且k个顶点之间互不相邻,最大的k就是最大独立集最大团:从无向图的顶点集中选出k个并且k个顶点之间任意两点之...原创 2018-11-30 23:13:37 · 237 阅读 · 0 评论 -
HDU 6201
题意如下:有一个节点为 n 的树,每个节点有权值,边也有权值,问那两个点 S T 使得 t -s -sum最大(sum 为从 s 走到 t 上所有边权值之和) 这道题可以转化成最大路径,源点选择为 0 汇点选择的为 n+1把每条边的权值设为负数, 起点到每个点的权值也为负数,每个点到终点的权值为正数,跑一边 最大路径 就是结果了起点到每个点的边权就是 点权。。。...原创 2018-11-27 22:47:21 · 265 阅读 · 0 评论 -
POJ 3692
题干意思就是 有g 个女孩,b 个男孩,s种匹配关系,代表两个人认识(男的互相之间全认识,女的也是)现在求一下这个图里的最大团。 那么问题来了,我们想一下,男的全认识,女的之间也是全认识,一个图的最大团不就是补图的最大独立集吗,那么我们既然直接求最大团有点麻烦,不如看一下补图。二分图的最大团不会求,但是我们可以求二分图的最大独立集 = n - 最大匹配所以构造补图,然后求最大独立...原创 2018-12-04 22:38:05 · 196 阅读 · 0 评论 -
POJ 1200
题意:给一个字符串,给定n和m,字符串里最多有m个不同的字符,问长度为n的不同子串最多有几个本题涉及到了一些基本的哈希。。。。哈希的思路就是把字符转化成可以相加减的具体数字,举个例子。。。判断字符串 "123132" 和 字符串 "213233"是否相等,是很容易做到的。。我们把他们当做数字来看,只需要看看这两个数字,a1是否等于 a2 就可以了,哈希的思路和这个也很相似首先 我们...原创 2018-11-27 14:48:02 · 345 阅读 · 0 评论 -
POJ 2594
题目和上一个很像,还是 n 个点 m 条边,是个有向图,无环,求最小路径覆盖,但是问题来了,这道题可以重复走之前走过的路。那么对于这个图片来说,可重复最小路径覆盖就是 2 了有了上一个题的经验我们现在开始想象如何解决。。问题在于 我们走过之后 都会对每个走过的点设置 link 标记,而每个 link 标记都是标记这下一个相连的点。这么看上去这条路完全就有一些并查集的感觉,一个点连着...原创 2018-11-26 23:04:55 · 157 阅读 · 0 评论 -
POJ 1422
题意很简单,T组数据,有 N 个村庄 M 条有向路,构成的图不会出现环,现在计划空降多组士兵,每组士兵一个人,士兵可以不回头的走完全程,别的士兵走过的地方,不能再走了。问最少将降落几组士兵可以遍历全部的节点。 简单的读一下题,发现这就是最小路径覆盖。。。至于最小路径覆盖是个什么东西。。借助一下网上大牛的博客说法:定义:通俗点将,就是在一个有向图中,找出最少的路径,使得这些路...原创 2018-11-26 21:23:12 · 402 阅读 · 0 评论 -
POJ 1981
题目很简单,给定 n 个点,问一个单位圆(半径为 1 的圆)最多能套住多少个点。 计算几何题目很暴力的算法。。。枚举。。枚举两个,再跑一边所有点。。。。虽然很暴力。。但是很好想,还有一种更加优秀的方法,但是目前还没怎么看懂。。。看懂之后再去写。。 这里有一个计算两点之间圆心的函数。。。point getmid(point p1, point p2){ ...原创 2018-11-25 15:05:01 · 373 阅读 · 0 评论 -
POJ 2531
暴力搜索,但是注意,如果移到B种总结过变小就不需要继续搞了。。。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;const int maxn=1e5+5;i...原创 2019-02-24 17:11:04 · 199 阅读 · 0 评论