![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学
Ziiyan
这个作者很懒,什么都没留下…
展开
-
UVA - 113 Power of Cryptography
题目大意:k^n=p,给出 n 和 p 求 k解题思路:k = p ^ (1/n) 二分法+高精度——Poj 2109 Power of Cryptography(double型开n次方的方法通过的原因)by 猿先生#include<iostream> #include<cstdio> #include<string.h> #include<stdlib.h> #include<cmath> u原创 2016-07-14 15:38:33 · 205 阅读 · 0 评论 -
POJ - 3070 Fibonacci(快速幂)
题目大意:输入n求FnFnF_{n}的后四位,四位数中第一个非 0 数前面的 0 不需要输出 解题思路:题目给出了矩阵求法: [Fn+1FnFnFn−1][Fn+1FnFnFn−1]\begin{equation} \left[\begin{matrix} F_{n+1}&F_{n}\\ F_{n}&F_{n-1} \end{matrix} \right] \end{equatio...原创 2016-11-30 16:58:57 · 275 阅读 · 0 评论 -
UVA - 10014 Simple calculations
题目大意:根据所给公式和已知量求 a1 来源 uva 10014 - Simple calculations by zhaofukai 解题思路:由所给公式化 a1 的公式。 2ai = ai-1 + ai+1 - 2ci 2a1 = a0 + a2 - 2c1 2a2 = a1 + a3 - 2c2 2a3 = a2 + a4 - 2c3 …… 2an = an-1 +原创 2016-07-19 21:23:21 · 186 阅读 · 0 评论 -
UVA - 107 The Cat in the Hat
题目大意:有一只高 h 的猫,能变出 N 只高 h/(N+1) 的猫,这些猫又能变出 N 只高度为 h/(N+1)^2 的猫……直到猫的高度为 1,这些高度为 1 的猫共有 n 只,它们不得不工作。题目给出 h 和 n 求不需要工作的猫(除了高度为 1 的猫)和所有猫的高度总和。解题思路:假设分裂 k 次,则高度为 h(1/(N+1))^k = 1。分裂第 k 次时,分裂除的个数为 N^k。可以得到原创 2016-07-19 21:24:59 · 270 阅读 · 0 评论 -
UVA - 10916 Factstone Benchmark
题目大意:从 1960 年开始,每十年位数翻一倍,最开始是 4bit,求最大的 n 使得 n!小于当前电脑位数所能表示的最大无符号整数。如 1960 年 4bit,所能表示的最大整数为 2^4=16。 1!=1,2!=2,3!=6,4!=24。 当 n=4,n! 大于 15,所以 n=3。解题思路:根据题意即求 1×2×3×4×…×n < 2^bit,显然直接去求会溢出。两边取对数去求。#inc原创 2016-07-19 21:18:16 · 243 阅读 · 0 评论 -
UVA - 10177 (2/3/4)-D Sqr/Rects/Cubes/Boxes?
题目大意:给定边长 N,问在二维、三维、四维平面(空间)构成的图形中,正方形(正方体)长方形(长方体)的数量。注意正方形(体)不属于长方形(体)。解题思路:找规律#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> using namespace std; int main() { int N;原创 2016-07-18 21:08:55 · 189 阅读 · 0 评论 -
UVA - 10970 Big Chocolate
题目大意:给出 M*N 的巧克力,切成 1*1,问需要切几刀,分开的不能一起切。解题思路:水,找规律#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> using namespace std; int main() { int M, N; while(scan原创 2016-07-18 21:08:33 · 235 阅读 · 0 评论 -
UVA - 10719 Quotient Polynomial
题目大意:多项式 p(x)=(x-k)q(x)+r,给出 k 和 p(x)求 q(x) 和 r。解题思路:待定系数,推得 b[i]=a[i]+k*a[i-1],其中a 为 p 的系数,b 为 q 的系数。 k 是 (x-k) 的 k,不是 k 次方,被样例误导……#include<iostream> #include<cstdio> #include<cstring> #include<cstd原创 2016-07-18 21:08:12 · 204 阅读 · 0 评论 -
UVA - 11044 Searching for Nessy
题目大意:问n*m的地图最多放多少个3*3的矩形。解题思路:水题#include<iostream> #include<cstdio> #include<string.h> #include<stdlib.h> #include<cmath> using namespace std; int main() { int T; scanf("%d", &T); while(T-原创 2016-07-18 21:07:52 · 231 阅读 · 0 评论 -
UVA - 10790 How Many Points of Intersection?
题目大意:两条平行线上分别有 a 和 b 个点,每个点与另外一条线上的点都要相连,求交点个数,两线相交就算一个点,不存在三线交于一点的情况。解题思路:固定第一条线上的 a 个点不动,b 每加 1,加的点的个数是 (1+2+3+…+a-1) * b,b 从一个开始加,总加的次数为 1+2+3+…+b-1,即总点数为 (1+2+3+…+a-1) * (1+2+3+…+b-1)#include<iostr原创 2016-07-16 15:46:50 · 214 阅读 · 0 评论 -
UVA - 10499 The Land of Justice
题目大意:求切了 n 刀后增加的表面积是原来的百分之多少。解题思路:第一刀无法切开,第二刀多了四个半圆面,之后每刀多两个半圆面。 原始面积:4 * PI * r * r 一个半圆面:PI * r * r / 2 每刀增加两个半圆面即 1 / 4 化为百分数 *100 即 *25,精度问题直接 *25#include<iostream> #include<cstdio> #include<st原创 2016-07-16 15:46:26 · 224 阅读 · 0 评论 -
UVA - 846 Steps
题目大意:数轴上从 x 到 y,第一步为 1 最后一步也为 1,且相邻两步之差的绝对值不大于 1,求走的步数。解题思路:假设相邻之差都为 1,从 1、2、3…n,再从 n 到 1,最大步数 n 可能要走两次。先求 x、y 距离 dis ,枚举 n,求得 2 * n 步时能走的最长的距离 sum,k = sum - dis 即是多余的距离,当 k >= n 时, 说明多了一整个 n,所以最大步数只要走原创 2016-07-16 15:46:08 · 214 阅读 · 0 评论 -
UVA - 10025 The ? 1 ? 2 ? ... ? n = k problem
题目大意:输入 k,使得? 1 ? 2 ? … ? n = k,其中 ? 为+ 或 -,求 n。解题思路:找规律 n 可能的k n / 2 1 -1、1 0 2 -3、-1、1、3 1 3 -6、-4、-2、0、2、4、6 1 4 -10、-8、-6、-4、-2、0、2、4、6、8、10 2 5 -15、-13、-11、-9、-7、-原创 2016-07-16 15:45:32 · 178 阅读 · 0 评论 -
UVA - 573 The Snail
题目大意:给出 H 井高,U 上爬距离,D 下滑距离,F 减少百分数。第一天爬 U,第二天比前一天减少 F%,每晚下滑 D,问成功(总爬行距离大于 H)或失败(距离小于 0)在第几天。解题思路:模拟每天上爬和下滑,记录天数,每次距离变化后就判断,及时退出。第一天的模拟也要放在模拟过程循环内,因为放在 while 外面 WA 了好几次。#include<iostream> #include<cstd原创 2016-07-15 21:10:04 · 170 阅读 · 0 评论 -
UVA - 591 Box of Bricks
题目大意:移动方块使所有列一样高,一次一个,求移动次数。解题思路:求平均数然后计算每列大于平均数的个数。#include<iostream> #include<cstdio> #include<string.h> #include<stdlib.h> #include<cmath> using namespace std; int n[100]; int count = 0; int main()原创 2016-07-15 21:09:42 · 202 阅读 · 0 评论 -
UVA - 621 Secret Research
题目大意:根据题目输出对应字符,S 代表任意串。解题思路:根据规则特征判断输出。#include<iostream> #include<cstdio> #include<string.h> #include<stdlib.h> #include<cmath> using namespace std; char s[1000]; int main() { int T; scanf("原创 2016-07-15 21:09:21 · 196 阅读 · 0 评论 -
UVA - 253 Cube painting
题目大意:给两个正方体涂色,问经过旋转是否能变为一模一样。解题思路:检测两个正方体的三对面颜色是否对应相等,相等令其为 0,有三对之后输出 TRUE。#include<iostream> #include<cstdio> #include<string.h> #include<stdlib.h> #include<cmath> using namespace std; char s[15]; ch原创 2016-07-15 21:08:56 · 209 阅读 · 0 评论 -
UVA - 10161 Ant on a Chessboard
题目大意:给一个棋盘,输入n,找出n在第几行第几列。 解题思路:找规律。先求最近的完全平方数,得到相应坐标,求 n 与该平方数的差得到 n 的坐标。#include<iostream> #include<cstdio> #include<string.h> #include<stdlib.h> #include<cmath> using namespace std; int main() {原创 2016-07-14 15:39:02 · 173 阅读 · 0 评论 -
HDU - 1029 Ignatius and the Princess IV
题目大意:给出奇数个数,输出这些数中出现 (N+1)/2 次数的数。 解题思路:直接排序取中间的数即可,因为是奇数个数,出现 (N+1)/2 次的数已经超过一半,一定会出现在中位数上。#include<iostream> #include<stdio.h> #include<algorithm> #include<cmath> #include<string.h> #include<string>原创 2017-08-31 11:03:48 · 143 阅读 · 0 评论