![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客网
henucm
那就再努力一点吧
展开
-
Forsaken的位运算魔法 类欧几里得
传送从贡献角度考虑。遍历 k 的每一位,若这一位为 0,计算有多少个 ij 这一位为1。反之计算这一位有多少个数字为 0。计算有多少个 ij 第 p 位为 1,等价于计算 我们固定i, 会发现这个是类欧几里得算法形式,套个类欧的模板即可。原博主#include<bits/stdc++.h>#define ll long longusing namespace std;...原创 2019-11-19 20:43:15 · 359 阅读 · 0 评论 -
牛客练习赛53 B.美味果冻 分块
传送门题意:中文题意很好理解思路:我们将 转换成 如何证明这步转化正确呢?对于i=1,有j=1对于i=2,有j=1,2。。。对于i=n,有j=1,2,...,n因此如果我们反过来枚举j的话可以发现,某个i出现的前提就是i≥j,①得证。还有一个问题,为什么要反过来枚举j呢?因为原来的角度入手的话, 是考虑 是 的因子,但变成枚举j之后, 就变成考虑i是j的倍数...原创 2019-10-19 18:09:21 · 302 阅读 · 0 评论 -
2019牛客暑期多校训练营(第五场) C generator 2 【BSGS算法】
传送门题意:已知x[i]=(a*x[i-1]+b)%p,求满足等式的x数组的下标,且该下标小于n。若不存在则输出-1。思路:1.x0==v,直接输出02.a==0 (1)v==x0输出0 (2)v==b输出1(3)否则输出-13.a==1 式子就可以化简成 xn=x0+nb mod ...原创 2019-08-16 17:38:50 · 470 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场)E triples II 容斥
传送门题意:你要构造一个 1e18 的数组使得,每个数都是3的倍数并且所有的数或起来的结果为a,问你有多少个这样的数组。思路:若数b的每个二进制位上的1,在a中也为1,则称b为a的子集 容易知道任意个a的子集按位或出来的结果还是a的子集 若问题改为按位或出来的结果是a的子集的方案数,那么答案就是a的子集中是3的倍数的子集个数的n次方 接着我们对子集按二进制上的1 mod 3的个数...原创 2019-10-19 16:17:56 · 155 阅读 · 0 评论 -
2019牛客暑期多校训练营(第九场)C-Inversions of all permutations
传送门题意:求以一个序列的所有排列的逆序数为指数,b为底数的和。那么给定一个序列,就要先求逆序数,拿示例1来说,我们要求的是 ,这个形式并不好,我们尝试分组一下,变成 (记为 1 式),这个形式就很顺眼了,但是这有个前提,是这些数字没有重复。那么有重复又怎么办呢,那当然是去重了,假如给定的数字是1,2, 2,那么得到的答案应该是(记为 2 式),与上面作对比,发现少了 b+1这一项,说明...原创 2019-10-17 17:19:02 · 121 阅读 · 0 评论 -
2019牛客暑期多校训练营(第九场)A.The power of Fibonacci(循环节)
传送门思路嗯~ o(* ̄▽ ̄*)o 然后 我发现有个模板专门用来求斐波那契数列模一个数的循环节是多少。传送门#include<bits/stdc++.h>#define ll long long#define LL long longusing namespace std;const int l1=768;const int l2=7812500;const...原创 2019-10-16 19:12:18 · 112 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场)B Eddy Walker2 【杜教BM】
传送门题意:一个人从0点出发,在数轴上向右走,每次有1/K的概率向右走1步,有1/K的概率向右走2步,…,有1/K的概率向右走K步问到达Ni点的概率是多少 注:Ni==-1时,代表Ni在无穷远处思路:①Ni==-1,也就是无穷远处考虑走一步能走的距离的期望是,那么由于期望的性质,不妨认为每步都走那么看能不能到达N,就等价于看是从0,1,....原创 2019-08-14 14:34:23 · 477 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场)H xor
题意:对于所有异或和为0的子集大小加和思路:像这种异或和的我们就考虑用线性基来做,因为要求的是子集大小的总和,那我们就对于每一个数来说,来计算他的贡献。首先我们用n个数建立一个线性基a1,如果这n个数都用上了,那就说明不可能有子集异或和为0,否则,如果有r个用上了,剩下了n-r个,那就说明剩下的数都能用基内的数表示,对于没用上的数x来说,他能和外面的数搭配方案有2^(n-r-1)中,因此对于...原创 2019-08-12 09:00:29 · 403 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)J.Just Jump (思维DP)
传送门题意:某人要从1走到L点,中间有L-1个点可以走,他每次最少走d步。有m个条件,在第ti步不能走到pi点。问有多少种走法。思路:大佬博客#include<bits/stdc++.h>using namespace std;#define ll long longconst int N = 1e7+1234;const int MOD = 99...原创 2019-08-21 15:18:15 · 412 阅读 · 0 评论 -
2019牛客暑期多校训练营(第九场) B Quadratic equation (二次剩余)
传送门题意:给你b,c,p = 1e9 + 7,满足以下方程的x,y,如果没解输出-1 -1(x + y)mod p = b(x *y)mod p = c思路:已知x+y =b 或 x+y = b + p, xy = c + kp ;则通过二次剩余定理,求出(x-y)x = (x-y)+(x+y) >> 1y = x + y - x;#i...原创 2019-08-22 10:42:41 · 435 阅读 · 0 评论 -
2019牛客暑期多校训练营(第九场)I KM and M
传送门思路:因为最后按位与的是一个常数,所以只需要看这个常数对应为1的位置,在M、2M、3M...NM这N个数字中,有多少个仍然是1。用个数乘以对应位的2的幂次即可。那么现在问题变成了如何求这个个数。我们考虑对于一个数字iM,如果求它二进制下第j位是否是0。显然,我们可以先把iM右移j位得到x,然后再把iM右移j+1位得到y,再把y左移1位得到z,z-x的值即为iM第j位的数值。而这个过程,就...原创 2019-08-22 17:37:05 · 440 阅读 · 0 评论 -
牛客练习赛51 ABCDE
传送门A:#include<bits/stdc++.h>using namespace std;#define ll long longll ansa=0;ll ansb=0;ll ansc=0;int main(){ string s; cin>>s; for(int i=0;i<s.size();i++) {...原创 2019-09-10 16:02:24 · 509 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场) B xor 线性基求交+线段树
传送门题意:对于一个集合,若该集合的某个子集的异或和等于x,则称该集合可以“表示”x,给定个n个集合和m次询问,每次询问给定l,r,x,表示询问对于任意i∈[l,r] 第i个集合中的数能否表示x。1≤n,m≤50000 。大佬题解#include<iostream>#include<cstring>#include<cmath>#includ...原创 2019-08-07 17:44:00 · 545 阅读 · 0 评论 -
2019牛客暑期多校训练营(第三场) G Removing Stones
传送门题意:给定N,表示N堆石子,每堆石子数为a[],问多少个区间,可以满足“石子总和若为偶数,那么可以两两取来自不同堆的石子,直到取完; 如果为奇数,那么排除其中一个,然后可以两两取来自不同堆的石子,直到取完”。等价于求有多少个长度不小于2的连续子数列,使得其中最大元素不大于所有元素和的1/2.#include<iostream>#include<cmath>...原创 2019-08-14 09:04:51 · 451 阅读 · 0 评论 -
哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(高年级)
传送门A:#include<iostream>#include<algorithm>#define N 0x3f3f3f3f#define ll long longusing namespace std;int a[1000010];int main(){ int n,m; cin>>n>>m; ll h=0; for...原创 2018-12-03 21:14:22 · 639 阅读 · 0 评论 -
牛客练习赛30
题目描述众所周知,小K是nowcoder的暴政苟管理,所以小K很擅长踢树,虽然本题与踢树无关小K喜欢将日期排列成yyyy-mm-dd的形式(位数不足添零补齐)的形式,虽然这与小K只会做回文字符串这道水题无关,但小K觉得日期组成的回文串也是挺可爱的。作为一个凉心出题人,小K决定给你一个可爱的问题:给你两个日期,求这两个日期的闭区间内有多少个回文的日期(输入可能包含多组数据)输入描述...原创 2018-11-12 18:27:47 · 568 阅读 · 0 评论 -
Wannafly挑战赛28 A msc和mas
题目描述msc有一天遇见了mas,于是他们开始玩游戏。msc和mas初始各有一个正整数A和B,并且他们共同设置了一个阈值L。然后游戏就开始了,对于每一局操作的人,假设他手上拿着的是数字x,对手手上拿着的是数字y(记这一局开始时y的数值为y0),那么:1、如果x>L,那么他就胜利了,否则进入步骤22、他会给对手的数值加上x(即),如果此时对手手上的数值y大于等于2y0,那么这...原创 2018-11-12 18:08:13 · 544 阅读 · 0 评论 -
新智认知”杯 部分题解
传送门A:#include <iostream>#include <cstring>#include <cstdio>#include <queue>#include <algorithm>typedef long long ll;#define N 0x3f3f3f3fusing namespace std;i...原创 2019-04-02 22:51:13 · 684 阅读 · 0 评论 -
华南理工大学“三七互娱杯”程序设计竞赛 C HRY and Abbas
传送门题意:给你n个点 连成一个环 n后面连1 然后有t个环里是装有子弹的 问子弹在n(1,2,3,4,5,6...n)次射出的概率首先是比较假的算法 我感觉这个准超时的代码 没想到跑这么快。。 可见这数据有多弱#include <bits/stdc++.h>#define ll long longusing namespace std;int a[100010]...原创 2019-04-27 18:04:33 · 538 阅读 · 2 评论 -
2019牛客暑期多校训练营(第二场) A Eddy Walker
传送门题意:t行,每行给出n,m。n代表环的大小(即环上有n个点,标号为0,1,....,n-1)。从0开始走,把n个点都走一遍结束。问在m点结束的概率是多少。输出前i个概率的积。思路:打表找规律,跑出来发现每个点的概率是差不多的,我们可以考虑每个点的概率就是1/(n-1) (0除外)。代码:#include<bits/stdc++.h>#define ll l...原创 2019-07-24 11:01:30 · 340 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场)D triples I
传送门题意:题意:给定一个a,要求构造最少个数的3的倍数使得这些数的按位或和为a。思路:首先如果这个数能被3整除直接输出即可,如果不能将其这个数按照二进制分解(有一个规律 2^奇%3=2 2^偶%3=1)%3=1 放到num1 %3=2 放到num2如果既存在cnt1 cnt2 那么首先凑一个ans1 然后将其余得数都加到ans2上如果ans2%3=1 那么再加上num2[...原创 2019-07-30 10:35:43 · 513 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场) C Euclidean Distance
Bobo has a point A in the n dimension real spaceRnRn, whose coodinate is(a1/m,a2/m,…,an/m)(a1/m,a2/m,…,an/m)whereaiaiand m are both integers. He wants to find another pointP=(p1,p2,…,pn)P=(p1,p2...原创 2019-07-22 11:22:50 · 393 阅读 · 0 评论 -
牛客多校第三场 D Big Integer(欧拉函数&计数)
传送门题意:已知序列A为1,11,111,1111,... 1,11,111,1111,...1,11,111,1111,...,求思路:,那么有 考虑 和p的关系,先考虑9和p互质那么可以变为由于互质inv9≠0所以只有即根据费马小定理,10 和p 互质有由于 ,那么循环节至少为p−1,考虑是否有更小的循环节,根据同余式的...原创 2019-07-27 09:09:54 · 508 阅读 · 0 评论 -
2019牛客暑期多校训练营(第五场)B generator 1 十进制矩阵快速幂
传送门题意:给你x0、x1a、b、mod,根据求出思路:用十进制设为res 则可得 我们再设就是分解n为每一位,再去相乘。例如讲计算出来的即可#include<iostream>#include<algorithm>#include<cmath>#include<cstdio>#incl...原创 2019-08-05 16:03:14 · 453 阅读 · 0 评论 -
2019牛客暑期多校训练营(第六场)G 暴力枚举+蔡勒公式
题意:T(T<=10)组样例,每次给出n(n<=1e5)个形如CABJ/AI/AC的只有'A’到‘J’之间字母构成的日期,思路:合理分配0-9的全排列,使其依次对应‘A’到'J’之间的字母,使得分配后,n个日期都合法所谓合法,这里是指满足基本日期限制条件下,年在[1600,9999]间,且该天为星期五星期五的约束条件很严格,用蔡勒公式判,每次判几个就能把不合法的判掉。...原创 2019-08-05 21:06:56 · 432 阅读 · 0 评论 -
牛客练习赛34 ABCD题解
传送门A#include<cstdio>#include<cstring>#include<cmath>#include<iostream>#include<algorithm>#include<map>#include<queue>#define ll long long#define原创 2018-12-21 18:03:15 · 801 阅读 · 2 评论