摘要:
一些漏掉的游记,也是一些怀念吧(大概按照时间轴排序),以前喜欢写在QQ空间怕找不到了。 AHOI2018(写于2018.5.7): 话说省选已经过去很久了,不知为啥突然想写一篇游记,那现在就补上吧! DAY -x 由于NOIP2017的分过于低(省内rank67),心好慌……于是刷各类省选题及某些模 阅读全文
摘要:
AB 太水了 C 打表发现答案是n!-2n-1,但是不能就这样草草了事,理性分析:考虑不成环的方案(因为看起来远少于成环的),加入一个新元素的时候,如果原图成环,则怎么放都成环,如果不成环,放在开头和结尾则不成环,故方案数每次*2 D 当n>=4时不符合条件输出-1,对于每个2*2的矩阵都满足条件, 阅读全文
摘要:
AB 签到 C 开始还写个假的模拟法,后来发现可以直接贪心,从大到小枚举答案x,发现相同数的个数不超过n/x+1,且等于n/x+1的不超过n%x即可 #include<bits/stdc++.h> using namespace std; const int N=1e5+7; int n,m,ans 阅读全文
摘要:
终于做出了这个把我送退役的结论题。 由于是均匀混合,所以所有排列出现的概率相同。 考场上我写了30分的O(mn^2)暴力,然后发现:E[ai]仍然为一次、二次函数。这个可以用期望的线性性解释。 定义E[ai]=f(i),f(i)为关于i的一/二次函数,然后经过操作为k的变化,左边第i项变成f(i), 阅读全文
摘要:
AB 签到 C 计算子树内的人总数,然后可以计算出经过此节点时开心的人数目,然后若存在节点开心人数目小于儿子之和,则输出NO,反之输出YES,注意特判特殊情况 #include<bits/stdc++.h> #define int long long using namespace std; con 阅读全文
摘要:
A 签到 B 直接DP,f[i][j]表示前i步j步向左的最大值,位置可以直接计算 #include<bits/stdc++.h> using namespace std; const int N=1e5+7; int n,k,z,ans,a[N],f[N][6]; int main() { int 阅读全文
摘要:
用灰号打的div2但我还是写div1题解吧(因为div2前2题过水) A 可以发现这样的做法:每次找到最靠后的与b不同从串,然后通过旋转满足条件。但要判断a的第一位与该位是否相同,若相同,则需变换第1位使得其满足翻转后与该位相同,操作数2*n。至于翻转操作,打标记即可 #include<bits/s 阅读全文
摘要:
A 被这题卡住了,没写出来,想着类似AC自动机了,发现讨论一堆还可能有错。实质上就是每个位置枚举即可。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const string str="abacaba"; int 阅读全文
摘要:
本来打算写垫底记的,结果Unrated了,所以是题解了。 AB 太水了不写了 C 看到unrated就没写了,其实挺简单的。 容易发现答案只可能是0/1/2,情况如下: 0:无错误序列 1:错误序列均连续 2:其他情况(可以将其变为错误序列连续) #include<bits/stdc++.h> us 阅读全文
摘要:
退役一周年祭 A 没看清是任意顺序耽误了几分钟,首先最大值应该>=2个,若是3个则都为最大值,否则就两个次大值一个最大值 #include<bits/stdc++.h> using namespace std; int T,a[3]; int main() { cin>>T; while(T--) 阅读全文