摘要:
质量果然挺高的。 A 贪心。 ll Q,H,S,D,N;int main(){ cin>>Q>>H>>S>>D>>N; H=min(H,Q+Q); S=min(S,H+H); D=min(D,S+S); ll ans=N/2*D+(N&1)*S; cout=1;x-=x&-x) ans=max(ans,bs[x]); return ans;... 阅读全文
摘要:
这篇写好之后屯了很久,好像没有什么能增补的了,只好发上来了。 参考资料: https://en.wikipedia.org/wiki/Newton%27s_identities https://en.wikipedia.org/wiki/Elementary_symmetric_polynomial 阅读全文
摘要:
NEERC=Not Easy European Regional Contest 据说NEERC天天被搬,赶紧做了好了。在Claris和Google的帮助下做了10题,感谢cls。 http://codeforces.com/gym/100851 需要注意的是在cf上面做的时候标明文件名的题要开freopen(没标的那题是交互)。 这套题很好,所以希望想要认真想想的同学还是别手贱点开题... 阅读全文
摘要:
很早以前就做了一遍这题,当时好像啥都不会,今天重做一下。 这个题题意简单地说就是输入k、p和一个图,求图大小为k的独立集个数mod p。 subset1.in n=24,m=19,k=8 subset2.in n=40,m=55,k=11 subset3.in n=100,m=99,k=32 n比较小,直接状压dp即可,细节详见集训队论文(懒得写了),跑得飞快。 #incl... 阅读全文
摘要:
请阅读本文的同学们注意:之前这篇博客和所附代码有点问题,求的不一定是最短递推式,非常抱歉 看毛爷爷的论文大概断断续续看了一个月了,看得不是很懂,google了一波好像很快就看懂了,就先口胡一下这个算法好了。这篇文章的介绍方式大概和毛爷爷的论文不大一致,当然算法的本质是一致的。 参考链接:https: 阅读全文
摘要:
这篇文章好像发得有点迟了啊QAQ之前忘了发了 又好久没更了,讲一个提高组内容。 我们来考虑一个有趣的问题,我们有一棵有根树,每个点有点权,要求支持单点加,子树加。 询问比较奇怪,每个点有一个点权x,假装不变,每次询问指定一个点p,对于它的每个孩子(直系的)s,将x[s]*s的子树和相加输出。 先假装没有子树加,考虑直接用树链剖分来做这个东西。那么我们询问某个点的孩子的时候,我们发现有两种孩... 阅读全文
摘要:
这是和重链剖分(dsu on tree,http://www.cnblogs.com/zzqsblog/p/6146916.html)一类的trick,不过它的适用范围与dsu on tree不同,它适用于涉及到深度的查询。 例1 k-th ancestor query https://zhuanlan.zhihu.com/p/25984772 有一棵n个点的有根树,现在要求用O(nlogn)的时... 阅读全文
摘要:
感谢wys和小火车普及这些技巧qwq 这篇文章大概没什么营养 我们来看一道十分简单的题目: 设n=131072,输入两个长度为n的数列$a_0,a_1...a_{n-1}$和$b_0,b_1...b_{n-1}$,要求输出一个长度为n的数列$c_0,c_1...c_{n-1}$ 。 其中$c_i=m 阅读全文
摘要:
好久没更新了,就更一篇普及组内容好了。 首先我们考虑如何用tarjan离线求出lca,伪代码大致如下: def tarjan(x): 将x标记为已访问 for c in x的孩子: tarjan(c) 将c所在并查集的父亲置为x for q in 关于x的询问: y=询问q除了x外的另一个端点 if y已访问: q的答案=y所在并查集的根这样为什么... 阅读全文
摘要:
参考链接(历史最长 雾): http://www.cnblogs.com/New-Godess/p/4420824.html http://blog.csdn.net/liuguangzhe1999/article/details/51124781 http://blog.csdn.net/qq_3 阅读全文