![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
解题报告
文章平均质量分 50
木子小新
这个作者很懒,什么都没留下…
展开
-
Ural 1073 Square Country 解题报告
题意:A square problem Time Limit: 3 second Memory Limit: 1000KThere live square people in a square country. Everything in this country is square also. Thus, the Square Parliament has passed a law ab原创 2015-09-20 21:21:23 · 324 阅读 · 0 评论 -
LeetCode 1. Two Sum 解题报告
题意:数组nums中,有两个元素的和是target,找出这两个元素的位置。思路:维护一个map,用数组的元素的值做key,用元素的位置做value。遍历nums,对每个num来说,如果map[target - num] 有值的话,就返回map[target - num]和num的位置,如果没有找到的话,就把num插入到map中,map[num] = index。时间复杂度O(n原创 2015-12-28 19:48:38 · 2757 阅读 · 0 评论 -
poj 1182 食物链(并查集)解题报告(转)
在输入时可以先判断题目所说的条件2和3,即: 1>若(x>n||y>n):即当前的话中x或y比n大,则假话数目num加1. 2>若(x==2&&x==y):即当前的话表示x吃x,则假话数目num加1. 而不属于这两种情况外的话语要利用并查集进行判断当前的话是否与此前已经说过的话相冲突. struct node { int parent;原创 2015-09-20 21:19:47 · 241 阅读 · 0 评论 -
poj 1003 Hangover 解题报告
题意还是比较容易理解的,题上已经给出了公式。求1/2 + 1/3 + 1/4 + ... + 1/(n + 1)>=x的最小n的值,稍微注意点的就是浮点型了,貌似很多人都WA过,都是错在浮点数的。。代码实现#include iostream>using namespace std;int main(){ float f; while(cin>>f,f) {原创 2015-09-20 21:20:05 · 261 阅读 · 0 评论 -
poj 1004 Financial Management 解题报告
求12个月工资的平均数。这个题的难度和1001差不多吧 1 #include iostream> 2 using namespace std; 3 4 5 int main() 6 { 7 int n=12; 8 float sum=0.0; 9 float a;10 while(n--)11 {12 cin>>a;13原创 2015-09-20 21:20:08 · 369 阅读 · 0 评论 -
poj 1005 I Think I Need a Houseboat 解题报告
这道题的大致意思: 圆表示一块面积可扩展的区域,开始时,面积是0,在(0,0)处开始以每年50平方米的速度同样呈半圆扩展,输入一个正整数N,然后输入N对坐标,对于每一对坐标值:求出面积扩展到该点的年数,坐标值单位为米。 理解意思后此题就水很多了。细心的话一次搞定~ #include iostream>#include cstdio>#include cmath>using names原创 2015-09-20 21:20:11 · 312 阅读 · 0 评论 -
poj 1007 DNA Sorting 解题报告
题意:输入是第一行两个数字,表示每行的长度和总行数然后是n行字符串求出每行字符串的逆序数,按逆序数从小到大的顺序排列所有的字符串。。什么是逆序数呢,在一个排列中,如果前面的数比后面的大就称为逆序.一个排列中的逆序总数称为逆序数。。例如:给出32145求出它的逆序数,从它的第二个数开始,和它前面的数比较大小,如果是从小到大的顺数,则逆序数为0,如果前面有几个比它大的逆序数就是几。。。原创 2015-09-20 21:20:15 · 476 阅读 · 0 评论 -
poj 1046 Color Me Less 解题报告
题意:前16组是被查找组,然后给出每组数据,从16组数据中找出符合公式 D的最小值。。思路:一道水题。遍历每组数据,暴力解之~~~代码:#include iostream>#include cmath>#include cstdio>using namespace std;typedef struct{ int x1,x2,x3;}Color;Color c[16原创 2015-09-20 21:20:20 · 384 阅读 · 0 评论 -
poj 1118 Lining Up 解题报告
题意:给出n个点的整数坐标(n思路:简单几何题。采用几何中三个点是否在一条直线判定定理。代码:#include iostream>#include algorithm>#include cstdio>using namespace std;typedef struct{ int x,y,count;}Point;Point p[703];double a[703]原创 2015-09-20 21:20:25 · 345 阅读 · 0 评论 -
poj 2606 Rabbit hunt 解题报告
题意:给出n个点的整数坐标(n思路:简单几何题。采用几何中三个点是否在一条直线判定定理。代码:#include iostream>#include algorithm>#include cstdio>using namespace std;typedef struct{ int x,y,count;}Point;Point p[203];double a[203]原创 2015-09-20 21:20:27 · 313 阅读 · 0 评论 -
poj 1207 The 3n + 1 problem 解题报告
题意:给出一个区间,求区间内每一个数按规则(奇数取3n+1,偶数取n/2)变换最后变成1的步数,求最大的一个步数。思路:这道题在poj上很快就是水过了,用的是一般的笨方法,后来看到学校的oj也有这道题,就复制粘贴过去,结果WA了,好诡异。然后改了一些细节,TLE了,顿时无语。然后经过各种优化啊,记忆优化啊,有木有!!优化到不能再优化啊,还是TLE啊。没办法了,只能试试其他的方法了。很简原创 2015-09-20 21:20:30 · 325 阅读 · 0 评论 -
poj 1247 Magnificent Meatballs 解题报告
题意:S从1顺时针走,E从n逆时针走。使走到一个位置,他们正好把肉丸给完,而且给的肉丸数量相等。思路:水题,每次让给出的总肉丸数最少的那个人继续给,直到所有人给完。然后判断两个人给的总数是否相同。代码:#include iostream>#include cstdio>#include cstring>using namespace std;int table[33];原创 2015-09-20 21:20:32 · 384 阅读 · 0 评论 -
Ural 1001 Reverse Root 解题报告
题意:求出每个数的平方根,然后倒序输出。保留四位小数。思路:我在Ural的第二道题,我的第一篇ural解题报告,为什么第一道题没有写呢。。。。你们懂的。之所以选择Ural,是因为那上面的题都是原创的,质量很高,有很多国内的童鞋也在那里A题。。。我就是想找一个安静的环境不断的A题,所以就选择了这个oj了。代码:#include iostream>#include cstdio原创 2015-09-20 21:20:37 · 660 阅读 · 0 评论 -
Ural 1005 Stone Pilet 解题报告
题意:把所给出的石头分成两堆,使两堆的差最小。思路:这道题可以用01背包写。。也可以直接暴力。。。题上的数据范围决定了dp的效率没有暴力的高。。代码:#include iostream>#include algorithm>#include cstring>#include cmath>usingnamespace std;int a[23];int sumAll;int原创 2015-09-20 21:20:41 · 294 阅读 · 0 评论 -
Ural 1020 Rope 解题报告
题意:已知每个圆圆心的坐标和半径,求绳的长度。。思路:每个圆心围成的多边形的周长,加上圆的周长。代码:#include iostream>#include cmath>#include iomanip>usingnamespace std;constdouble PI=3.141592;typedef struct{ double x,y;}Point;Point p原创 2015-09-20 21:20:46 · 267 阅读 · 0 评论 -
Ural 1025 Democracy in Danger 解题报告
题意:投票者被分成K个组,如果超过半数的组投赞成票,决议就可以通过。每组是投赞成票还是反对票也由每组内部投票决定,若这一组有超过半数的人投赞成票,那么这一组就投赞成票。思路:很水的题。。。代码:#include iostream>#include algorithm>usingnamespace std;int a[103];int main(){ int n;原创 2015-09-20 21:20:50 · 392 阅读 · 0 评论 -
Ural 1014 Product of Digits 解题报告
题意:是找到一个最小的正整数Q,使Q的各位数的乘积等于N。思路:从9到2取余。代码: #include iostream>#include algorithm>usingnamespace std;bool fun(int x,int*ops,int&num){ if(x==1) return1; for(int i=9;i>=2;i--) {原创 2015-09-20 21:20:55 · 295 阅读 · 0 评论 -
LeetCode 2. Add Two Numbers 解题报告
题意:有两个链表,它们表示逆序的两个非负数。例 (2 -> 4 -> 3)表示342,求两个数字的和,并用同样的方式逆序输出。如342+465 = 807,你需要把结果表达为(7 ->0 ->8)。思路:模拟一下加法的运算过程,从个位开始加,进位保存下来,十位运算的时候把个位的进位加上,依次类推。C++ Code/** * Definition for sin原创 2016-01-06 19:19:47 · 406 阅读 · 0 评论