[S]数学
文章平均质量分 58
GooZy
程序宅一枚。没事写写代码,打打游戏,看看动漫~
展开
-
[SCU4437]Carries[数学][二分]
题目链接:[SCU4437]Carries[数学][二分]题意分析:h(x, y) 代表 x + y 这个计算中需要进位的次数,比如: 11 + 19 = 30 其中个位上 9 + 1 就进了一次位, 所以总共进位h(11, 19) = 1。然后题目给出n个数字,求这些数字两两不重复地进行h(x,y)运算的总和。解题思路:既然h(x,y)代表是进位次数,那么一位一位的进位也是可以的啦~原创 2015-06-17 23:06:53 · 1543 阅读 · 0 评论 -
[Codeforces546D]Soldier and Number Game[dp][实现][素数筛][分解整数][数学]
原题链接:[Codeforces546D]Soldier and Number Game[dp][实现][素数筛][分解整数][数学]题意分析:本题从实质上来说,就是给你两个整数a, b。求出a, a - 1, a - 2........b + 1这些整数能被拆分成多少个素数相乘,把每个的拆分结果相加起来。例如 a = 10, b = 2. 那么ans = 1(3) + 2(4) + 1(原创 2015-05-23 10:11:55 · 1122 阅读 · 5 评论 -
[lightOJ 1027]A Dangerous Maze[期望]
题目链接:[lightOJ 1027]A Dangerous Maze[期望] 题意分析: 你的面前有n扇门,你选择每扇门的概率都是相同的,每个门都有自己的特性,正门会让你在Xi分钟后离开迷宫,负门会把你带回到Xi分钟前,如果被带回到过去,你就得行走Xi分钟,进而重新进行选择,能够选到正门视为成功走出迷宫。问:平均花费多少分钟能走出去? 解题思路: 计算期望啊,首先我们知道通向未来的门肯定能原创 2016-02-27 23:58:44 · 705 阅读 · 0 评论 -
[HDU 4602]Partition[划分]
题目链接:[HDU 4602]Partition[划分]题意分析:组成从1到n的所有数字的各种可重复组合中,k出现了几次?解题思路:把n看成n个点,每次用隔板在不同的位置隔出k个连续点,问题转换为:k个点出现的情况之和为多少?举例:n = 6, k = 2初始:1 1 1 1 1 1k总共可以出现在五种情况中,1 1 / 1 1 1 11 / 1 1 / 1 1原创 2016-04-04 17:14:30 · 517 阅读 · 0 评论 -
[CodeForces 552C]Vanya and Scales[math]
题目链接:[CodeForces 552C]Vanya and Scales[math]题意分析:给出w^0、w^1~w^100和m,问:能否用这些w的值进行加减,组成m。解题思路:将m变成w进制的,然后从低位往高位扫描,设当前位为i位,那么:如果该位是0,则不管;如果是1,则减去w^i;如果是w - 1,则加上w^i,此时高位进1;如果是w,直接进位;那么在1~w - 1之间的数原创 2016-03-08 21:26:01 · 409 阅读 · 0 评论 -
[POJ 3274]Gold Balanced Lineup[math][sort]
题目链接:[POJ 3274]Gold Balanced Lineup[math][sort] 题意分析: 给出每头牛所拥有的特征,比如某头牛特征值是13,13的二进制为1101,那么这头牛拥有特征1、3、4。 现在给出牛的个数n和总共特征个数k,求最长的区间,使得区间内所有牛的k个特征相加之和都相等。 比如样例区间: 7(111) 2(010) 1(001) 4(100) 每个特原创 2016-02-04 21:56:56 · 595 阅读 · 0 评论 -
[POJ 2002]Squares[二分][数学]
题目链接:[POJ 2002]Squares[二分][数学]题意分析:平面中有n个点,求这些点能组成多少个正方形?解题思路:最多1e3个点,四个点枚举肯定超时,必须控制在两个点以内。那么两个点可行吗?下面这幅图可以说明可行:当一条边确定以后,由等边三角形的特性,旁边的两个点也能枚举出来。所以有(i是a点,j是b点):temp.x = p[i].x + (p[i]原创 2016-02-03 21:26:00 · 970 阅读 · 0 评论 -
[CodeForces 490C]Hacking Cypher[math]
题目链接:[CodeForces 490C]Hacking Cypher[math]题意分析:将一个长度解题思路:设当前数为num,考虑从左往右,每新增一个数字cur,当前数为num = num * 10 + cur。每一次取模即可判断是否能被a整除,同理,从右往左,每一次新的数就是num = 10^x * cur + num。然后标记下可行位置,最后判断一遍即可。个人感受:原创 2016-01-01 09:54:30 · 607 阅读 · 0 评论 -
[CodeForces 346A]Alice and Bob[数学]
题目链接:[CodeForces 346A]Alice and Bob[数学] 题意分析: Alice 和 Bob又来玩游戏了,这次游戏规则是从给出的数列中取出两个数,把他们差的绝对值增加到原数列中,如果差的绝对值已经出现在原数列中,则这次操作是无效的,最终无法操作的人失败。 解题思路: 因为放入的是差的绝对值,所以最终数列中的数肯定都比最大的那个数小。那么要添加多少次数字呢?也就是总共能进原创 2015-10-24 09:24:12 · 878 阅读 · 0 评论 -
[CodeForces 579C]A Problem about Polyline[数学]
题目链接:[CodeForces 579C]A Problem about Polyline[数学]题意分析:给出一条过点(0, 0) – (x, x) – (2x, 0) – (3x, x) – (4x, 0) – ... - (2kx, 0) – (2kx + x, x) – ....的折线,再给出点(a,b),问经过点(a,b)的折线中,x最小是多少?如果没有折线经过(a, b)原创 2015-09-17 14:28:14 · 1030 阅读 · 0 评论 -
[CodeForces 577B]Modulo Sum[实现][数学]
题目链接:[CodeForces 577B]Modulo Sum[实现][数学]题意分析:给出n个数,再给出一个数m。问给出的n个数中,任意组合,是否存在组合出来和能被m整除。解题思路:进一步说:题目就是问:在所有这些数能得到的组合中,是否存在和使得其被m整除。显然,这些组合出来的和取余后不大于m,这里面存在着大量重复。所以我们可以用一个数组标记这个和是否出现过,如果没出现就放入v原创 2015-09-11 23:29:15 · 2103 阅读 · 0 评论 -
[UVA 11526]H(n)[数学]
题目链接:[UVA 11526]H(n)[数学]题意分析:求出公式的值。也就是sum{n/i} 。不过循环是int i = 1; i 解题思路:显然,有一大波的数n/i的值是相等的(被取整了)。所以可以从这些入手,只要能求出值相等的区间长度,就可以降低整个复杂度。比如n=10的情况:1 2 3 4 5 6 7 8 9 10 对应的值为: 10 5 3 2 2 1 1原创 2015-08-15 20:45:01 · 558 阅读 · 0 评论 -
[UVA 10820]Send a Table[欧拉函数][nloglog(n)]
题目链接:[UVA 10820]Send a Table[欧拉函数][nloglog(n)]题意分析:友人A想要打表过题,每个表内数据都是以数对的形式(x,y)出现,但是呢,表太大了,OJ不让上交。机智的他发现了一个规律:数对(x*k, y*k)可以由数对(x,y)推出来,所以他只用打(x,y)上交就行了。比如(1,2)被打入表,那么(2,4) (3,6)....这些数据就不用打入表了。现原创 2015-08-24 01:09:27 · 909 阅读 · 1 评论 -
欧拉函数[已解决]
起因:[UVA 10820]Send a Table疑问:关于欧拉函数的(nloglogn)算法。在代码中的部分,不明白为什么这样就可以求出欧拉函数的值 phi[1] = 1; for (int i = 2; i <= 50001; ++i) if (!phi[i]) { for (int j = i; j <= 50001; j += i)//这原创 2015-08-15 01:32:21 · 999 阅读 · 1 评论 -
[CodeForces365C]Matrix[构造][数学]
题目链接:[CodeForces365C]Matrix[构造][数学]题意分析:给出的字符串s,构造长宽均为s.size()的矩阵,矩阵中每个元素(i, j) = si * sj。问:这个矩阵中有多少个所有元素和为a的子矩阵?解题思路:仔细观察会发现,子矩阵的总元素和会等于该子矩阵对应长宽边元素和相乘。例如下面的矩阵:(这实质上就是乘法的分配律)那么剩下要做的就是,怎么样在原创 2015-06-12 15:12:05 · 660 阅读 · 0 评论 -
[CodeForces4A]Watermelon[实现][数学]
题目链接:[CodeForces4A]Watermelon[实现][数学]题意分析:给你一个西瓜,问:这个西瓜能不能切成重量是偶数倍的两个部分?解题思路:显然,如果西瓜重量为奇数,一定不能分成两部分为偶数千克。当西瓜重量为偶数时分两种情况,1.西瓜重量大于2千克,此时只要能被2整除,就一定能分成偶数的两部分。(可以假设西瓜重量为14kg,被2除后为7,7,此时一个加一千克,一个减一千克即可原创 2015-05-19 22:56:18 · 1320 阅读 · 0 评论 -
HDU 5812 Distance
题目链接:HDU 5812 Distance题意分析:给出一个空集合和三个操作。操作I向集合中插入元素X,操作D删除集合中的元素X,操作Q,查询集合中与X的最小距离最小是多少? 定义最小距离 d(x,y)d(x,y) 为从x变为y只通过乘或者除素数所需要的最少操作。例如:d(15,50)=3d(15, 50) = 3,因为 15/3×2×5=5015 / 3 \times 2 \times 5 =原创 2016-08-10 15:20:20 · 892 阅读 · 2 评论