牛客竞赛&&mjt的毒瘤赛】的更多相关文章

题目链接 https://ac.nowcoder.com/acm/contest/368/F 思路 询问可以离线. 然后每个节点上建32个权值线段树(权值不大,其实只要20颗) 记录每一位权值为x(如果是根节点的话)的01和 然后从根节点向上合并. 访问到需要访问的就查询. 大体这样,不过细节和处理极其恶心(毒瘤mjt或者我码力太差) 合并的时候. 因为两个数字相同要,合并到底的时候要这样. if(!siz[a]&&!siz[b]) return a; if(siz[a]==siz[b])…
作者:儒生雄才1链接:https://ac.nowcoder.com/discuss/366644来源:牛客网 题目连接:https://ac.nowcoder.com/acm/contest/3006/F 考虑到了第iii句话时候,这种状态可能由两种状态转移而来. 直接一发AC,从第i−1i-1i−1句话直接到达第iii句. 如果i>=ki>=ki>=k,可以由一发RJ从i−ki-ki−k句到达第i句. 构造DP[i][0/1]DP[i][0/1]DP[i][0/1],DP[i][0]…
T1 中位数(二分) 这个题是一个二分(听说是上周atcoder beginner contest的D题???) 我们可以开一个数组b存a,sort然后二分b进行check(从后往前直接遍历check时间复杂度不太对),check的时候把大于等于当前值的设为1,小于当前值的设为-1,然后题目就变成了查询是否有区间的值大于零(因为和它相同的我们也设为了1). 查询的时候维护一个前缀最小值. #include <iostream> #include <cstdio> #include…
T1 规律题 考虑先全部选中再去重即可 #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std; ]={}; int main(){ int T; scanf("%d",&T); ;tt<=T;tt++){ ,cntb=,cnt=,ans=; int a,b; scanf("%d %…
T1 动态点分治 就是模拟..... 但是没有过!! 看了题解之后发现.... 坑点:有可能 \(x<=r\),但是…
就是DP. 我们可以很简单的想到要枚举中间点,进行边数的转移. 但是因为边长数据范围很大,所以我们考虑log的倍增. 状态设计为\(dp[i][j][k]\),为从节点\(i\)走\(2^k\)步能否走到节点\(j\).但是我们发现这样不好转移状态(其实是我不太会啊) 正解是状态压缩,但是因为\(n\)有点大,所以这里介绍一个黑科技:\(bitset\) bitset只能存储0或1,但是较bool来说空间更优,一个元素只占一个bit,而且其中的每个元素都可以被单独访问或者修改--比如说访问s的第…
其实看懂题就很水啦qwq,就是求\(1-N\)的约数啦. 暴力求的话时间复杂度是\(O(NlogN)\)的,其实正解是枚举每个数的倍数......这样的时间复杂度是\(\frac{N}{1}+\frac{N}{2}+...+\frac{N}{N}\)的,由于调和级数可以看做\(O(log)\),所以总复杂度为\(O(NlogN)\). 但是比赛的时候我写的是那个复杂度很劣的做法,所以....代码就先放这个了..(注意%运算是真的慢....) #include<iostream> #includ…
区间不好做,但是我们可以转化成前缀来做.转化为前缀之后之后就是二维前缀和. 但是我还是不怎么会做.所以只能去看吉老师的题解 (确定写的那么简单真的是题解???). 我们要求模一个数余0,就等于找它的倍数.找它的倍数自然只要知道区间就可以了. 题解上面说:如果\(r1=2^n\),\(r2=2^m\),不妨设 \(n<=m\),那么结果一定在区间 \([0,2^n)\)中,而 且每一个值出现了 \(2^m\) 次 这是很显然的,因为按照异或的运算法则来讲,不可能会有比r1最高位1还高的位出现.而且…
蒟蒻我可能考了一场假试 T1 绩点 这题没什么好说的,应该是只要会语言的就会做. T2 巨大的棋盘 一个模拟题吧qwq,但是要注意取模的时候先加上n或者m再取模,要不然会错的. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define MAXN 100010 using namespace std; int n,m,t,q; string s; long…
Who killed Cock Robin? I, said the Sparrow, With my bow and arrow,I killed Cock Robin. Who saw him die? I, said the Fly.With my little eye,I saw him die. Who caught his blood? I, said the Fish,With my little dish,I caught his blood. Who'll make his s…