![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
POJ
become__better
大胆去问,大胆去做,效率
展开
-
poj 2386 Lake Counting dfs深搜(挑战程序设计竞赛 第二版p32)
题目地址:http://poj.org/problem?id=2386题目大意:有n*m的区域,有的区域有水,八连通的积水被认为是连在一起的,求有多少个水洼。思路:深搜DFS这是一道深搜的基础题,利用搜索,在一个水洼出现的第一个水(W)之后,**便将这个水洼置空(赋值为.)**这样一个水洼不会重复计数,不断累加水洼的个数即可。#include<stdio.h>#include...原创 2019-01-12 10:30:00 · 150 阅读 · 0 评论 -
Grandpa's Estate POJ 1228 (凸包)
题目地址:http://poj.org/problem?id=1228凸包丢失了若干个点,给你剩余的点,求这些剩余的点能不能构成一个唯一的凸包,即剩余点加上任意点(剩余点还在凸包边上),只能构成一个凸包。在剩余点中,一遍至少三个点才能保持唯一性,两点的话可以在两点之间的外面加一点,三点加一点的话,原先三点中的中间的点会失效。一种错误的写法建两个凸包,一个允许多点共线,一个不允许,看这两个凸...原创 2019-06-26 19:37:18 · 168 阅读 · 0 评论 -
The Fortified Forest POJ - 1873 (二进制枚举+凸包)
题目地址:http://poj.org/problem?id=1873二进制枚举所有被删的点,求出能构成围墙的树木的最大价值组合。另外,G++不要用 %.2lf 今天又在这W了 换成C++ A了#include<stdio.h>#include<math.h>#include<algorithm>#include<iostream>...原创 2019-07-02 21:23:07 · 76 阅读 · 0 评论 -
Acperience POJ 5734 (数字推导)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5734题目有点长,直奔最后两段就行。此题在于有的做法会爆long long这种:ans1爆了 long long#include <iostream>#include <cstdio>#include <algorithm>#include <...原创 2019-06-29 15:26:00 · 142 阅读 · 0 评论 -
POJ3071:Football(概率DP)
原题 Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, …, 2n. In each round of the tournament, all teams still in the tournament are placed in a list in order of increa...原创 2018-07-30 17:25:56 · 200 阅读 · 0 评论 -
C Looooops POJ - 2115(扩展欧几里得)
题目地址:http://poj.org/problem?id=2115题意:for (variable = A; variable != B; variable += C)variable= variable%2k.问循环是否能够终止,以及循环的次数。思路:扩展欧几里得的基础题。假设循环x次,则a+cx=b(mod 2^k)cx=(b-a)(mod 2^k)cx+2ky=(b-a)...原创 2019-07-19 10:26:29 · 82 阅读 · 0 评论 -
Georgia and Bob POJ-1704(阶梯博弈)
题目地址:http://poj.org/problem?id=1704当一组内两个石子并在一起,后手必胜,新手如何移动前者,后手就如何移动后者即可,又恢复了状态,直到先手不能移动。#include <cstdio>#include <iostream>#include <cstring>#include <string>#include ...原创 2019-07-24 20:54:42 · 106 阅读 · 0 评论 -
Death to Binary? POJ - 2116(模拟 斐波那契数列)
题目地址:http://poj.org/problem?id=2116思路:输入两个斐波那契数列基数制的数,转换成十进制,相加,再把这三个十进制数转换成规范性的斐波那契数列基数制的数。注意输入的斐波那契数列基数制的数可能有零。在转换成规范性的斐波那契数列基数制的数时,直接将十进制数化成尽可能大的斐波那契数列基数位即可。当斐波那契数列基数的第n位是1,第n-1位不可能也是1,因为 Fn = F...原创 2019-07-21 18:19:14 · 168 阅读 · 0 评论 -
Farey Sequence POJ - 2478(欧拉函数)
题目地址:http://poj.org/problem?id=2478Fn与Fn-1相比多了与小于n并且n互质的组合,增加的个数为phi(i),Fn实则是欧拉函数的前缀和。打表,求前缀和即可。#include<stdio.h>#include<math.h>#include<algorithm>#include<iostream>#inc...原创 2019-07-21 18:32:39 · 121 阅读 · 0 评论 -
Scout YYF I POJ - 3744(概率+矩阵快速幂)
题目地址:http://poj.org/problem?id=3744题意:路上有N个雷(踩雷之后你会牺牲),初始时你在第一单元,每次可以走一个单元或者两个,概率分别为p,1-p;路长最大为100000000,求你安全通过的概率。思路:第一步:设dp[i]是安全通过第i单元的概率,那么初识时ddp[0]=0, p[1]=1,递推关系为:dp[i]=p*dp[i-1]+(i-p)*dp[i-...原创 2019-08-05 20:03:28 · 165 阅读 · 0 评论 -
Triangle POJ 2079 (旋转卡壳 求最大三角形面积)
题目地址:http://poj.org/problem?id=2079求凸包三点组成的最大面积。利用对踵点之间的距离是凸函数,以及对踵点的一点向顺时针(逆时针)方向旋转时,另一点也会向同等方向旋转的这两条性质,进行求解,时间复度杂在于了O(n)。( 我不能从本质证明这两条性质,只能去理解)#include<stdio.h>#include<math.h>#incl...原创 2019-06-26 18:47:04 · 185 阅读 · 0 评论 -
Cows POJ 3348 (凸包面积)
题目地址:http://poj.org/problem?id=3348本题在于求凸包面积,方法是将一个n点凸包的面积看成n-2个三角形的面积之和,进行求解。#include<stdio.h>#include<math.h>#include<algorithm>#include<iostream>using namespace std;c...原创 2019-06-26 17:25:47 · 139 阅读 · 0 评论 -
Wall POJ 1113 (凸包周长)
题目地址:http://poj.org/problem?id=1113给你n个城堡的坐标(理想为点),建一个围墙离最近城堡的距离为L,求围墙的最小长度。思路:先构建一个凸包,先假设凸包的边为围墙,再把围墙后移L,围墙之间的空隙用用圆连接。围墙=凸包周长+2π*L;凸包的周长for循环求即可。#include<stdio.h>#include<math.h>#i...原创 2019-06-17 21:23:40 · 128 阅读 · 0 评论 -
poj 2386 Lake Counting BFS广搜(挑战程序设计竞赛 第二版p32)
题目地址:http://poj.org/problem?id=2386题目大意:有n*m的区域,有的区域有水,八连通的积水被认为是连在一起的,求有多少个水洼。思路:广搜 BFS这是一道深搜的基础题(我前一篇博客有深搜的方法,博客地址:https://blog.csdn.net/xiaoshazheng/article/details/86349267)但现在我用广搜来写。利用搜索,在一个水...原创 2019-01-14 09:38:02 · 229 阅读 · 1 评论 -
POJ 1979 Red and Black BFS(深搜) (挑战程序设计竞赛 第二版p135练习题)
题目地址:http://poj.org/problem?id=1979不好意思,我要去学线性基,有时间再讲,先上代码。#include<stdio.h>#include<string.h>#include<algorithm>#include<queue>#include<math.h>#include<iostrea...原创 2019-01-14 10:18:28 · 186 阅读 · 1 评论 -
POJ 1061 青蛙的约会 (欧几里德+同余方程)
#include<stdio.h>#include<string.h>#include<algorithm>#include<queue>#include<math.h>#include<iostream>using namespace std;void Ex_gcd(long long a, long long...原创 2019-02-28 20:08:37 · 119 阅读 · 0 评论 -
Strange Towers of Hanoi POJ 1985 (递推) 《算法竞赛进阶指南》P14
题目地址:http://contest-hunter.org:83/contest/0x00「基本算法」例题/POJ1958 Strange Towers of Hanoi这是一个有四座塔的汉诺塔(可百度)问题,在汉诺塔问题中,最后你必须留出一座塔把盘子移到最终柱子上。f[]表示在四座塔情况下的移动步数,d[]表示在三座塔下的移动步数,因此f[n]=min 1<=i<n (2*f[...原创 2019-06-12 19:50:17 · 125 阅读 · 0 评论 -
TOYS POJ 2318 (叉积 判断点与直线的关系)
题目地址:http://poj.org/problem?id=2318设向量P=(x1,y1),Q=(x2,y2),两个向量的叉积仍然是一个向量,并且这个向量垂直于P、Q,它的模是一个特殊的数|P * Q|=x1 * y2-x2*y1若结果为正,则P在Q的顺时针方向;若结果为负,则P在Q的逆时针方向;若结果为零,则P与Q共线,也就是平行,可能同向可能反向#include <ios...原创 2019-06-01 15:54:22 · 214 阅读 · 0 评论 -
Segments poj 3304 (几何 叉积)
题目地址:http://poj.org/problem?id=3304题目大意:给出n条线段两个端点的坐标,问所有线段投影到一条直线上,如果这些所有投影至少相交于一点就输出Yes!,否则输出No!。解题思路:如果有存在这样的直线,过投影相交区域作直线的垂线,该垂线必定与每条线段相交,问题转化为问是否存在一条线和所有线段相交直线肯定经过两个端点。枚举端点,判断直线和线段是否相交。还有就是加...原创 2019-06-08 13:36:57 · 125 阅读 · 0 评论 -
Intersecting Lines POJ 1269 (几何 叉积 直线交点)
题目地址:http://poj.org/problem?id=1269思路:先用叉积判断两条直线是否(共线、平行)或(相交);是共线、平行的情况下,再用叉积判断是共线还是平行;相交的情况下,用直线的性质求交点。如何由两点坐标确定一条直线的ax+by+c=0表达式比如已知两坐标:(x1,y1),(x2,y2);对于表达式ax+by+c=0;a=?,b=?,c=?;y=kx+m,y1=...原创 2019-06-08 13:54:47 · 515 阅读 · 0 评论 -
Pick-up sticks PO J2653 (几何 线段相交)
题目地址:http://poj.org/problem?id=2653就是暴力判断线段是否相交本题1 数组变量最好为全局变量。2这样可以过 for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) { if(Segment_crossi...原创 2019-06-08 14:13:46 · 125 阅读 · 0 评论 -
Scrambled Polygon POJ 2007 (极角排序 )
题目地址:http://poj.org/problem?id=2007这是一道基础题,就是将点按照相对于(0,0)的极坐标位置排一下序,按逆时针方向。我们用叉积排序,而不用atan函数,因为atan函数在精度要求严格时会失效可以看做是凸包的先行题。#include <iostream>#include <stdio.h>#include <stdlib.h&...原创 2019-06-16 18:54:01 · 95 阅读 · 0 评论 -
Check the difficulty of problems POJ - 2151(概率)
题目地址:http://poj.org/problem?id=2151题意:已知t个队,m道题,每个队伍解出每一题对应的概率,求每个队伍至少解出一题,并且有队伍解题数大于等于n的概率。思路:先求出每个队伍至少解出一题的概率ans1,和在每个队伍至少解出一题情况下,队伍解题数都小于n的概率ans2,那么最终答案就是ans1-ans2.设dp[i][j][k]为第i队写完第j题后解出k题的概率,...原创 2019-08-12 20:21:03 · 120 阅读 · 0 评论