上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 25 下一页
摘要: 题意:判断点在多边形内题解:随机一个区域外的点,与所有线段求交,如果点数为奇数,则在多边形内,反之,在多边形外需要注意:1、与多边形的顶点相交时,重新随机一个点2、点若在多边形上的话,直接返回奇数(我就在这里tle了。。一直随机,不停了。。。)View Code 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6 #include <cmath> 7 #inc 阅读全文
posted @ 2013-02-23 21:35 proverbs 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 题意:给定半圆的圆心和半径和n个点,求能在半圆内的最多的点数。题解:先把所有的在圆外的点删除,然后求出所有的点关于圆心的极角,然后排序,因为是环形的,极角复制一份加在原来的后面,维护双指针即可~View Code 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6 #include <cmath> 7 8 #define PI 3.141592653589 9 阅读全文
posted @ 2013-02-23 21:31 proverbs 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 题意:求凸包周长题解:注意特判就好,两个点时特判,不知为什么。。View Code 1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <cstring> 5 #include <algorithm> 6 #include <cmath> 7 8 #define N 120 9 10 using namespace std;11 12 struct PO13 {14 int x,y;15 }p[N];16 17 int stk[ 阅读全文
posted @ 2013-02-23 21:27 proverbs 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 题意:是否存在规范相交View Code 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6 #include <cmath> 7 8 #define N 2020 9 #define EPS 1e-410 //规范相交 11 using namespace std;12 13 struct PO14 {15 double x,y;16 };17 18 str 阅读全文
posted @ 2013-02-23 21:25 proverbs 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题意:很多线段,求总交点个数(不规范相交),没有三线共点题解:模板,拿几道计算几何水题开头,准备计算几何专题了~这个题的细节其实很多,只是数据太水了!不规范相交模板:View Code 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6 #include <cmath> 7 8 #define N 110 9 #define EPS 1e-7 10 #defi 阅读全文
posted @ 2013-02-23 21:24 proverbs 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 题解:每个数第一次出现时随便改成pos-n,之后改成前一次出现的位置。询问的时候查找一个区间中比左端点小的数的个数吐槽:尼玛数组越界了查了一晚上+半个下午。树套树这种东西真难查错!我多插入了很多没有用的节点,所以就慢了点,不过省代码~View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdlib> 4 #include <algorithm> 5 #include <cstdio> 6 7 #define N 6000050 8 #define INF 阅读全文
posted @ 2013-02-23 10:15 proverbs 阅读(1109) 评论(0) 推荐(0) 编辑
摘要: 题意:给10个字符串,求他们的最长公共子串。题解:只要明确后缀自动机中的每个节点都是其实都对应着逆序的后缀树的一个集合。而nlcs(当前最长匹配长度)和lcs都是对于这个集合而言的,所有,每个点都要更新他的*f指针(逆序后缀树的父亲)所指的节点。View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdlib> 4 #include <algorithm> 5 #include <cstdio> 6 7 #define N 500050 8 9 using 阅读全文
posted @ 2013-02-20 23:33 proverbs 阅读(898) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个字符串的环,求从那个位置起字符串的字典序最小。题解:最小表示法。论文链接View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cstdio> 5 #include <algorithm> 6 7 #define N 20200 8 //求最小循环同构串起点 9 using namespace std;10 11 char str[N];12 int len;13 14 inline int go()15 阅读全文
posted @ 2013-02-20 20:30 proverbs 阅读(1062) 评论(0) 推荐(0) 编辑
摘要: 题意:给两个字符串A、B求他们的最长公共字串。题解:后缀自动机啊。你怎么这么恶心这么神啊。。。必然还是我太弱了。。第一次搞,参考了别人的代码。将A建立成后缀自动机,后缀自动机的任意一个节点都表示若干个A的字串,让B在后缀自动机上匹配,不能匹配就沿着f指针转移就是了。在这个过程中维护自动机的一个节点对应的right集合的最大匹配长度。取最大值就是答案。View Code 1 #include <iostream> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cstdio> 5 #inc 阅读全文
posted @ 2013-02-20 19:29 proverbs 阅读(984) 评论(0) 推荐(0) 编辑
摘要: 题解:带单点更新的区间第k大~函数式线段树秒杀了~与不带修改的函数式线段树唯一不同的在于线段树中的每个结点维护的都是这个位置的结点的树状数组值~然后自己随便怎么胡搞啊神马的就nlog^2n了~View Code 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <cstring> 5 #include <algorithm> 6 7 #define N 110040 8 #define lowbit(x) x&-x 9 10 us 阅读全文
posted @ 2013-02-19 19:09 proverbs 阅读(1020) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 25 下一页