关闭
当前搜索:

[交互 点分治] Codeforces 772E VK Cup 2017 - Round 2 E. Verifying Kingdom

本来的想法是能够找出叶子的兄弟 那么就把他们以及他们的父亲缩起来 但是很难找兄弟 看了题解发现是从初始一个点加点 相当于把缩的拆回去 通过点分治 我们找出当前树的重心 这里的重心是以叶子数量为权的 然后ask一下(g的左子树中的叶子,g的右子树中的叶子,当前要加的点) 有一些细节要处理 那么就可以确定当前点是在左子树 右子树还是子树外 询问复杂度O(nlogn)O(n\log n) 时...
阅读(194) 评论(0)

[杂题] Codeforces 772D VK Cup 2017 - Round 2 D. Varying Kibibits

一个集合的 子集的和的平方 的和 就记一下 ∑a0i\sum a_i^0、∑a1i\sum a_i^1和∑a2i\sum a_i^2就好了 处理出 f(S)≥xf(S)\ge x的 这个就是一个6维前缀和 然后再把前缀和倒回去 就好了#include #include #include using namespace std; typede...
阅读(161) 评论(0)

[数论 DAG最长路] Codeforces 772C VK Cup 2017 - Round 2 C. Vulnerable Kerbals

ax≡b(modm)ax\equiv b \pmod m 有解就是 (a,m)|b(a,m) | b 也就是 (a,m)|(b,m)(a,m)|(b,m) 那么把数按照和mm的gcd的整除关系 建成DAG 跑一个最长链#include #include #include #include #define pb push_bac...
阅读(138) 评论(0)

[广义后缀自动机 SG值] 51Nod 1869 那些年,我们一起讲的故事

简直 在众人的帮助下理解了一个假题意 看完题解知道真题意 大概是每次加一个字符 这个串仍然要是Trie树的子串 直接建SAM 然后求SG值 不超过度数+1 也就是27 然后先手必胜 两边SG不同 那么按字典序数一数就好了#include #include #include #include #include<cass...
阅读(209) 评论(0)

[树链剖分 可持久化线段树 垃圾数据结构题] Codechef JUNE17 #OAK Persistent oak

垃圾数据结构题大概就是维护树上的点离最大承重还差多少 然后断掉的就是到根路径上最早的小于0的地方 断掉后 到根路径还剩的承重都要加上掉下的重量 就是一颗线段树满足区间加 区间求min鄙视CC强行可持久化 硬上主席树标记永久化#include #include #include #include #define cl(x)...
阅读(177) 评论(0)

[类欧几里得算法] Codechef JUNE17 #ES Euler Sum

