数学:代数学
ProLightsfxjh
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #371 (Div. 2) A. Meeting of Old Friends 数学、A题第三次被系统hack了 (┬_┬)、集合交集
数学、A题第三次被系统hack了 (┬_┬)虽然比赛期间 趁机 hack 了一份C++的A题代码 和 两份 python的A题代码, 他们都是简单错误, 都是 l > r 出现负数了笔者自己是分类讨论的, 所以不会出现 l > r 从而出现负数的情况, 但分类讨论中 有个地方 应该是 if(d < a) ans = 0; 写成了 if(d <= a), (┬_┬) 小于写成了小于等于以后一定要仔细考虑 == 什么时候取到啊, 这里一个小忽视, 直接 从 371 名 稳涨分的名次调到了 846名 ⊙﹏⊙原创 2016-09-16 02:31:41 · 993 阅读 · 0 评论 -
Codeforces Round #372 (Div. 2) C. Plus and Square Root 数论、方程、化简、推公式
数论、方程、化简、推公式首先 当前 在 level i, res是当前屏幕上的数,i+1是目标, k是答案则有 res + k * i = (i + 1) * (i + 1) * x *xk * i = (i + 1) * (i + 1) * x *x - res;这样要O(n^2)了显然不行k=( (i + 1) * (i + 1) * x *x - res ) / i;后来 发现 res 可以被 i 整除的, 然后就想把 i 放进去k = (i + 1) * (i + 1) * x *x原创 2016-09-23 19:07:11 · 1531 阅读 · 0 评论 -
2016 UESTC Training for Math G - 完美点集 解方程
解方程n+1个点中任意n个点也满足题目的条件可从n-1维n个点递推故可以从n个点递推到第n+1个点第1个点 (defaultdist, 0.0, 0.0, ......, 0.0)第2个点 (0.0, defaultdist, 0.0,......, 0.0) .. ................................... .. ...................................第n个点 (0.0, 0.0, ............,def原创 2016-07-09 01:39:52 · 828 阅读 · 0 评论 -
Codeforces Round #364 (Div. 2) D. As Fast As Possible __ binary search、方程 或解方程 直接解出答案
binary search、方程1、binary search、方程每个pupil 坐车的时间相同、走路的时间相同、总时间相同。所以 l = 0, r = INF;对于 每个答案 x,验证总时间 cnt <= x,即车跑的总时间要小于等于 总的总时间t1 + t2 == x // t1 为每个pupil 走路的总时间, t2 为每个pupil坐车的总时间,每个pupil 都必须且只做一次车v1 * t1 + v2 * t2 == l(路程) //求出 t2就像图中所原创 2016-09-25 22:56:17 · 1246 阅读 · 0 评论 -
Technocup 2017 - Elimination Round 1 (Rated for Div. 2) C. Guess the Array 交互题+解n元方程组
题意:交互题+解n元方程组交互题+解n元方程组首先询问? 1 2? 2 3? 1 3然后 x1 + x2 == x12 1) x2 + x3 == x23 2) x3 + x1 == x13 3)1) - 2) + 3)可得2*x1,从而分别求出 x1 = (x12 - x23 + x13) / 2;然后令 res = x1; //res表示前一个数的值。然后一次根据 x[i] = x[i-1][i] - res;原创 2016-11-20 14:43:01 · 701 阅读 · 0 评论 -
Codeforces Round #299 (Div. 2) C. Tavas and Karafs 二分搜索+数列
题意:每个萝卜长度为 hi = a + (i - 1) * b,然后每次询问是每次操作最多把 m 个不同的未吃完的萝卜每个咬掉1单位长度,最多 t 次操作,其中求最大的r,是的[l......r]访问内的萝卜被这 t,m的操作吃完二分搜索+数列首先r必须且只要满足2个条件即可,1)a + (r - 1) * b <= t,2) sum{hi | l <= i <= r } <= t * m所以对于每个询问进行一次二分搜索即可。suml = (2 * a + ((l - 1) - 1) * b) *原创 2016-11-21 23:54:47 · 721 阅读 · 0 评论 -
Good Bye 2016 C. New Year and Rating 不等式+贪心、数学
题意:rating == 1900是区分各个分组的界限,给出给出n个ci 和 di,表示rating上涨了ci分(ci正为涨分负为掉分) 且当场比赛是在di分区大的,不知道起始的rating,只给出了n场连续的比赛涨分情况和所在分组,求出n场比赛之后可能的rating的最大值。不等式+贪心、数学很棒的题,l = -INF, r = INF,l 表示当前rating可能值的最小值,r表示当前rating可能值的最大值。如果当前分组是div2则r = min(r, 1899),,如果当前是div2原创 2017-01-14 00:32:54 · 1018 阅读 · 0 评论 -
URAL - 2105 Alice and Bob are on Bikes 整体处理、相遇问题
题意:ab从同一个位置开始相向的沿着一个圈跑,ab各自会停下来一段时间,问0~t这个过程中他们总共相遇多少次。整体处理写了很久模拟发现可以一次性处理,中间过程可以相互抵消掉很多东西,写了模拟就懂,Y ^_^ Y。只要找出 a总运动路程长度,b总运动路程长度,ans = (a + b) / l;复杂度 O(n)原创 2017-01-19 16:35:07 · 747 阅读 · 0 评论 -
Codeforces Round #397 (Div. 1 + Div. 2 combined) D. Artsem and Saunders 映射+构造
题意:给出一个函数f(x) 属于[1,x],然后要求确定一个数m,使x属于[1,n],g[x]属于[1,m], x输入[1,m] h[x]属于[1,n], 当存在m时,求m最小时的gx和hx。映射+构造先把fx离散化化,然后通过离散化的结果,和h(g(x)) = f(x) for all , 求出gi 和 hi,最后用g(h(x)) = x for all 来检查gi和hi,如果可以则输出,否则-1.其中可以证明 fi 离散化成任意[1,m]都不影响结果,只要保证不同的数离散化成不同的数,相同的数原创 2017-02-14 19:43:57 · 875 阅读 · 0 评论