OJ
零下3℃
这个作者很懒,什么都没留下…
展开
-
POJ 3714 Raid(分治)
题目:3714题意:有两个点集,求两个点集任意两点最小的距离题解:将两个点集合并,采用分治法求平面点集距离 优化:分治左右两边求 mid-d ----- mid+d 之间的点,节省时间AC代码:#include<iostream>#include<algorithm>#include<math.h>#include<ioma...原创 2020-01-22 15:32:55 · 359 阅读 · 0 评论 -
POJ 1753 Flip Game(递归枚举)
题目:1753题意:有一个4*4的棋盘,棋盘上有黑白格,每一次你可以翻其中的一个格子。一个格子(x,y)如果被翻,它相邻的前后左右四个格子(如果在棋盘上)也要翻转。现在给你一个初始的棋盘状态,问把这个棋盘翻转到全黑或全白的最少次数;若不能达到全黑或全白,输出Impossible。题解:对于每一个格子,翻奇数任意次和翻一次没有区别,翻偶数任意次和翻0次没有区别,所有直接递归枚举所有的状态即可...原创 2020-01-22 12:03:42 · 228 阅读 · 0 评论 -
POJ 3233 Matrix Power Series(矩阵快速幂)
题目:3233题意:给出一个方阵,求幂级数和,并对M取余题解:采用矩阵快速幂,利用等比矩阵的性质AC代码:#include<iostream>using namespace std;#define MAXN 61int n, k, m;int A[MAXN][MAXN], B[MAXN][MAXN];void mult(int a[MAXN][MAXN]...原创 2020-01-21 15:40:01 · 312 阅读 · 0 评论 -
POJ 2366 Sacrament of the sum(哈希)
题目:2366题意:从两个有序列表中寻找是否存在两个数加和等于10000题解:哈希AC代码:#include<iostream>using namespace std;#define MAX 80000#define mid 40000#define target 10000int a[MAX] = {0};int main() { int n1, ...原创 2020-01-21 13:59:36 · 383 阅读 · 0 评论 -
POJ 1088 滑雪(拓扑排序)
题目:1088题意:求矩阵中的最长递减长度题解:拓扑排序(剥洋葱)AC代码:#include<iostream>#include<vector>using namespace std;#define MAX 100int cnt;int dir[4][2] = { {0,1}, {0,-1}, {1, 0}, {-1, 0} };int ma...原创 2020-01-21 13:23:11 · 170 阅读 · 0 评论 -
POJ 1636 Prison rearrangement(并查集 + 动态规划)
题目:POJ 1636题目大意:两个监狱交换等数量的犯人(不超过一半),有的犯人不能在一个监狱,求最大交换人数题解:用并查集求出有关系的人数,以数对的形式表示,然后转化为背包问题,用动态规划求解AC代码:#include<iostream>#include<string.h>using namespace std;#define MAX 410...原创 2020-01-21 12:16:48 · 812 阅读 · 0 评论 -
POJ 3579 Median
题意:给出一个数列,然后计算数列里各个数之间的差值的绝对值,形成一个新数列,求新 数列的中位数分析:第一种方法可以用upper_bound,功能是在一段单调递增的序列中找到第一个大于目标元素的地址。用处是可以统计小于或等于value的元素有多少个(所以要减1)。该函数使用二分快速查找,时间性能log n。思路是对于某个确定的d,通过枚举第一个元素的下标来统计以这个元素为首的数对有多少个是...原创 2019-11-24 21:26:36 · 82 阅读 · 0 评论 -
POJ 3269 Building A New Barn
题意: 已知 N 头牛的位置,问牛舍建在哪里,牛到牛舍的距离和最小以及可以取到最小值点的个数。分析:此题关键点:没有两个放牧点是相邻的曼哈顿距离公式:d=|x1−x2|+|y1−y2|,由于两点曼哈顿距离的特性,单独求 x 与单独求 y 互不影响因此,题目即为求 |x−x1|+|x−x2|+…+|x−xn| 的最小值,求 |y−y1|+|y−y2|+…+|y−yn| 的最小值...原创 2019-11-24 15:59:21 · 803 阅读 · 0 评论 -
POJ 1723 Soiders
题意:一些士兵站在矩阵的一些方格内,现要把他们移动到一横排,并连续地排成一队,问最少需要移动多少步。分析:货仓选址问题,相关证明可以浏览:https://www.cnblogs.com/LLTYYC/p/9537677.html货仓选址核心思想简短描述:对于一个数列,其各点到此数列的中位数处的距离之和是最短的。对于纵坐标,假设选取的基准点为,那么移到同一排的步数之和为,所以直接求...原创 2019-11-24 14:50:40 · 785 阅读 · 0 评论 -
【天梯赛-练习题】L1-056 猜数字
L1-056 猜数字 (20 分)一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。输入格式:输入在第一行给出一个正整数N(≤104)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。输出格式:在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,...原创 2019-03-11 18:17:08 · 267 阅读 · 0 评论 -
杭电OJ 1042 AC
Problem DescriptionGiven an integer N(0 ≤ N ≤ 10000), your task is to calculate N!InputOne N in one line, process to the end of file.OutputFor each N, output N! in one line.Sample Input1...原创 2019-01-22 15:10:18 · 188 阅读 · 0 评论 -
杭电OJ 1715 AC
Problem DescriptionFibonacci数列,定义如下:f(1)=f(2)=1f(n)=f(n-1)+f(n-2) n>=3。计算第n项Fibonacci数值。Input输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。Output输出为N行,每行为对应的f(Pi)。Sample Input512...原创 2019-01-22 16:19:15 · 180 阅读 · 0 评论 -
杭电OJ 1316 AC
原题目:HDOJ 1316主要搞清楚斐波那契数列的数值长度,与数N大致是1:5的关系。1000的斐波那契数为209位,虽然此题变形了一点,但不至于影响太多。#include <iostream>#include <string.h>using namespace std;#define len 110int fib[500][110];void ini...原创 2019-01-23 15:37:45 · 187 阅读 · 0 评论 -
【天梯赛-练习题】L1-009 N个数求和
L1-009 N个数求和 (20 分)本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式...原创 2019-03-03 11:19:40 · 290 阅读 · 0 评论 -
【天梯赛-练习题】L1-011 A-B
L1-011 A-B (20 分)本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入...原创 2019-03-03 15:18:59 · 223 阅读 · 0 评论 -
【天梯赛-练习题】L1-050 倒数第N个字符串
#include <iostream>#include <iomanip>#include <string.h>#include <string>using namespace std;int main() { int l; int n; int sum = 1; int temp; char c = 'z'; cin >...原创 2019-03-10 20:56:14 · 184 阅读 · 0 评论 -
【天梯赛-练习题】L1-046 整除光棍
L1-046 整除光棍 (20 分)这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当...原创 2019-03-11 11:12:04 · 153 阅读 · 0 评论 -
【天梯赛-练习题】L1-049 天梯赛座位分配
L1-049 天梯赛座位分配 (20 分)天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队...原创 2019-03-11 18:05:29 · 230 阅读 · 0 评论 -
杭电OJ 1002 AC
这道题是大数加法的典型题,比较基础,但是要注意输出格式,我也出现过几次WA,后来发现是由于没有重置数组,导致前一次运算影响了后一次结果。建议你们通过样例但出现WA的时候多尝试其他的数据,比如166 + 1这种,耐心一点,希望你们也AC呦#include <iostream>#include <string.h>using namespace std;...原创 2019-01-21 13:47:38 · 254 阅读 · 0 评论