这题有毒吧⌊ei⌋=⌊(e×10w)i10w⌋\lfloor ei\rfloor=\lfloor {(e\times 10^w)i \over 10^w}\rfloor然后只要ee的精度足够高 就可以当做整数类欧求 这里ww取80008000,40004000是不够的,纠结了好久,阿爷说会小数点后有进位进到个位from decimal import * import mathdef calc(a,b...
阅读(159) 评论(0)

[主席树 Hash] Codechef JUNE17 #CLONEME Cloning

对权值建主席树 然后对于区间[a,b],[c,d] 在主席树上二分排完序后从左第一个不一样的地方 以及从右第一个不一样的地方 这个可以Hash下权值的出现次数,也是可以相减的#include #include #include using namespace std; typedef unsigned long long ull;inlin...
阅读(200) 评论(0)

[提交答案题] UOJ #109 【APIO2013】TASKSAUTHOR

数据结构学傻 做做提答换换口味 最短路 case1 case3 卡掉floyd 101个点 没有边 case2 case5 卡掉bellman 可以有重边 O(nm)O(nm)随便卡 case4 case6 卡掉dij 这个dij没毛病? 负边 可以卡成指数级 盗图自 fjzzq2002 orz 图染色 case7 卡掉搜索? xjb随机就行了吧 case8 放搜索过去? 二分图 case1...
阅读(210) 评论(0)

[数位DP Lucas定理] 2017 计蒜之道 复赛 E. 商汤智能机器人

阿爷教导我 ∑∞i=0(Ai)∗(A+B−iA),A=x+y2,B=x−y2\sum _{i=0}^\infty \dbinom{A}{i}*\dbinom{A+B-i}{A},A={x+y\over 2},B={x-y\over2} 然后就是数位dp+lucas定理的套路了 注意有减法要处理退位 一开始写的时候考虑的有点问题 调了很久很久 这个可以从低到高 也可以从高到低 因为意识模糊就...
阅读(543) 评论(3)

[数位DP 莫比乌斯反演] 2017 计蒜之道 复赛 A. 阿里云秘钥池

大概可以推出来转移是 fx=∑d|xμ(d)∑⌊P−1d⌋i=1gid=∑d|xμ(d)G(d)f_x=\sum_{d|x}\mu(d)\sum_{i=1}^{\lfloor {P-1\over d}\rfloor} g_{id}=\sum_{d|x}\mu(d)G(d) 转移是O(nlnn)O(n\ln n)的 然后就直接数位dp咯#include #include<cst...
阅读(323) 评论(1)

[最短路] 2017 计蒜之道 复赛 D. 百度地图导航

直接最短路就好了 第一次写竟然只拆了一个点 样例输出一坨0 QAQ 没有拿到FB 不开心#include #include #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x...
阅读(158) 评论(0)

[DLX] IBM Ponder This May 2017 Letter gaps

裸的dfs随便剪剪就能跑出20多一点 这就启发我们直接上Dancing Link 列分别表示每个位置以及某个字符是否放了 行就枚举a-z和空格放在哪#include #include #include using namespace std;const int N=205; const int M=200005;int ncnt; int...
阅读(126) 评论(0)

[最短路 虚树+线段树优化建图] BZOJ 4912 [Sdoi2017]天才黑客

sro clrs97老师:”T1特别好写” orz 听说SPFA被卡了 /点蜡这个东西跑最短路,状态肯定不能指记录点,还要记录是哪条边走过来的,那干脆就直接记录边 把边变成点,把点变成连在边之间的边我是把一条边拆成两个点,中间设为边的费用 lcp的费用在点变成的边上,这个东西裸的连,在原图一个点上是O(deg2)O(deg ^2)的肯定炸 那么就建一颗虚树,然后枚举lca,把lca是这...
阅读(403) 评论(0)

[链分治 重链剖分 FWT] BZOJ 4911 [Sdoi2017]切树游戏

我链分治是从immortalCO今年论文学来的 就是一个序列上能够维护的东西,把他搬到重链上,先处理好儿子重链的答案,然后把对这条重链上的影响累加在这条重链上然后就是套路 FWT一下就能加和乘了 注意0没有逆元复杂度O(mnlog2n)O(mn\log^2n) 实际上树链剖分是跑不满的 rank1 开心 O(∩_∩)O~~#include #include #...
阅读(609) 评论(0)

[树形依赖多重背包] BZOJ 4910 [Sdoi2017] 苹果树

首先解决依赖背包 如果是0/1背包,按照后序遍历dp,根据选或不选决策 现在是多重背包,那么这个点只留一个,剩下的变成一个新点挂上去,这样仍然满足依赖关系, 转移的时候多重背包用单调对列优化可以发现如果除了最长的一条链,剩余最多KK个 因为权值为正 那么最长链必然连到叶子,剩余必然取KK个(除非不足KK个) 那么我们枚举叶子 然后两边总共取出KK个,枚举两边分别选几个 两边需要两次儿子顺...
阅读(393) 评论(0)

[动态最小生成树 CDQ分治] SnackDown 2017 Online Elimination Round #GQUERY Game Revisited

给每条边的权值赋为编号 那么就相当于一个做kruskal的过程 也就是一个最小生成树的过程 跟BZOJ 2001 [Hnoi2010]City 城市建设一样? 被阿爷教导了 多年前的模板又臭又长#include #include #include using namespace std; typedef pair abc...
阅读(267) 评论(0)

[平衡树 模拟] SnackDown 2017 Online Elimination Round #WIQ Waiting in a Queue

直接模拟下这个队列就好了 下一个处理的事件应该是第一个bi−i≤t−1b_i-i\le t-1的人 平衡树维护bi−ib_i-i#include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; type...
阅读(199) 评论(0)

[杂题] SnackDown 2017 Online Elimination Round #PREFIXOR Prefix XOR

考虑sr xor si−1≤sr+1 xor si−1s_r\ \text{xor} \ s_{i-1}\le s_{r+1}\ \text{xor} \ s_{i-1} 相当于对si−1s_{i-1}第k位有一个限制 k是srs_{r}和sr+1s_{r+1}的LCP后一位然后就能很快算出每个点向右的答案 主席树一发#include #include #i...
阅读(236) 评论(0)

[Hash] 2017 计蒜之道 初赛 第五场 UCloud 的安全秘钥

判断两个可重集是否相同,给每个元素一个随机的 64 位无符号整数权值,然后全部加起来作为集合的 Hash 值。那么一个子串的 Hash 值可以简单地由前缀和作差得到,每次检验的复杂度为O(1)。 其实只要一个观察 询问中不同的长度只有O(l√en)O(\sqrt len)种 map竟然T了 smg#include #include #include<algorit...
阅读(275) 评论(0)

[最大密度子图] 2017 计蒜之道 初赛 第三场 腾讯狼人杀

最大密度子图的建图 详见论文 这个东西是支持强制选的#include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; typedef double ld;inline char nc(){ static...
阅读(285) 评论(0)
972条 共49页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:309418次
    • 积分:12408
    • 等级:
    • 排名:第1311名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:54条
    最新评论