01 2018 档案
摘要:A.模拟 B.只要有一个数字出现的次数是奇数就不会输。 C.因为n的二进制位上最多只有1000个1,所以我们可以暴力预处理出$1 \cdots 1000$变成$1$的步数。 枚举n的每一位。如果这一位是1,把它变成0就可以保证一定比n小。比i高的位跟n一样,计算从低位选出若干个1的方案数。 D.线段
阅读全文
摘要:传送门 主要问题是怎么求$a^b \ mod \ c$。 可以用欧拉定理降幂。 $$a^b \ mod \ c = a ^ {b \% \varphi(c) } \; mod \ c (b < \varphi(c))$$ $$a^b \ mod \ c = a ^ {b \% \varphi(c)
阅读全文
摘要:Educational Codeforces Round 36 (Rated for Div. 2) F. Imbalance Value of a Tree You are given a tree T consisting of n vertices. A number is written o
阅读全文
摘要:A.模拟。 B.模拟。比赛的时候这题出锅了,然后就unrated了。注意要先保证最大值最小,再保证字典序最大。 C.构造。挑一个大于N的质数然后连啊连就可以了。 D.可持久化Trie。弄两个Trie。一个记录字符串,另一个记录数字。 E.跟bzoj上的遥远的国度很类似。
阅读全文
摘要:题意:给你$pairOr,pairSum$两个含有$n$个非负整数数组,问你是否能构造出一个数组$x[0] \cdots x[n]$满足$\forall \ {0\leqslant i \leqslant n-1}, x[i] \ or \ x[i+1] = pairOr[i] \ \wedge x
阅读全文
摘要:后缀自动机(Suffix Automaton,简称SAM)。对于一个字符串$S$,对应的后缀自动机是一个最小的确定有限状态自动机(DFA),接受且只接受$S$的后缀。 一、SAM的States 0.定义子串的结束位置集合endpos。对于S的一个子串s,endpos(s)=s在S中所有出现的结束位置
阅读全文
摘要:4516: [Sdoi2016]生成魔咒 题意:每次向字符串后添加一个字符,并回答此时子串的数目。 题解:咱把字符串倒过来就变成了每次向头插入一个字符,也就是每次增加一个后缀,然后构建出后缀数组。对新字符串(倒过来的原字符串)咱顺序处理。考虑当前的后缀$suffix(i)$对答案的贡献就是$|suf
阅读全文
摘要:膜了一天,貌似有一点点感觉了?赶紧记下来,免得又忘了。。 $sa_i$是第$i$个后缀的开头在原串的位置。 $rk_i$是$S_{i...|S|}$这一段后缀的排名。 $ht_i$是排名为$i-1$和$i$的后缀的$Longest \; common \; prefix$(最长公共前缀)。 构建$s
阅读全文
摘要:3963: [WF2011]MachineWorks 显然中途卖掉是不合算的,咱只考虑在有机器出售的那一天换一个机器的情况。 记$dp_i$为换成第$i$个机器时拥有的钱。为了方便处理,咱在$n+1$天放一个假机器。 $dp_i=\max\{dp_j+R_j+(D_i-D_j-1)G_j\}-P_i
阅读全文
摘要:A. Modular Exponentiation $2^n$很大的时候直接输出$m$, 不然就把$2^n$算出来。 B. Christmas Spruce 没什么可说的。 C. Party Lemonade C. Party Lemonade 感觉有点厉害。如果$2c_{i-1}<c_i$ ,那么
阅读全文
摘要:3672: [Noi2014]购票 记$dp_u$为从$1$到$u$的最小花费,$dis_u$为从$1$到$u$的距离。 可以列出转移方程,$dp_v=\min\{dp_u+dis(u,v)p_v+q_v\} \; dis(u,v) \leqslant l_v = \min\{dp_u-p_vdis
阅读全文
摘要:什么是CDQ分治? 一个最简单的cdq分治的例子就是归并排序求逆序对。 简单的说,cdq分治就是有一系列关于区间$[L,R]$的问题。 1.递归处理$[L,M]$和$[M+1,R]$。 2.计算$[L,M]$对$[M+1,R]$的影响。 1176: [Balkan2007]Mokia 1790: [
阅读全文
摘要:3578: GTY的人类基因组计划2 第一次居然hash被卡了。改了改rd()就A了。 题解:咱给每个人都随机一个数,几个人就是把他们的数异或起来,用set判重。再开一个set记录合法的房间。
阅读全文
摘要:Portal 题解:把车站看成点,以$x$为第一关键字,$y$为第二关键字排序。记$dp_i$为纵坐标为$y$时的最大值,转移就行。 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 using namespace std
阅读全文
摘要:Tourists in Mancunia 找欧拉回路。 $wiki$中说 连通的无向图 有欧拉路径的充要条件是:中奇顶点(连接的边数量为奇数的顶点)的数目等于0或者2。 连通的无向图 是欧拉环(存在欧拉回路)的充要条件是:中每个顶点的度都是偶数。 算法的实现:咱删除每条经过的边就行了。
阅读全文
摘要:Old Christmas Lights II 简要题意:求树上路径点权的最小差值。 题解:树上莫队转移+数据结构维护最小差值。 一开始用multiset,结果疯狂TLE。改成分块维护就过了。貌似块分小点跑的更快? 还可以用平衡树或者线段树维护,不过咱没有写。
阅读全文
摘要:点分治 什么是点分治? 点分治主要用于有关树上路径统计的问题。 怎么点分治? 1,选取一个点,把树变成有根树。为了让递归层数尽可能的小,我们要选取树的重心,即子树大小最大值最小的点。 2,处理联通块中通过根的路径。 3,删除根节点。 4,递归处理子树。 操作 例题们 POJ - 1741 BZOJ
阅读全文

浙公网安备 33010602011771号