Processing math: 100%

10 2017 档案

摘要:A. Base i1 Notation 两个性质: 2=1100 122=0 利用这两条性质实现高精度加法即可。 时间复杂度O(n)。 B. Squaring a Bit 直接暴力枚举平方数即可通过,需要手写popcount。 C. Chickens 状压DP求方案数。 D. 阅读全文
posted @ 2017-10-30 14:00 Claris 阅读(1114) 评论(0) 推荐(1) 编辑
摘要:A. Automatic Door 对于规律的点可以推公式计算,对于噪点则暴力计算,时间复杂度O(mlogm)。 B. Berland Army 首先若存在环则无解,否则通过DP可以求出每个数的最小值。 然后按照逆拓扑序,每次选择下界最小的点,填充最大的可以填充的值。 时间复杂度$O(m\l 阅读全文
posted @ 2017-10-29 00:45 Claris 阅读(796) 评论(0) 推荐(0) 编辑
摘要:A. Connectivity 设f[i][j]为第i张图中j点所在连通块的编号,加边时可以通过启发式合并在O(dnlogn)的时间内维护出来。 对于每个点,设h[i]f[j][i]的hash值,若两个点hash值相等,则它们在d张图中均连通。 #include<c 阅读全文
posted @ 2017-10-27 23:11 Claris 阅读(804) 评论(0) 推荐(0) 编辑
摘要:A. A Place For My Head 留坑。 B. New Divide 从高位到低位贪心,当这一位是0时,要尽量取1,维护高维后缀最小值进行判断即可。 时间复杂度O((n+a)loga)。 C. Lying From You 留坑。 D. Don’t Stay 留坑。 E. 阅读全文
posted @ 2017-10-27 00:36 Claris 阅读(791) 评论(0) 推荐(0) 编辑
摘要:问题即:选择价值和最多的链,使得每个点最多被一条链覆盖。 那么考虑其对偶问题:选择最少的点(每个点可以重复选),使得每条链上选了至少wi个点。 那么将链按照LCA的深度从大到小排序,每次若发现点数不够,则在LCA处补充点,树链剖分+线段树维护。 时间复杂度O(mlog2n)阅读全文
posted @ 2017-10-20 02:50 Claris 阅读(411) 评论(0) 推荐(0) 编辑
摘要:A. Tree Orientation 树形DP,f[i][j][k]表示i的子树中有j个汇点,i往父亲的树边方向为k的方案数。 转移则需要另一个DP:g[i][j][k]表示考虑前i个儿子,子树中有j个汇点,i的出边个数是否是0的方案数。 时间复杂度$O(n 阅读全文
posted @ 2017-10-18 23:30 Claris 阅读(883) 评论(0) 推荐(0) 编辑
摘要:将01串按1分段,那么分析可得长度为a的段拼上长度为b的段的SG值为a[ab]。 设f[i][j][k][l]表示从后往前用了i个1,j个0,当前段长度为k,后面部分SG值为l的概率。 同时预处理出g[i][j][k]表示i个1,j个0的串,S 阅读全文
posted @ 2017-10-16 02:29 Claris 阅读(358) 评论(0) 推荐(0) 编辑
摘要:A. Alice in the Wonderland 按题意模拟。 B. Batrachomyomachia 贪心,每次选承受能力最小的可行的。 C. Cherries 将所有数字排序,那么一定是选取连续BA+1个数进行配对,枚举所有方案即可。 D. Divisibility Game 预处理 阅读全文
posted @ 2017-10-16 01:41 Claris 阅读(446) 评论(0) 推荐(0) 编辑
摘要:A. Arithmetic Derivative 形如pp(p)的数的比值为1,用k个这种数相乘得到的数的比值为k,爆搜即可。 B. White Triangle 留坑。 C. New Street 用set维护相同连续段,每次新增贡献时利用多项式求幂,删除贡献则采用多项式求 阅读全文
posted @ 2017-10-15 02:41 Claris 阅读(547) 评论(0) 推荐(0) 编辑
摘要:首先可以将攻击位置整理成折线,答案不变。 对于一个长度为k的询问,若折线不超过两段,那么显然可以暴力贪心求解。 否则考虑折线中最短的一段xy,若其长度k1.x是第一个点,那么删除x后答案不变。 2.y是最后一个点,那么删除$y 阅读全文
posted @ 2017-10-14 02:12 Claris 阅读(384) 评论(0) 推荐(0) 编辑
摘要:整体二分,按时间顺序依次考虑对于权值落在[l,r]内的所有操作。 对于每个修改操作,若权值范围完全包含了[l,r],那么在更深层的分治中它都完全包含它,对每个询问的贡献是定值,因此在当前层将贡献及时加给后面的每个询问即可。否则将该修改操作分裂成最多2个子操作,并往下递归分治。处理贡献均可 阅读全文
posted @ 2017-10-09 02:43 Claris 阅读(309) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示