![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学生时代刷题归档
大学时的ACM经历
会写代码的咸鱼
一只普通码农,毕业后混迹于上海杭州,目前在阿里搬砖
展开
-
poj 2932 Coneology 扫描线
从左到右一直扫描。。。。stl很强大。。。很强大。。嗯就是这样。。。#include#include#include#include#include#include#include#includeusing namespace std;#define max_n 400005double x[max_n],y[max_n],r[max_n];bool judge(in原创 2014-03-06 15:58:55 · 528 阅读 · 0 评论 -
hdu 3629 计算几何
这道题想了很久都没想出来什么高效一点的方法,所以就在网上膜拜了大牛的思路。主要思想就是去掉点对之间的凸包,因为凸包一定是一个三角形中包含一个点,那我们就可以对于每个点判断有多少个三角形能把它包含在内判断可以用逆向思维,就是所有三角形的个数减去有多少个三角形不能把它包含在内,然后通过极角排序来求出不包含这个点的三角形个数不得不说atan2函数挺好用的、、、、、、好吧先把代码贴一份。。有空原创 2014-03-05 23:16:36 · 518 阅读 · 0 评论 -
hdu 1086 You can Solve a Geometry Problem too(计算几何水题)
#include#include#include#include#includeusing namespace std;double EPS = 1e-10;double add(double a,double b){ if(abs(a+b)<EPS*(abs(a)+abs(b))) return 0; return a+b;}struct P原创 2014-03-05 12:35:32 · 423 阅读 · 0 评论 -
poj 1127 Jack Straws(计算几何)
题意大致就是给你n根木棍还有它们的端点坐标,每次一个询问,问第i根和第j根木棍是否相连(就是是否两条线段存在交点),能够通过其它木棍相连也视为相连这里用到了内积和外积的知识,也就是点积和叉积比如给定一个直线p1-p2如果(p1-q)与(p2-p)的外积,也就是(p1-q).det(p2-q)==0那么就可以判断这个点在p1-p2的这条直线上,接下来判断内积(p1-q).dot(p2-q原创 2014-03-05 11:49:30 · 534 阅读 · 0 评论 -
Graham 扫描算法求凸包,poj 2187(水题但是是我的第一个求n点集凸包模板)
这个题的题意很简单,就是求两个点之间的最远距离但是数据规模有点大,两个点的枚举是肯定超时的,那么仔细想一下,距离最远的点肯定是最外圈的点中的某两个那么我们枚举最外层的点就可以了,最外层的最小凸多边形的点集就叫做原点集的凸包,也就是去求n点集对应的凸包#include#include#include#include#include#includeusing namespace s原创 2014-03-04 21:16:52 · 456 阅读 · 0 评论 -
opencv1.0
// snake.cpp : Defines the entry point for the console application.//#include #include #include int main(int argc, char* argv[]) { IplImage* BK; IplImage* snake; for(in原创 2014-02-25 11:52:47 · 485 阅读 · 0 评论 -
opencv
#include#include#includeint main(int argc, char* argv[]){ IplImage* BK; IplImage* snake; BK = cvLoadImage("C:\\Documents and Settings\\k001\\桌面\\1.jpg",1); snake = cvLoadImage("C:\\Doc原创 2014-02-24 20:23:59 · 131 阅读 · 0 评论 -
opcv的代码
#include#include#includeint main(int argc,char *argv[]){ IplImage* lulu; lulu = cvLoadImage("C:\\l.jpg",1); cvNamedWindow("bichi",0); cvMoveWindow("bichi",200,200); cvShowImage("bich原创 2014-02-24 15:50:34 · 314 阅读 · 0 评论 -
poj2104
网上都说要用什么划分树。。。但是我特么不会啊。。so~~~~1s多卡过去了#include#include#include#include#include#include#include#include#includeusing namespace std;#define max_n 1000005const int B=1000;int A[max_n],I[max_n]原创 2014-02-05 19:20:22 · 451 阅读 · 0 评论 -
poj 3276 Face The Right Way
就是说B为朝后F为朝前,问每次反转连续k个数,最少需要反转几次,求最小的次数和k可以看最左边的一个,因为只有一组包含它,然后决定反转还是不反转,然后看第二个依次判断。。。还有同一个数反转奇数次为本身不必重复反转,特判当已经全都朝前时输出0 0;#include#include#include#include#include#includeusing namespace st原创 2013-11-27 19:06:52 · 487 阅读 · 0 评论 -
poj 3320 Jessica's Reading Problem 简单题还是尺取
#include#include#include#include#include#include#include#include#includeusing namespace std;int k[10000005];setall;mapm;int main(){+ int p,n,s,e,ans; while(~scanf("%d",&p))原创 2013-11-26 19:16:54 · 372 阅读 · 0 评论 -
poj 3061 Subsequence 简单题。。可以用二分也可用尺取
二分代码:#include#include#include#include#include#include#include#include#includeusing namespace std;int kep[10000005];int sum[10000005];int main(){ int n,t,s; scanf("%d",&t); w原创 2013-11-26 18:19:42 · 436 阅读 · 0 评论 -
ZOJ 3735 Josephina and RPG
实在无法吐槽了。。。先上个图。。。。。最开始看错了N的范围。。以为就是200左右。。结果就是如此坑爹的提交情况。。。哎。。其实还是一个比较简单的dp,,不过还是纠结了好久。。。没办法毕竟太弱了。。。当时看到这个题的时候就觉得是个dp但是觉得搜索可能也能做。。但是试了几次发现TLE。。,果断不想再写了。就开始推转移方程。。。dp【i】【j】 i表示打完第ai【i】组,j表示自己当前为j组,要特原创 2013-11-25 19:49:05 · 618 阅读 · 0 评论 -
hdu 1732 Push box 惨不忍睹的bfs代码。。。。
做法异常明了、、、就是bfs。但是有些地方处理的不是很好。。导致代码看起来很丑陋。。。贴上来做个纪念。。。#include#include#include#include#includeusing namespace std;char mpt[9][9];bool vis[8][8][8][8][8][8][8][8];int dir[4][2]={1,0,0,1,-1,0,0原创 2013-11-14 21:34:29 · 500 阅读 · 0 评论 -
HDU 1664 POJ 2283 Different Digits
感觉还是挺简单的一个bfs。。。但是尼玛的数论结论不知道啊。。。然后就无力了。。只有看大牛们怎么做的了转载自http://m.blog.csdn.net/blog/u010228612/9715555ps:一个数论中的结论:对于任意的整数n,必然存在一个由不多于两个的数来组成的一个倍数。因为a,aa,aaa……取n+1个,则必有两个模n余数相同,相减即得n的倍数转载 2013-11-12 22:03:28 · 640 阅读 · 0 评论 -
hdu 4751 Divide Groups(简单模拟题)
这道题其实就是一个简单的模拟题。。。因为数据量很小嘛。。。首先用一个二维数组存下关系图,然后再用两个数组表示两个集合s1,s2,然后分别按照1~n,和n~1的顺序对元素进行分类,对于元素i来说看它能否分到两个集合,如果不能那么就是NO,停止分配元素。正反两次顺序只要有一次能把所有元素全部分完,就输出YES,具体的就是代码了#include#include#include#incl原创 2013-11-12 14:31:16 · 417 阅读 · 0 评论 -
Codeforces Round #211 (Div. 2) D题Renting Bikes
妈蛋。。一个贪心题,当时 不知道怎么了就是贪不出来。。。果然还是太弱啊。。。其实只需要先排序然后二分一下能租的最多的车的数量就可以了,车的租金和拥有的钱都按从小到大排序#include#include#include#include#include#include#includeusing namespace std;int n,m;long long a;int原创 2013-11-11 23:13:18 · 454 阅读 · 0 评论 -
poj 1064 Cable master 二分长度
题目大意就是给你n条绳子,和每条绳子的长度,要求你切出k条相同长度的绳子。求能够切的最大长度,答案保留两位小数这道题就是给定一个上限和下限对答案进行二分然后注意处理一下精度就ok了#include#include#include#include#includeusing namespace std;#define inf 0x7fffffffint n,k;double原创 2013-11-04 16:02:40 · 462 阅读 · 0 评论 -
tarjan模板
今天下午就只看了一下tarjan算法。。。。妈蛋。。。太颓废了。。。这样不好不好~~#include#include#include#includeusing namespace std;int root[10000],ans,cnt,scc,top;int dfn[10000],low[10000];int s[100000],belong[10000];bool vis原创 2013-11-02 17:11:40 · 403 阅读 · 0 评论 -
poj 2528 坐标离散化+线段树
题意大概就是给你一些墙纸的宽度,也就是覆盖区间,比如1 4,就是说贴满了1到4这个瓷砖,这个题由于数据太大了10的9次方,如果这样建树的话明显不是TLE就是MLE那么久用到了坐标离散化,听起来很高端的样子,其实就是一个一一映射的关系。。比入1000 400 10000000这三个数字那么我们就把它们排序,然后分别映射为2 1 3,这样线段树的区间就只需要1~3,而不是1~10000000,原创 2013-10-20 15:42:52 · 649 阅读 · 0 评论 -
poj 1265 Area(pick公式)
gcd(abs(x1-x2),abs(y1-y2))答案为线段(x1,y1)(x2,y2)线段格点个数-1原创 2014-04-21 22:02:58 · 400 阅读 · 0 评论 -
poj 3348 Cows(求凸包面积)
就是一个求凸包面积,有两种方法,一种是用简单多边形面积公式,lingyizhong原创 2014-04-20 21:42:24 · 400 阅读 · 0 评论 -
poj 1228 Grandpa's Estate
题意:给你一堆点,问你这些点能否唯一构成一个凸包;知识点,原创 2014-04-20 21:12:28 · 522 阅读 · 0 评论 -
poj 2074 Line of Sight
有一个trick就是如果house和 property line之间没有障碍物原创 2014-04-18 16:41:13 · 393 阅读 · 0 评论 -
poj 1584 A Round Peg in a Ground Hole
题意:按照顺时针或者逆时针给你一个点集首先要判断是否为凸包,如果为凸包的话,就判断圆能否完全放在这个凸包内思路:凸包的话叉积跑一边就ok,注意在输入点是记得封口;判断圆是否在凸包内,首先判断圆心是否在凸包内,然后就简单了;要注意的一点是先输入半径,再输入的坐标。。。。哥白贡献了一个WA#include#include#include#include#include#def原创 2014-04-17 18:14:09 · 372 阅读 · 0 评论 -
poj 1039 Pipe
题意:给定一个管道,要求判断射入管道的光线能达到的最远x坐标原创 2014-04-17 11:51:48 · 333 阅读 · 0 评论 -
poj 1113(凸包入门)
没什么说的,福利题,自然要秒了原创 2014-04-15 23:30:45 · 361 阅读 · 0 评论 -
poj 2826 An Easy Problem?!(计算几何)
不得不说这道题有点爽的样子。。。要考虑很多种细节,然后原创 2014-04-15 17:17:49 · 349 阅读 · 0 评论 -
uestc oj Justice is Given by Light(计算几何)
题意是给你一堆点,这些点会形成一个多边形,有两个god原创 2014-04-13 20:30:30 · 415 阅读 · 0 评论 -
poj 3347 Kadj Squares
题意:给定n个正方形 的周长,求原创 2014-04-12 19:59:46 · 334 阅读 · 0 评论 -
UESTC oj 797 Eh? Beautiful Stone!(计算几何)
这道题的意思就是给你一个凸包,r原创 2014-04-11 21:36:03 · 469 阅读 · 0 评论 -
poj 1696 Space Ant
很好的题。。可以来检验一发原创 2014-04-09 22:09:57 · 316 阅读 · 0 评论 -
poj 1410
要考虑完全在矩形里也算是相交用到了快速排斥实验,yingw原创 2014-04-08 21:28:54 · 308 阅读 · 0 评论 -
poj 1066
判读线段相交。。又是一道练手题。。不过原创 2014-04-08 19:45:32 · 321 阅读 · 0 评论 -
poj 2653
裸的线段相交判断原创 2014-04-08 17:22:36 · 296 阅读 · 0 评论 -
poj 1556
计算几何判断线段xiangjian+最短路原创 2014-04-07 21:42:27 · 325 阅读 · 0 评论 -
poj 1269
判断直线是否相交以及求交点原创 2014-04-07 16:30:56 · 277 阅读 · 0 评论 -
poj 3304
题意可以转换为求一条直线,原创 2014-04-06 22:19:48 · 298 阅读 · 0 评论 -
poj 3233 矩阵乘法累加
题目就是求一个矩阵的1~k次幂相加经典题目代码如下#include#include#include#include#include#include#include#include#includeusing namespace std;struct mat{ int x[100][100];}A,B,E;int n,k,mod;mat operator原创 2014-03-15 16:06:30 · 489 阅读 · 0 评论 -
poj 3734福利水题一个
题意很简单。。。就不说了。就是递推找规律。。然后因为是10的9次方所以打表不行。就用到了矩阵快速幂#include#include#include#include#include#include#include#include#includeusing namespace std;struct mat{ int x[100][100];}A,E;void in原创 2014-03-15 14:21:58 · 441 阅读 · 0 评论