
Nowcoder
给我一瓶AC钙
是一颗萌菜没错了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(Nowcoder) D 德育分博弈政治课 (网络流)
传送门解:这个题一开始真没想到网络流,只考虑数字不一样的骰子(用二进制就可以区分了),然后这些骰子可以变成不同的数字,对于每一次询问,我们考虑建图就可以了,从源点到每一个骰子连一条流量为骰子个数,骰子可以给他能变得数字连一条无穷大得边,然后每个数字连一条对于这次询问他所需要个数的边到汇点即可。一开始T了,以为是vector初始化的原因换自己前向星的板子,才发现自己板子假了,重现搞了一个...原创 2019-10-12 18:51:20 · 954 阅读 · 0 评论 -
(Nowcoder) B xor (线性基交 + 线段树维护)
传送门题意:给你n个集合,每个集合中都有不超过32个数,总共询问m次,每次询问区间 [L, R] 中的所有集合,是否都有一个异或和等于X的子集。思路:对于查询区间的集合求线性基的交,看看能不能表示出查询的v即可,但是其实只需要线段树直接查询即可,不必先将交求出来。如何求交 传送1传送2#include<bits/stdc++.h>#define il inlin...原创 2019-07-31 21:31:54 · 384 阅读 · 0 评论 -
(Nowcoder) E.independent set 1
传送门题意:求集合所有子集的(最大独立集的个数)之和。解:先预处理与i点不相连的点集合a[i],然后直接二进制枚举每种子集,dp更新方程就是:dp[i]=max(dp[i^(1<<it)],(char)(dp[i&a[it]]+1)); 就是从该集合随便取出一个1,从要该点和不要该点中选择max。我一开始的写法是考虑改集合的每一个1,都进行一次更新,这样无疑是T...原创 2019-08-05 10:37:46 · 318 阅读 · 0 评论 -
(Nowcoder) B.Shorten IPv6 Address
传送门解:就是个模拟了,唯一要注意的删除同样的0,删除中间的使得结果更短,因为多删除一个:号。比赛写的代码就比较臭了。#include<bits/stdc++.h>#define il inline#define pb push_back#define ms(_data,v) memset(_data,v,sizeof(_data))#define sc(n) ...原创 2019-08-05 10:42:14 · 289 阅读 · 0 评论 -
(Nowcoder) A.String
传送门解:签到题,写的一言难尽,数据范围很小,分析出了一种非常复杂的思路,写完漏洞百出,还是不会暴力啊,血的教训了。#include<bits/stdc++.h>#define il inline#define pb push_back#define ms(_data,v) memset(_data,v,sizeof(_data))#define sc(n) sca...原创 2019-08-08 17:26:17 · 325 阅读 · 0 评论 -
(Nowcoder) B.generator 1 (思维)
传送门题意:题意很简单就是求广义斐波那契数列的第n项,但是n非常大。思路:一直再想找循环节,因为和网上一道题很像emmm,(出题人说这个好像是找不到循环节的),太过于固定思维了,矩阵快速幂被二进制那种所限制,而忘记了十进制。想法像将字符串转变为数字那样进行计算,看似非常大的n,其实最后复杂度就是1e7级别。#include<bits/stdc++.h>#define i...原创 2019-08-02 12:56:54 · 239 阅读 · 0 评论 -
(Nowcoder) H.subsequence 2 (拓扑)
传送门题意:每次给出两个字母和除去这两个字母的原字符串序列,最后让你输出原字符串。思路:如果能想到转化为图,就解决一大半了,所以一定不能固定了思维,学会转换,将除去这两个字母的原字符串序列中的字符转化为图中的指向关系,如果能构造出,那最后必定是一个拓扑图。#include<bits/stdc++.h>#define il inline#define pb push_...原创 2019-08-02 13:06:57 · 286 阅读 · 0 评论 -
(Nowcoder) F.Popping Balloons
传送门题意:一个矩阵上有气球,横着选距离为r的三行,竖着选距离为r的三行,能打灭的最多气球数。解:思维还是太弱了,没想到这种暴力的方法,用数组nowC[i]代表中间为第i列的贡献值,全部加入multiset s(和set不同的可以存一样的数据),然后吗我们枚举中间打在第i行,枚举这三行上的点,收到这些点所影响的nowC[i],对s进行修改,最后当前这种选择的贡献就是,横着的总和+s.max...原创 2019-08-18 17:53:32 · 367 阅读 · 0 评论 -
(Nowcoder) E.Find the median (线段树)
传送门题意:给你n个区间,每次往你现有的数中加上l,l+1,.....,r-1,r这些数,求现在所有数的中位数解:区间的范围很大,我们肯定需要离散化,解法也很直观,肯定是线段树维护吗,就维护区间出现点的个数,这样我们query的时候就可以根据数量一直走到叶子节点,求出答案,所以我们每个叶子节点就是代表一段小区间了。这里算是一个小技巧吧,我们把所有的区间都看成是左开右闭的,这样叶子节点的区间...原创 2019-08-09 22:12:47 · 315 阅读 · 0 评论 -
(Nowcoder) A.All-one Matrices (最大子矩阵+哈希)
传送门题意:求不同的最大子矩阵的个数。解:求最大子矩阵,不管先把模板先套了吧,悬线法。主要问题就是在于去重了。悬线法可以记录(i,j)的左边界,右边界,高和现在的底,那就好办了,那我们就全记录了,左右上下,用l+r来当key,但是用unordered_map还是会t的,故直接哈希lr即可。如果当前lr没有那ans++,如果当前下坐标比记录的下坐标更大,那就直接替换,最后如果上坐标改变,an...原创 2019-08-10 21:02:09 · 200 阅读 · 0 评论 -
(Nowcoder) E.Explorer (线段树+可撤销并查集)
传送门题意:给出一个无向图,每条边有一个size区间[l,r],代表可以通过人的大小,求可以从1到n,人的大小的方案数。解:可以lct做,可是我还没学过lct。线段树+并查集的做法,我们先离散化size,使得线段树的节点代表size的一段区间,全部左开右闭(这样好处理)。然后我们将符合节点的边加进去,不需要下放。最后我们一遍深搜,深搜的同时将该节点的边,用并查集维护点之间的联通性,搜到叶子...原创 2019-08-10 21:14:13 · 242 阅读 · 0 评论 -
(Nowcoder) J.Just Jump (动态规划+组合数+容斥)
传送门题意:L长的数轴,从0开始跳,每次可以跳>=d的距离,但是有m限制,就是ti时刻不得跳到pi处,求到L的方案数解:先不考虑m限制,dp很容易推出了,前缀和优化就是O(n)的。然后考虑限制减去,就是求出经过一次pi(限制处)再抵达L的方案数,这里我们很容易想到容斥定理,用容斥来求。官解:解释一下这个组合数,就是先pi先减去d*ti的最低限制,剩下的就是多余的部分,但是ti...原创 2019-08-11 15:48:44 · 242 阅读 · 0 评论 -
(Nowcoder) 2019多校第九场B,D,E,H,J
传送门B.Quadratic equation解:没参与讨论,分析一波,用二次剩余即可。#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll p = 1e9+7;ll w;struct num { ll x,y;};num mul(num a,num b,ll p)...原创 2019-08-16 10:54:02 · 335 阅读 · 0 评论 -
(Nowcoder 2019国庆day5) E.Longest Increasing Subsequence(动态规划+思维)
传送门题意:f[i]是以i结尾的最长不下降子序列长度,问删掉第i个数后f[1]^2 xor f[3]^2 xor .. xor f[n]^2(不算第i个)解:如果对最长不下降子序列理解的彻底的会觉得很简单吧,我们可以考虑到当不考虑一个数是,那有些f[i]可能会不受影响或者-1,但是我们如何快速得出呢。当然是先全部求一遍f[]了,然后我们需要一个mi[]数组,mi[i]定义为长度为i的不下...原创 2019-10-05 17:14:57 · 183 阅读 · 1 评论 -
(Nowcoder) C.sequence (线段树+单调队列)
传送门和南昌邀请赛的网路赛一模一样。线段树维护l~r的前缀和即可,但是要注意sum[0]的存在,建树时并没有将其考虑进去。#include<bits/stdc++.h>#define il inline#define pb push_back#define ms(_data,v) memset(_data,v,sizeof(_data))#define s...原创 2019-07-31 11:35:44 · 306 阅读 · 0 评论 -
(Nowcoder) J LRU management (静态链表)
传送门题意读懂了,感觉这就是个大模拟,但是直接模拟复杂度太大,所以我们要用链表指针搞一搞。不知道是不是我写的实在太挫,还是卡常,一直狂T,哭了。划重点,加上这个才过。设置哈希桶大小,队友加了才过,估了,才知道这玩也,相见恨晚,还是太菜了呀。rk.rehash(500005);a.rehash(500005);#include<bits/stdc++.h>#defi...原创 2019-07-25 16:54:46 · 268 阅读 · 0 评论 -
(NowCoder) E-CSL 的魔法
传送门解题思路:想法很简单,a数组的第k大应该对应b数组的第k小,这样的结果无疑最小。所以就是用最少的交换的次数使得a、b数组的元素对应就行了。用两个映射就行了。#include<bits/stdc++.h>#define il inline#define pb push_back#define fi first#define se second#define ms...原创 2019-03-31 21:29:47 · 200 阅读 · 0 评论 -
(Nowcoder) E 诡异数字(数位dp)
牛客小白月赛8真的打的自闭了,感觉一点都不小白 T_T (肯定是我太菜了,没错就是这样的)题目链接https://www.nowcoder.com/acm/contest/214/E题解说这是一个非常简单的数位dp,没接触过,感觉挺难的(大概这就是菜吧)先稍微了解了一下数位dp,附上写的非常好的数位dp详解https://blog.youkuaiyun.com/wust_zzwh/article/...原创 2018-10-21 21:07:46 · 356 阅读 · 0 评论 -
(Nowcoder) NOIP赛前集训营-普及组(第二场)A,B,C
早上9点起床,打了一波普及组 A 你好诶加币 自己写的输出是hello, %lld\n忘记 了“ ”只拿了50分难受。#include<bits/stdc++.h>#include<limits.h>using namespace std;typedef long long ll;const ll INF=LONG...原创 2018-09-15 14:44:27 · 524 阅读 · 0 评论 -
(Nowcoder) 牛客第六场A,D,J
A Singing Contest A题模拟#include<bits/stdc++.h>using namespace std;const int maxn = 17000;vector<int>song[maxn];int L[maxn];int main() { int T, n, temp; cin &...原创 2018-08-05 07:50:36 · 227 阅读 · 0 评论 -
(Nowcoder) 牛客第五场A,G,J
又来贴水题了,哭唧唧 A gpa 是一道01分数规划题可以参考一下这篇博客https://blog.youkuaiyun.com/mosquito_zm/article/details/78585094#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+7;co...原创 2018-08-03 10:30:08 · 241 阅读 · 0 评论 -
(Nowcoder) 牛客第四场F,G
F Beautiful Garden 就是再在矩阵内部找到最大的那个不满足的矩阵,由于是对称的,所以只要只要找一个顶点就好,找到满足条件,即行最小,列最小的那个点,然后计算长和宽。大框和小框之间就是可以选择的范围,计算一下就好了。#include <bits/stdc++.h>using namespace std;const ...原创 2018-07-29 14:26:17 · 202 阅读 · 0 评论 -
(Nowcoder) 牛课多校第三场A.C.H
又一次成功的签到了(大哭~~~~~~)只做了2题然后就一直挂机了,会的慢慢补吧。A PACM Team好吧,从一开始就看错了题目,这是一个四维背包问题(贴的别人的代码了)#include <cstdio>#include <iostream>#define N 40using namespace std;int n, P, A, C, M, p[N],...原创 2018-07-26 21:03:46 · 295 阅读 · 0 评论 -
(Nowcoder) 牛课小白月赛A(容斥定理)
之前不了解容斥定理,导致一直超时,总而言之就是算不合题意的 然后减一下链接:https://www.nowcoder.com/acm/contest/135/A来源:牛客网 题目描述 若一个集合A内所有的元素都不是正整数N的因数,则称N与集合A无关。 给出一个含有k个元素的集合A={a1,a2,a3,...,ak},求区间[L,R]内与A无关的正整数的个数。 保证...原创 2018-07-24 14:34:47 · 253 阅读 · 0 评论 -
(Nowcoder) 牛客多校第二场A,D,I
只会3道签到题 (哭唧唧) A run ,D money ,I car。(发了3次了还保存不了,不发题解就可以保存了,滑稽脸) 1.A run题解是用dp,我们是联想到了走楼梯问题,将起看成一次走1米或者走k+1米,这样用个记忆化搜索加前缀和就可以解决这个问题了。include<iostream>#include<cstdio> #include&...原创 2018-07-22 13:14:36 · 314 阅读 · 0 评论 -
(Nowcoder) 牛客练习赛18 E 出题人的数组(数学)
视频题解戳这里紧张 就是调了一手bug 丧传送门 解题思路:直接单个考虑给答案的贡献,简单的将大的放前,直接归并是不对的,(比如A数组1,2222,2222,2222;B数组2,2,2,2),这个题目重新考虑是平均值的影响,直接戳视频吧。#include<bits/stdc++.h>using namespace std;typedef long long ll...原创 2019-01-19 21:16:15 · 293 阅读 · 0 评论 -
(Nowcoder) 牛客寒假算法基础集训营4 C Applese 走迷宫 (搜索)
视频题解戳我传送门题目描述精通程序设计的 Applese 双写了一个游戏。在这个游戏中,它被困在了一个 n×mn×m 的迷宫中,它想要逃出这个迷宫。在迷宫中,有一些方格是水池,只有当 Applese 处于水属性的时候才可以通过;有一些方格是岩浆,只有当 Applese 是火属性的时候可以通过;有一些方格是墙壁,无论如何都无法通过;另一些格子是空地(包括起点和终点),可以自由通过。...原创 2019-01-31 12:54:46 · 274 阅读 · 0 评论 -
(Nowcoder) 牛客寒假算法基础集训营4 E Applese 涂颜色 (费马小定理)
视频讲解戳这传送门解题思路:很容易分析出每行只有两种涂法,每行又互不影响,所以就是求2^n % p,但是这里的n,m非常的大,不能直接求,这就需要费马小定理了,求a^n%p,当a与p互素时,a^(p-1) = 1 (%p情况下) ,所以我们只需要知道n%(p-1)为多少,求个2的取模快速幂就行了。#include<cstdio>#include<iostream&...原创 2019-01-31 14:30:20 · 199 阅读 · 0 评论 -
(Nowcoder) 牛客寒假算法基础集训营4 F Applese 的QQ群 (二分+拓扑)
视频题解戳我传送门题目描述Applese 有一个QQ群。在这个群中,大家互相请教问题。如 b 向 a 请教过问题,就把 a 叫做是 b 的"老板"。这样一个群中就会有很多老板。同时规定:如果 a 是 b 的老板,b 是 c 的老板,那么 a 也是 c 的老板。为了不破坏群里面和谐交流的氛围,Applese 定了一个群规:不允许出现 a 既是 b 的老板, b 又是 a 的老板。...原创 2019-01-31 16:57:04 · 252 阅读 · 0 评论 -
(Nowcoder) 牛客寒假算法基础集训营6 (全)
视频题解戳我还没的题应该很快补上。文字版因为太懒暂时不想写了。原创 2019-02-03 18:48:42 · 335 阅读 · 0 评论 -
(Nowcoder) 第十五届浙大宁波理工校赛(A,B,D,E,F,H,I,J,K,L)
传送门A.StarCraft//#include<bits/stdc++.h>#include<iostream>#include<cstdio>#include<queue>#include<stack>#include<map>#include<string>#include&l原创 2018-12-09 10:26:01 · 263 阅读 · 0 评论