2018 牛客网ACM多校训练营
Whowell
欢迎自荐或推荐实习/校招(字节)!
加油,加油,朝着自己的梦想!!!!!
展开
-
牛客网暑期ACM多校训练营(第一场)B Symmetric Matrix [数学]
B Symmetric Matrix题目:计算满足题目的n*n的矩阵的数量,题目给出的条件,应该能可以看出是一个对称矩阵,类似一个图邻接矩阵;这样子就应该想成是一个无向图,a[i][1] + a[i][2] + a[i][3] + ...... + a[i][n] = 2;意思就是这个图就是一堆环;...原创 2018-07-26 20:38:49 · 386 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第三场)E Sort String [字符串 + hash函数 / 字符串 + kmp]
题目:要求将前个字符放到后面字符串的后面形成一个新串,如果,和就放在一组,最后将每一组按照字典序排序,每一组的个数就是这组的一个标号。 思路1:将字符串复制一下,那么用字符串hash,只要维护之前有没有出现过就可以啦,但是非常卡时间!!! 字符串hash的常见方法:*111111...... unsigned long long 相当于对取模unsigned lon...原创 2018-09-04 12:53:56 · 174 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第三场)A PACM Team [多维背包]
A PACM Team 题目:有n个物品属性(p,a,c,m,g),其中g是获得的利润,然后总容量是P,A,C,M,求最大的收益。思路:就是01背包,但是会爆内存,建议用short......没写出来还是对背包理解不行,好好看一下吧代码:#include<bits/stdc++...原创 2018-08-29 15:57:41 · 260 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第三场)H Diff-prime Pairs [素数筛+前缀和]
H Diff-prime Pairs题目:找满足 ,都是prime的(i, j)对。题解:如果,那么,这样就枚举,如果两个素数不相等,那么和一定满足都是素数,这样就是O(n)的复杂度啦。代码:#include<bits/stdc++.h>#define ll long long...原创 2018-08-26 19:29:06 · 196 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第二场)A run [简单计数dp]
A run题目:云秒钟可以走1米或者跑k米,但是不能连续两秒钟或者多秒钟跑k米,问走到区间的不同的方案数。思路:简单的计数dp,下面是有关dp的状态以及状态转移方程,状态:dp[i][j]表示第i米是通过走1米还是走k米得到的方案数;状态转移方程: dp[i+1][0] +...原创 2018-08-22 11:03:34 · 201 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第二场)D money [思维题]
D money题意:从1-n一次经过,可以buy或者sell a[i]这样的商品,问交易最少的次数能获得的最大的利润。题解:找最长的1 2 2 3这样的区间,最大利润就是最大的间最小的,这样的交易次数最小。代码:/**2018 nowcoder second D money*...原创 2018-08-22 18:16:11 · 229 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第二场)I car [思维题]
I car题意:一个n*n的方格,在边缘放置car,car 只能以相同的速度从一边走到一边,不能相撞,并且不能走有障碍物的一行题解:脑补一下,就是题解中的,如果n是偶数,那么就是保证每行每列只有一个就是2*n,如果是奇数,那么就是需要注意中间那个一行一列只能放一个,否则会相撞,...原创 2018-08-24 23:22:18 · 184 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第一场)E Removal [计数dp]
E Removal 题目:一个数组序列,有n个数,计算删掉m个数字后不相同的序列的个数;思路:计数dp,总之就是动态规划,我们先算不考虑重复的情况就是状态dp[ i ][ j ]:前 i 个数,删除 j 个的方法数;状态转移方程:dp[ i ][ j ] = dp[ i - 1][ j - 1] + dp[ i - 1 ][ j ];//当前位置数字是否删除!考虑重...原创 2018-07-27 21:19:56 · 363 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第一场)F Sum of Maximum [容斥 + 拉格朗日插值]
F Sum of Maximum 题目:给定一个数组a,求出给定公式的的值;看题目的公式,通过观察发现公式的值与a数组的顺序无关,所以首先将a数组按照从小到大排序;假设 < ,考虑最大值对答案的贡献:对于每个x:1.考虑~的方案数:因为<,当最大值时,~ 可以随便选;所以方案数就是:, 记为.2.考虑~的方案数:因为 ...原创 2018-07-27 17:26:02 · 368 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第一场)J-Different Integers [树状数组/莫队]
J-Different Integers题意很清楚啦,就是找两边区间不同数字的个数,还是自己菜啦,我一眼瞅上去感觉是莫队,主要原因是我昨天刚刚学习了qsc的莫队算法视频,以为只有查询操作,没有修改操作,用莫队就好啦,没想到T到怀疑人生,最后可能是服务器的问题吧,我莫队调整了常数,卡过去啦,不管咋说,还是要...原创 2018-07-20 11:23:44 · 251 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第一场)A Monotonic Matrix [Lindström–Gessel–Viennot lemma]
A Monotonic Matrix学习一下Lindström–Gessel–Viennot lemma,有一个没听说过的数学,这数学场是要慢慢学习;一种计算非交叉格子路径数的方法:主要公式就是对于一张无边权的DAG图,给定n个起点和对应的n个终点,这n条不相交路径的方案数为:题目:在所有的n...原创 2018-07-23 22:23:42 · 167 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第一场)D Two Graphs [模拟]
题目:要求计算与A同构的B的子图的个数;思路:将A图全排列映射到B图中,判断是否同构,每个B与A同构的子图,都计算了A的“自同构”次,去重得到答案;解释一下为什么会多算看下面这张图: 考虑G1边互换两个节点,也可以构成同构,在G2中每一种方案也可以通过互换顺序,得到另一种同构,但其本质是相同的,所以找出G1中自同构的数量,每个满足题意的方案被计算了“自同构”次,...原创 2018-07-24 20:48:47 · 181 阅读 · 0 评论 -
牛客网暑期ACM多校训练营(第十场)[题解]
A Rikka with Lowbit题目:有两个操作,一个就是将变为 ,二是求一个区间和的期望;题解:可以看出就是一个区间和就可以啦。代码:#include<bits/stdc++.h>#define ll long long using namespace std;const ll mod = 998244353;const int maxn...原创 2018-09-13 20:44:57 · 361 阅读 · 0 评论