
数论
beckyUp
他强任他强,过题我在行
展开
-
codeforces 185B Mushroom Scientists【不等式的应用】
题目分析xa∗yb∗zc=aa∗bb∗cc∗(xa)a∗(yb)b∗(zc)cx^a*y^b*z^c =a^a*b^b*c^c*(\frac{x}{a})^a *(\frac{y}{b})^b*(\frac{z}{c})^cxa∗yb∗zc=aa∗bb∗cc∗(ax)a∗(by)b∗(cz)c≤aa∗bb∗cc∗(a∗xa+b∗xb+c∗xca+b+c)(a+b+c)\le a^a*b^...原创 2019-11-05 17:20:47 · 227 阅读 · 0 评论 -
codeforce 785D - Anton and School - 2【组合数学】
题目大意给定一个括号序列可以删除某一些括号使得该序列成为一个长度为偶数前n/2为 “(”后n/2为“)”的匹配括号串问删除的方案数题目分析枚举作为最后一个( 的 符号,计算以这个符号为节点的方案数前缀和算出该符号之前的 ( 个数, 后缀和算出该符号右边的)个数由于,当前符号必须选中所以,想到于在之前的符号中选取 i个,之后的符号中选取i+1个令x = l[i] 表示左边...原创 2019-04-11 22:14:22 · 188 阅读 · 0 评论 -
牛客国庆集训派对Day4 E 乒乓球【公式+ntt】
题目:小 Bo 是某省乒乓球名列前茅的选手,现在他有 n 颗乒乓球一字排开,第 i 颗乒乓球的权值为 wi每次他会随机从现有的乒乓球中等概率选一颗拿走,然后得到的收益是这颗球左边第一个乒乓球和右边第一个乒乓球的权值的乘积,如果左边没有乒乓球或者右边没有乒乓球,则收益为 0,这个过程会重复进行到所有球都被拿走为止现在小 Bo 想知道他的期望总收益为了方便,你只需要输出答案对 998244353...原创 2018-10-04 22:41:14 · 238 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 J. Sum 【筛法】
题目大意: f(n) 表示 n =a*b (a,b 都为非 平方倍数) ,a,b不同时的对数 计算 f(1)+f(2)+…+f(n)题目分析:我们分析一下在和当中每个数的贡献度 举例 当 n = 8时 1的 贡献度 有 1*1 (1*2 ,1*3, 1*5,1*6,1*7 ) 后面这一部分要*2 1+5*2=11 2的贡献度 有 ...原创 2018-09-02 08:51:13 · 693 阅读 · 0 评论 -
FFT 模板 多项式乘法
#include <bits/stdc++.h>#define cl(a) memset(a,0,sizeof(a))using namespace std;const int maxn = 400005;const double pi = acos(-1.0);struct Complex{ double x,y; Complex(double _x=0,...原创 2018-09-04 14:42:16 · 252 阅读 · 0 评论 -
codeforces 992 D Nastya and a Game 【数论 暴力剪枝】
题目大意: 给你一个n,k ,接着给你n个数,让你找到这样一段连续子序列,ai, ai+1,……,aj ,使得这段序列的乘积p 除以 该序列的和s 的值恰好为k n的数据范围为2e5 k的数据范围 1e5 ,ai的数据范围是1e8 题目分析 我们发现对于这个乘积p ,不可能无穷大,当我们取最大的s*k时也就是 1e8*2e5*1e5 =2...原创 2018-06-20 17:35:51 · 671 阅读 · 5 评论 -
codeforces 992B Nastya Studies Informatics 【暴力】
题目大意,给你区间[l,r]和x,y 问你区间中有多少个数对 (a,b) 使得 gcd(a,b)=x lcm(a,b)=y a,b交换位置就是不同的数对 1≤l,r≤1e91≤l,r≤1e9 1\le l,r\le 1e9 and 1≤x,y<1e91≤x,y<1e91\le x,yx∗y=a∗bx∗y=a∗bx*y =a*b 那么 ,我们发现a,b一定为Y的因数...原创 2018-06-19 14:04:14 · 534 阅读 · 0 评论 -
codeforces 963A/964C Alternating Sum【数学】
题目大意:给你一个n,a,b,k 有n+1个数据,让你求∑ni=0sian−ibi∑i=0nsian−ibi\sum_{i=0}^{n}s_{i}a^{n−i} b^i 答案取模1e9+9 条件是这n+1个数据每k个是一个循环 1<n,a,b<=1e91<n,a,b<=1e911<k<=1e51<k<=1e51bk/akbk/akb^{k}/...原创 2018-04-19 15:18:30 · 411 阅读 · 0 评论 -
codeforces 586c The Big Race 【数据超出long long 范围】
cf 的题第一次遇到了溢出long long 的情况,这道题目,通过限制他超出long long 的情况,防止溢出,并且在计算的时候,double 的长度更长一点,在大数相乘的时候采用double 防止溢出,并且简化题目题意:给你一个t ,w,b, w,b,是两个人的步长,t 是路程总长度,当两人速度相同的时候,在终点设置一个深渊,任何人都不能跨过去,最后谁距离终点最近谁为赢家,问两人平局的概原创 2018-01-11 15:58:10 · 401 阅读 · 0 评论 -
codeforces 894B
题目大意:给定一个m*n的方格,在其中放入1或者-1 使得每行每列的乘积都为K 问有多少种放法思路:解法其实只有一句话,但是我想说的是,我真的想了很久没有想到这个角度,之前的时候Trader说想复杂了,其实很简单,但我觉得并不是的,并不是想复杂了的问题,而是角度的切入有问题,这个题我们对于一个图来说前M-1列和N-1行可以任意排,只要留下一行一列来控制他的最后的乘积就可以了,所以最后的结果是 2[原创 2017-11-20 22:05:32 · 263 阅读 · 0 评论 -
code forces 894C [分割构造gcd]
题目大意 给你一串序列,序列中的每一个数都为一个原始序列中的某一个连续子序列的GCD 让你构造一个原始的子序列题解,这个题对于构造一个原始的子序列,我们很容易发现,如果里面最小的那个数不是某一个数的GCD的话,那么必然构不成这样一个序列,但是我们发现如果要构造一个序列,其中不同的连续子序列的GCD要在给定序列中出现的复杂度就比较高了,所以我们尝试将该序列的每一个子序列的GCD 都变相同,这样我们用原创 2017-11-20 22:16:15 · 280 阅读 · 0 评论 -
codeforces 870c 大数分裂
将一个数尽可能多的分解成若干个合数的和,很显然,要尽可能多,自然是越小的越多越好,首先对于一个奇数来说,拆出一个9就能变成一个偶数,而且只有一个9 的时候一定是最优的情况,对于一个偶数来说,4一定越多越好,如果不能完全被4整除,那么就将4替换成6就行了,这样我们就能将一个数分裂成若干个合数的和#include <bits/stdc++.h>using namespace std;int maxsp原创 2017-10-22 16:23:04 · 340 阅读 · 0 评论 -
CodeForces 347C Alice and Bob
在一个有n个不同数的集合里面,Alice 和Bob分别任选两个数,x,y 要求|x-y|不在集合中,如果有一个人不能选,则输了,Alice 先选择 求最后的胜利者分析,对于给定的一个序列,最后要满足的条件的序列一定为 d,2d ,3d…… 所以 只要求出整个序列的GCD 再用最大值/gcd 得到的个数-N 再看奇偶就可以了虽然这道题这样看是一个水题,但是非常巧妙,不容易想到。#include原创 2017-07-21 16:05:11 · 380 阅读 · 0 评论