2018牛客多校
oopslb
这个作者很懒,什么都没留下…
展开
-
2018牛客多校第二场 G transform(二分)
题目链接:https://www.nowcoder.com/acm/contest/140/G 这位博主的博客写的很详细 #include<bits/stdc++.h>using namespace std;#define ll long longconst int N=1e6+10;struct node{ ll x,w;}a[N];using...原创 2018-07-24 23:27:05 · 231 阅读 · 0 评论 -
2018 牛客多校第五场 subseq (线段树+离散)
https://www.nowcoder.com/acm/contest/143/H 题意:给定一个序列 a[1..n],求下标字典序第 k 小的严格递增子序列 思路:先用线段树预处理好以a[i]为开头的严格递增子序列有多少个,主要数据会爆long long,取1e18即可,然后再找到第k小的那一组,如果找不到输出-1. 代码:#include<bits...原创 2018-08-11 19:07:55 · 211 阅读 · 0 评论 -
2018 牛客多校第六场 I Team Rocket (线段树)
https://www.nowcoder.com/acm/contest/144/I题意:n个区间[l,r],m个操作:给数b,删去包含点b^res的区间,记录每个区间i第几次操作时被删去,每次操作删去的区间数。 res是上次删除的区间编号的乘积%998244353,如果上次未删区间,即res为0。思路:我们可以将线段按照l来排序,然后再来构造线段树,找到区间右端点的最大值,如果...原创 2018-08-10 23:15:02 · 269 阅读 · 0 评论 -
2018 牛客多校第七场 E Counting 4-Cliques (找规律)
https://www.nowcoder.com/acm/contest/145/E 题意:构造一个<=75个点的图,使得大小为4的团恰有k个。(k<=1e6) 思路:可以发现每种都能够由这个组成,只要先找到最大的t,然后暴力跑四重循环,找到a,b,c,d,e,就可以了。 代码:#include<bits/stdc++.h>using...原创 2018-08-10 16:31:32 · 292 阅读 · 0 评论 -
2018 牛客多校第七场 C Bit Compression (DFS+剪枝)
https://www.nowcoder.com/acm/contest/145/C 题意:给你一个n,再给你一个长度为2的n次方的01串。每次字符串可以选择三种操作:& | ^。选择之后,相邻的字符按这个操作合并:比如 1101 选择^ 则 1^1=0 0^1=1; 然后字符串就变成了01。继续操作直到剩余一个字符。问你最后只剩一个1的方法总数有多少种。思路:直接...原创 2018-08-10 15:33:38 · 183 阅读 · 0 评论 -
2018 牛客多校第七场 J Sudoku Subrectangles
https://www.nowcoder.com/acm/contest/145/J 题意:给出一个字符矩阵,只包含大小写字母,问有多少个子矩阵为字符数独(任意一行或一列没有重复字符)。 思路:先预处理每个点往下往右能到最远的距离然后枚举每个点为左上角,找能完全覆盖的子矩阵有多少个答案会爆int 代码:#include<bits/stdc++.h&g...原创 2018-08-10 15:27:53 · 172 阅读 · 0 评论 -
2018 牛客多校第六场 C Generation I (组合数)
https://www.nowcoder.com/acm/contest/144/C 题意:给定n个集合, 要求用n次操作, 第i次操作用1~m中一个数填入 i ~ n个集合中, 集合无序而且元素不重复。 思路:代码:#include<bits/stdc++.h>using namespace std;#define ll long longcons...原创 2018-08-09 23:29:42 · 243 阅读 · 0 评论 -
2018 牛客多校第六场 Heritage of skywalkert (随机概率)
https://www.nowcoder.com/acm/contest/144/J题意:通过一个操作得到ai,然后找到两个数,使得他们的lcm最大。思路:得到的数其实相当于随机数,只要找前20大的数暴力找他们的lcm即可,可以用优先队列来找前20大的,直接排序会时间会炸 #include<bits/stdc++.h>using namespace std;#de...原创 2018-08-09 23:21:59 · 373 阅读 · 0 评论 -
2018 牛客多校 四 J Hash Function (优先队列+并查集)
题目题意:一个数字对序列长度取模,如果取模后的序列没放数字则放这个位置,如果有位置,则往后放,现在给你一串已经放好的序列,问是否符合规则,如果符合,输出字典序最小的放入顺序。思路:我们可以先把对n取余为那个位置的数放入优先队列,然后从优先队列出元素,并把它加+1的位置当做父亲,这样可以看出本来也应该在这个位置的数是不是往后找到第一个没放的位置,如果是压入队列,最后看你比较符合的个数和总的不...原创 2018-08-01 10:02:56 · 125 阅读 · 0 评论 -
2018 牛客多校四 G Maximum Mode (暴力枚举)
题目题意:给你n个数,然后删除m个数,最后保证众数只有一个且尽量让他打,如果存在输出那个数,不存在输出-1.思路:就是统计每个数出现的次数,然后按照每个数出现次数从小到大排序,然后暴力枚举每个数为答案时,需要删除几个数,因为从小到大的,我们在枚举这个数为所求答案时,只要减去后缀和即可,然后通过二分枚举第一个出现这个次数的位置,只需这个位置到最后面都减到比枚举这个数出现次数小时就可以了,然后...原创 2018-08-01 09:49:28 · 184 阅读 · 0 评论 -
2018 牛客多校五 F take(线段树)
https://www.nowcoder.com/acm/contest/143/F题意:一个人依次按顺序打开1-n号宝箱。若宝箱里有一颗比他手上还大的钻石,他会换走。给你宝箱i里Di大的钻石出现的几率是Pi,问你交换的期望。思路:总期望就是每个宝箱被交换期望之和,因为只有箱子里的钻石比手中的钻石大才会被交换,如果假设我们手中的钻石是最后的钻石的话,那么比后面箱子里比他手中大的钻石都是不可...原创 2018-08-04 16:50:09 · 145 阅读 · 0 评论 -
2018 牛客多校第一场 D
题目题意:给你一个小图,一个大图。问你在大图中能找到多少个形状和小图一样的。思路:因为n为8,我们可以暴力找,全排列把所有情况找到,再把可行的状态用二进制表示,用map映射防止重复代码:#include<bits/stdc++.h>using namespace std;#define ll long longint mp1[11][11];int m...原创 2018-07-22 23:03:26 · 184 阅读 · 0 评论 -
2018 牛客多校第一场A(不知名定理)
题目题意:一个矩阵由012三个数字组成,这个矩阵从左到右,从上到下,都是不递减的。思路:考虑 01 和 12 的分界线是 (n, 0) 到 (0, m) 的两条不相交(可重合)路径平移其中一条变成 (n-1, -1) 到 (-1, m-1)变成起点 (n, 0) 和 (n-1, -1),终点 (0, m) 和 (-1, m-1) 的严格不相交路径 套 Lindström–Ges...原创 2018-07-22 18:42:20 · 357 阅读 · 0 评论 -
2018 牛客多校第二场 J farm (随机+二维前缀处理)(二进制)
题目链接:https://www.nowcoder.com/acm/contest/140/J题意:给你N*M个矩阵,每个格子里有种类为k的花。给你t次操作,每次在一个子矩阵里施肥,如果种类为k的肥料被施到不同种类的花上,花就死掉。最后问你死了多少花。思路:我们把施肥在同一个矩阵里的种类的肥料加起来,整除以花的种类,如果能整除,说明有可能不会死,但是大多数情况还是错的,如k=5的话...原创 2018-07-24 23:43:52 · 285 阅读 · 0 评论 -
2018 牛客多校第五场 I vcd (线段树+离散)
https://www.nowcoder.com/acm/contest/143/I 题意:n个点,一个点集S是好的,当且仅当对于他的每个子集T,存在一个右边无限延长的矩形,使的这个矩形包含了T,但是和S-T没有交集。求有多少个这种集合。思路:对于S=1肯定是个好的集合对于S=2,只要y坐标不相同也肯定是好的。对于S=3,三个点的形状必须是 < 型至于S>...原创 2018-08-11 19:18:56 · 163 阅读 · 0 评论