
ACM
diannaok
这个作者很懒,什么都没留下…
展开
-
计算几何 - 题目列表
将@小媛在努力做的题目搬过来,自己做~ 感谢一下她~ 两个斜杠是已经过的题,四个斜杠的是在ZOJ,POJ都有的题。三维凸包poj 3528 2974hdu 3662 ECNU 1624 求交集多边形面积 求俩凸多边形面积。水题。可用半平面交,也可以自己YY做。poj 1259 最大内部凸包hdu 3644 多转载 2012-07-23 09:06:57 · 1378 阅读 · 0 评论 -
HDU 3264 - Open-air shopping malls
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3264 计算几何。 思路比较简单,就是需要各种模板。。。 其实一开始想法就对了,不过由于二分的时候,l与r的赋值写反,一直没发现,导致后面把扫描线那题A了之后,才把这题过了。。。 方法很简单,先枚举以某个圆为圆心,然后再 枚举其它圆,二分寻找圆的一半面积。 而原创 2012-09-14 17:37:27 · 758 阅读 · 0 评论 -
HDU 4286 - Data Handler
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4286 一道比较恶心的模拟。。。 各种操作,考虑的地方很繁琐。。。 比赛时以为是线段树,所以没敲。。。 最后半小时,才想到链表。。。 于是开始敲,直到比赛结束,还差十几行才敲完~~~~ 不过,即使比赛时敲完,能不能AC还是个问题,因为后来修改代码,花原创 2012-09-11 10:42:02 · 759 阅读 · 0 评论 -
ZOJ 3643 - Keep Deleting
题目地址: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4811 KMP。 考的是前缀数组的运用,stack压栈,保存的是b中每一个元素对应a中的第几个。(即前缀长度) 时间复杂度O(n+m)。 #include#include#includeusing namespace原创 2012-09-07 18:24:20 · 734 阅读 · 0 评论 -
HDU 4355 - Party All the Time
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4355 三分~~ 比赛时没看到 题目输出那里写的 四舍五入·~~ WA了几次~~ 当时是GSS写的~~~。 这里我自己重新做了一下~~~ #include#include#define mul(x,y) ((x)*(x)*(x)*(y))#de原创 2012-08-09 21:27:27 · 547 阅读 · 0 评论 -
POJ 3669 - Meteor Shower
题目地址: http://poj.org/problem?id=3669 BFS。 简单搜索,记录每个炸弹落地的时间,在落地之前能走,之后不能走。 #include#include#include#include#define bug puts("here");using namespace std;int vis[330][330];原创 2012-09-05 12:23:53 · 1081 阅读 · 0 评论 -
POJ 2155 - Matrix
题目地址: http://poj.org/problem?id=2155 二维树状数组入门题,没什么好说的,理解二维之后,其实跟一维差不多了。 区间更新,单点查询。 #include#includeusing namespace std;int n,m;int tree[1001][1001];void update(int x,int y原创 2012-09-05 12:14:01 · 366 阅读 · 0 评论 -
POJ 2406 - Power Strings
题目地址: http://poj.org/problem?id=2406 KMP 。 NEXT 数组的扩展运用。 求字符串的最小循环节。(反过来说,就是求最小覆盖子串:len-next[len]) 我们判断 NEXT [ LEN ] 就行了,可以得到字符串是否重复出现。如果不重复出现,循环节为1。否则: 1. 如果重复出现的两部分,存在重叠,那么循环节一定原创 2012-08-20 19:31:10 · 532 阅读 · 0 评论 -
SWUN 1308 - 野蛮的城管
野蛮的城管 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 181920 KByte总提交 : 21 测试通过 : 4 描述 在传说中的粉刷街上,墙上充斥着各种各样的彩色词汇。但在这条街上,新任城管chc突然野蛮的认定了某些词汇是不应该存在的,于是要求RSS将那些词汇统计数量并上原创 2012-07-27 15:27:23 · 929 阅读 · 0 评论 -
UVA 5815 - Pair of Touching Circles
题目地址: http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3826 分两种情况计算。 第一种情况,两个圆水平相切、或者竖直相切。 这种情况很好计算,假设一个(以最大圆直径为宽、原创 2012-08-06 19:28:42 · 716 阅读 · 0 评论 -
BNU 12886 - gabrielus
题目地址 : http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=12886 由于不擅长DP。对于这题。 比赛的时候根本没去想。直接pass掉。。。 赛后才发现这题不难。 很容易就能推算出不重复的摆法总数是 n! / (n-m)! *((n-m)^(p-m))原创 2012-07-27 19:55:58 · 484 阅读 · 0 评论 -
HDU 4268 - Alice and Bob
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4268 贪心 + 树状数组 贪心是怪叔叔想到的,然后让我敲~~ = = 一开始敲搓了,搓B不解释了~~ 贪心的想法很简单: 首先:A和B混合排序,先按照L排,L相等的按照W排,W相等的B排A前面。 然后,从头原创 2012-09-09 01:57:39 · 606 阅读 · 0 评论 -
HDU 4267 - A Simple Problem with Integers
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4267 树状数组。 2012长春网赛。。。 46分左右1Y。。 一开始被小胖误导去敲线段树,后来发现用线段树敲,空间需求太大,并且操作麻烦。。。 重新写了个树状数组,花了十多分钟。 区间更新、单点查询。。。 其实只要能想到方法,敲起来很容易~。。。原创 2012-09-09 01:36:55 · 1981 阅读 · 0 评论 -
SWUN 1439 - 苦逼的生活刚刚开始
苦逼的生活刚刚开始 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte总提交 : 17 测试通过 : 5 描述 暑假刷了两个月的副本,遭遇各种恶心、坑爹、坑妹的战役,然而苦逼的生活才刚刚开始,真正的战斗才刚刚开始! 这一天,HLY、CHC、WSX即将奔赴战场,原创 2012-09-05 12:52:42 · 969 阅读 · 0 评论 -
HDU 4279 - Number
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4279 找规律就行了~~~ 可以发现时隔等差数列~~ 于是直接上公式~~~ 由于担心sqrt(2^64 - 1)要挂,所以上了二分~~ #include#include#define ULL __int64const ULL inf = sq原创 2012-09-10 12:55:38 · 576 阅读 · 0 评论 -
HDU 4380 - Farmer Greedy
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4380 2012年第9场多校,1001 。 补上。 其实这个做法当时有想到,只是找不出 O(n^3) 范围内 求V的求法。 所以当时只好放弃~ 。。。 赛后才知道,有其实多校第6场,电科的1004跟这题基本上一样。。。 木有来得及去看,尴尬了。。。 不过电科原创 2012-08-26 20:36:39 · 756 阅读 · 0 评论 -
HDU 4336 - Card Collector
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4336 12年多校第4场 容斥原理 当时比赛推出来 2个概率的,3个概率的推得离容斥非常远,所以木有想到容斥。 #includeint main(){ int n,i,num,p[25]; double s[25],res,tmp; w原创 2012-08-13 20:07:32 · 801 阅读 · 0 评论 -
HDU 3265 - Posters
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3265 方法 : 线段树 + 扫描线 昨晚做了哈,想用个高效的方法(每个“回”字只用两次),貌似想搓了,不得已重新回到暴力(每个“回”字分成4份)。 另外,因为利用的是点化区间的方法。RE了一次,原因是没判断 if(p[i].y2>p[i].y1) , 题目中两者是有可能相等的原创 2012-08-19 09:07:09 · 620 阅读 · 0 评论 -
HDU 4353 - Finding Mine
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4353 2012多校06场,1004 。 补上。 #include#include#include#include#includeusing namespace std;const double pi=acos(-1.0);const do原创 2012-08-27 09:33:40 · 552 阅读 · 0 评论 -
POJ 3270 / HDU 2838 - Cow Sorting
题目地址: http://poj.org/problem?id=3270 注意到了其中一部分需要__int64,另一部分被想当然的忽略了(以为不可能爆int)。结果WA了n久不知原因。 很经典的求逆序数题目。初学题。比基本的逆序数多了一个状态。即需要多写一个Query。 #include#includeusing namesp原创 2012-07-27 20:46:03 · 520 阅读 · 0 评论 -
HDU 4339 - Query
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4339 12年多校 1009题。 方法: 树状数组+二分。 时间: O( n * logn * logn ) #include#include#includeusing namespace std;char str[2][1001000];原创 2012-08-02 21:30:10 · 490 阅读 · 0 评论 -
HDU 2453 / UVA 4319 - Carrying Out A Task
简述一下题意:20*20的地图上,一个起点S,一个终点E,障碍物#,漩涡*一艘船从起点出发,携带充足的A类油和X升B类油。沿上下左右四个方向行驶,不能在障碍物的格子行驶;可以进入漩涡,但每次进入船会受伤。没走过一个格子都要消耗一升A类油。每个回合有两个操作:1.普通航行一格2.加速一次消耗Y升B类油,有两种加速方法,加速规则: a.在某一个方向连续航行d步,d步之原创 2012-07-24 15:47:07 · 1082 阅读 · 0 评论 -
HDU 2795 - Billboard
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=2795 线段树初学题目~~ 思路比较简单,记录区间剩余容量的最大值~~~ 每次询问的时候,只要当前区间范围内的最大值是否足够放入广告,不够的话,只能输出-1 够的话,那么就看一下左儿子区间的最大值是否足够放,是的话就往左儿子区间走~ 否则往右儿子区间走~~原创 2012-07-27 14:57:49 · 590 阅读 · 0 评论 -
POJ 3067 - Japan
题目地址: http://poj.org/problem?id=3067 典型的树状数组题目。 跟小学时做的连线题很像,问共有多少个交点。两点间只能用线段连,并且假设不会有3条及以上的线段交于同一点。 假设两个点 (x1,y1)、(x2,y2) 假若 y2 > y1 ,那么此时,只要存在 x1 即其中一点在另一点的左上角。 所以原创 2012-07-27 20:39:50 · 346 阅读 · 0 评论 -
SWUN 1437 - 我是一个粉刷匠
我是一个粉刷匠 时间限制(普通/Java) : 1000 MS/ 2000 MS 运行内存限制 : 65535 KByte总提交 : 4 测试通过 : 2 描述 我是一个粉刷匠 粉刷本领强; 我要把那新房子 刷得很漂亮。 刷了房顶又刷墙 刷子飞舞忙;原创 2012-09-05 12:46:57 · 937 阅读 · 0 评论 -
SWUN 1012 - Card
Card 时间限制(普通/Java) : 5000 MS/ 10000 MS 运行内存限制 : 65536 KByte总提交 : 169 测试通过 : 32 描述 YCC有一堆卡片,每张卡片上都写着一个正整数。YCC很喜欢将这些卡片排成一排,然后任意计算其中一段连续的卡片上数字的总和。随着年龄的增长,YCC觉得这个有点太容易了,于是他原创 2012-07-27 15:41:04 · 612 阅读 · 0 评论 -
POJ 3378 / UESTC 1460 - Crazy Thairs
UESTC 地址 : http://acm.uestc.edu.cn/problem.php?pid=1460POJ 地址 : http://poj.org/problem?id=3378 经典题目。 方法 :树状数组+dp+离散化+大整数 时间复杂度:O(5*n*2*logn) 因为数据太大,不能作为下标使用。原创 2012-07-28 13:10:40 · 778 阅读 · 0 评论 -
ZJU 3629 - Treasure Hunt IV
题目地址: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3629 仔细想下,应该能得出,是求的 0*0 ~ 1*1 、2*2 ~ 3*3 、 4*4~ 5*5 、…… 、偶数*偶数 ~ 奇数*奇数 …… 每一段之间这些数的总和(包含 [偶数*偶数],但不包含 [奇数*奇数])原创 2012-07-29 21:42:48 · 527 阅读 · 0 评论 -
SGU 548 - Dragons and Princesses
题目地址:http://acm.sgu.ru/problem.php?contest=0&problem=548 比较好的优先队列题~~~ #include#include#include#include#include#includeusing namespace std;int rec[300000],cnt;struct No原创 2012-11-06 19:50:02 · 1022 阅读 · 0 评论 -
HDU 3681 - Prison Break
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3681 囧,BFS+二分+DFS。 一开始懒,想直接BFS过这题,结果TLE还想着用剪枝,还是TLE。 无奈,用想到的第二种方法,bfs预处理点与点之间的距离,然后二分枚举长度,dfs查询是否能够逃出。 刚写完的时候一直WA,不明所以。 于是写了个随机,然后暴力原创 2012-09-19 13:59:14 · 810 阅读 · 0 评论 -
SWUN 1440 - 你的工资是多少
你的工资是多少 时间限制(普通/Java) : 2000 MS/ 6000 MS 运行内存限制 : 65536 KByte总提交 : 9 测试通过 : 3 描述 民大ACM团队毕业的成员,聚到一起开了一家IT公司。营业期间,公司的利润也是时而涨时儿跌,大家不得不感叹创业之艰辛。 当然,作为ACMer出身,公司对工资原创 2012-09-05 13:38:43 · 970 阅读 · 0 评论 -
HDU 4123 - Bob’s Race
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4123 树形DP + RMQ + 贪心 原本贪心那块写的是二分,结果TLE了,后来想到了一个贪心~~ 树形DP写搓了,dfs2 老半天不知哪错。。。 RMQ可以上模板,不过还是重新看了一下架构,很久没看,快忘了。。。 搞了几天,觉得其实树形DP思想还是蛮好理原创 2012-09-06 21:58:57 · 1274 阅读 · 0 评论 -
HDU 4386 - Quadrilateral
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4386 简单几何。 四边形面积,直接套公式就OK。 #include#include#include#include #includeusing namespace std;double s[4];double area(doubl原创 2012-08-21 18:37:53 · 755 阅读 · 0 评论 -
HDU 4362 - Dragon Ball
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4362 2012年多校 第7场 1003。 赛后听他们说,是用 dp+优先队列优化 过的。。。 我比赛时写的方法 应该是 贪心+二分, 勉强也可以算作 DP+二分了吧。。。 (跑了400MS,还要快一些) 时间复杂度 O( n * m * lg m ) 很简单,原创 2012-08-14 17:20:37 · 674 阅读 · 0 评论 -
HDU 1556 - Color the ball
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1556 树状数组练手。 区间更新,单点查询。 #include#includeint tree[110000];int n;void update(int v,int val){ while(v>0){ tree[v]+=val; v-=v&-v原创 2012-08-19 09:23:59 · 605 阅读 · 0 评论 -
HDU 4397 - Rubik's Cube
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4397 2012年多校 第10场,1008。 模拟题。 比赛刚开始就开始敲,敲了一个小时敲好了,交上去WA。 于是整个比赛就在调试与纠结中度过。 木有心情做其它题了。。。竟然连模拟都过不了。。。 期间怪叔叔各种帮查数据和代码,木有错。 赛后看了题解,仍原创 2012-08-23 17:59:42 · 1362 阅读 · 2 评论 -
HDU 4350 - Card
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4350 12年多校,1001题。 洗牌,n给的很大。 所以只要寻找到循环节,将n 模掉,再去暴力,剩余的时间复杂度就很低了~~~ 貌似他们找的循环节都是 (r-l+1) 与 r 的最小公倍数。。。 但我找的是 它们之间的最大公约数 gcd,然后循环节就是 r / gc原创 2012-08-09 20:42:23 · 562 阅读 · 0 评论 -
SWUN 1433 - Count
Count 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte总提交 : 5 测试通过 : 1 描述 最近Snow_storm一直被一个问题困扰着:他将1到N按顺序从左到右写在纸上,然后在每个数字前交替添加+、-号,并且计算出最后的结果。例如:当N=12时,+1 -2 +3原创 2012-08-18 19:58:53 · 609 阅读 · 0 评论 -
UVA 5986 - Wizarding Duel
题目地址 : http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=519&page=show_problem&problem=3997 这题思路不太好想。 首先先排个序,赢的次数少的人放在前头。 接下去的判断方法如下:原创 2012-08-05 00:59:43 · 983 阅读 · 0 评论 -
SGU 549 - Dumbbells
题目地址: http://acm.sgu.ru/problem.php?contest=0&problem=549 比较好的贪心。 根据题目给的优先级排序,数量多的放前面。 数量排在前k位的maze,假设数量最少的为len个, 那么统计每个maze的前len大cost之和。 将统计出来的所有数从大到小排序,然后取前k大。 #include#include原创 2012-11-06 19:57:57 · 789 阅读 · 0 评论