LightOJ
xrivendell7
永不放弃,永不停息
展开
-
Light OJ 1203 凸包+寻找凸多边形最小角度
题目的意思不难理解,就是求凸包中最小角度 首先构造凸包,之后求最小的角度(<180) 注意有一个陷阱,当角度为180度时,假设图形中仅仅只有一个点,实际的角度应该是0度,这点需要特判. WA了一天才发现.#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>const double PI=acos原创 2016-09-14 23:54:28 · 490 阅读 · 0 评论 -
Light OJ 1239 计算凸包周长
看懂题目大意后,和POJ1113非常像,求一个凸包周长加上圆的周长 建立凸包,求周长,出结果即可,注意精度,不过用double比较保险#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>using namespace std;const double eps=1e-10;const double原创 2016-09-18 01:04:51 · 313 阅读 · 0 评论 -
Lightoj1370 Bi-shoe and Phi-shoe
Lightoj1370 寻找使得x<=phi(y)最小的y,原本以为是一道euler函数的裸题,套上euler函数的模版TLE 写几项发现,y就是比x大的最小素数,素数打表,之后线性时间打p[i]数组求解,就不会再超时。AC代码:#include <bits/stdc++.h>typedef long long ll;using namespace std;const int maxn=原创 2016-09-29 23:56:54 · 457 阅读 · 0 评论 -
LightOJ1035 Intelligent Factorial Factorization(算数基本定理)
LightOJ1035 求n!的各个的算数基本定理分解 n的数据很小只有100,所以调用,并把每个位数e[i]加起来就可以了 输出写的比较丑陋…AC代码:#include <bits/stdc++.h>using namespace std;const int maxn=100+5;bool visit[maxn];int prime[maxn],e[maxn],n;void pri原创 2016-09-30 01:51:21 · 489 阅读 · 0 评论 -
LightOJ1007 Mathematically Hard
LightOJ1007 题目的意思很容易理解,求一个区间[a,b]内的欧拉函数平方之和 但是题目的数据限很大 a,b都是1e12级。按照一般思路写好程序后,实验以下从2到10000发现long long也会超范围,所以用unsigned long long。 此外还需要预处理前缀和,不然就会超时。 预处理前缀和时不能够再开数组,不然就会爆内存,WA点多多. AC代码:#include <b原创 2016-10-01 09:03:14 · 339 阅读 · 0 评论 -
LightOJ1341 Aladdin and the Flying Carpet
LightOJ1341 题目的大意是求一个矩阵的分解的可能情况,并且给定了矩阵的最短边b的限制条件,注意正方形的情况不考虑。 我们知道一个数的因子个数可以用算术基本定理来表示 那么它的因子数个数为: 避免重复,并且去除正方形的情况,需要m/2,之后暴力枚举去掉1到b之间的因数情况即可。题目的数据限制较宽松 AC代码:#include <bits/stdc++.h>using na原创 2016-10-01 09:12:27 · 355 阅读 · 0 评论