10 2016 档案

摘要:\[\begin{eqnarray*}ans&=&\sum_{i=1}^ng(i)\\&=&\sum_{i=1}^n\sum_{d|i}\mu^2(d)\\&=&\sum_{i=1}^n\sum_{d|i}\sum_{k^2|d}\mu(k)\\&=&\sum_{k=1}^n\mu(k)\sum_{ 阅读全文
posted @ 2016-10-30 00:35 Claris 阅读(1249) 评论(0) 推荐(0) 编辑
摘要:A. Nanoassembly 首先用叉积判断是否在指定向量右侧,然后解出法线与给定直线的交点,再关于交点对称即可。 B. Playoff 建树根据dfs括号序列判断是否成祖孙关系即可。 C. Inequalities 差分约束系统,下界直接作为初始值,然后判断是否出现正环或者超过上限,需要SLF优 阅读全文
posted @ 2016-10-29 23:35 Claris 阅读(503) 评论(0) 推荐(0) 编辑
摘要:A. Toda 2 按题意模拟即可。 B. Minimum and Maximum 首先将1和2,3和4,5和6,...两两比较,得到较大值和较小值,再在这n2对中大的比大的,小的比小的即可。 C. Bulmart 首先BFS求出任意两点间的最短路,然后 阅读全文
posted @ 2016-10-28 21:52 Claris 阅读(979) 评论(0) 推荐(0) 编辑
摘要:首先不难列出DP方程: dp[x]=min(w[x],h[x]) h[x]=dp[son]w[x]增加时,显然dp[x]不会减少,那么我们求出dp[x]的增量delta,若delta=0那么什么都不需要做。 对于x来说,它的h值不变。 对于x阅读全文
posted @ 2016-10-28 01:43 Claris 阅读(1398) 评论(0) 推荐(1) 编辑
摘要:设D(A)D(B),从小到大枚举D(A),双指针从大到小枚举D(B)。 那么对于权值不超过D(A)的边,可以忽略。 对于权值介于(D(A),D(B)]之间的边,需要满足那两个点不能都在集合A。 对于权值大于D(B)的边,需要满足那两个点不在同一个集合。 所以建图 阅读全文
posted @ 2016-10-26 09:17 Claris 阅读(491) 评论(0) 推荐(0) 编辑
摘要:将边按权值A从小到大排序,从小到大枚举max(A),然后双指针从大到小枚举max(B)。 按权值B用大根堆维护所有已经加入的边,每次max(B)减少时,不断取出权值B最大的边看看是否需要删除即可。 那么只需要检验这个图是否只有一个强连通分量。 考虑使用Kosaraju算 阅读全文
posted @ 2016-10-26 00:22 Claris 阅读(907) 评论(1) 推荐(0) 编辑
摘要:考虑KMP,设f[i][j][S]表示还剩最低i位没有确定,目前KMP匹配到了j这个位置,前缀匹配情况是S,最终会匹配到哪里,中途匹配成功几次。 其中S[i]是一个pair<int,long long>,表示对于前面已经确定的高位,如果从i开始匹配,那么最终会匹配到哪里,中途 阅读全文
posted @ 2016-10-24 16:49 Claris 阅读(343) 评论(0) 推荐(0) 编辑
摘要:每种状态最多只有三种后继状态:中间往左跳,中间往右跳,两边往中间跳。 如果把它们分别看成左儿子、右儿子、父亲的话,那么会得到一些二叉树。 取出起始状态和终止状态往上跳k步的所有状态,其他状态我们只关心它们到关键状态的距离。 于是设dp[i][j][k]表示从起始状态跳了i步,目前位于状态 阅读全文
posted @ 2016-10-24 09:11 Claris 阅读(435) 评论(0) 推荐(0) 编辑
摘要:A. My Friend of Misery 计算出答案的上下界即可。 时间复杂度O(n)。 B. Brother Louie 纵坐标根据深度即可计算,比较麻烦的是横坐标。 设最左边的叶子的横坐标为t,那么每个点的横坐标都能表示为t+Air+Bih,根据xroot=0,可以 阅读全文
posted @ 2016-10-22 21:13 Claris 阅读(1249) 评论(0) 推荐(0) 编辑
摘要:\[\begin{eqnarray*}ans&=&\sum_{i=1}^nf(i)\\&=&\sum_{i=1}^n\sum_{d|i}\gcd(d,\frac{i}{d})\\&=&\sum_{i=1}^n\sum_{d|i}\sum_{k|d,k|\frac{i}{d}}\varphi(k)\\ 阅读全文
posted @ 2016-10-22 01:58 Claris 阅读(263) 评论(0) 推荐(0) 编辑
摘要:设 f(n)=d|nμ2(d) 则 \[\begin{eqnarray*}\sigma_0(n^2)&=&\sum_{d|n}f(d)\\ans&=&\sum_{i=1}^n\sigma_0(i^2)\\&=&\sum_{i=1}^n\sum_{d|i}\sum_{k|d 阅读全文
posted @ 2016-10-22 00:59 Claris 阅读(882) 评论(2) 推荐(0) 编辑
摘要:菜鸡队训练实录。 现场赛记录:[名称:奖项/排名] 2016: ZJPSC:Gold/1 CCPC中南邀请赛:Gold/1 ICPC Dalian:Gold/24 ICPC Beijing:Gold/9 CCPC Final:Bronze/40 ICPC China-Final:Gold/12 20 阅读全文
posted @ 2016-10-21 18:17 Claris 阅读(7113) 评论(4) 推荐(7) 编辑
摘要:shift-and算法,设v[i][j]表示文本串长度为i的前缀能否匹配模式串长度为j的前缀,f[i][j]表示字符i能否匹配模式串的第j个位置,那么有v[i+1][j+1]=v[i][j] and f[s[i+1]][j+1]。 显然j这一维可以用bitset加 阅读全文
posted @ 2016-10-21 18:10 Claris 阅读(480) 评论(0) 推荐(1) 编辑
摘要:折半爆搜,首先爆搜出所有长度不超过4的串。 对于每个询问,首先暴力枚举所有长度不超过4的串,以及前4位相同时后面的串。 然后枚举前4位,以及后面的串长,那么后面的hash值唯一,可以双指针求出。 时间复杂度O(264(log(264)+k))阅读全文
posted @ 2016-10-11 01:42 Claris 阅读(269) 评论(0) 推荐(0) 编辑
摘要:A. Bracket Expression 直接按题意模拟即可。 时间复杂度O(n)。 B. Checkers 暴力搜索所有对战情况,然后模拟。 时间复杂度O(2nk)。 C. Convex and Compact 枚举起点,设f[i][j][k]表示当前凸包转到了i点,凸包上和内 阅读全文
posted @ 2016-10-10 01:25 Claris 阅读(713) 评论(1) 推荐(0) 编辑
摘要:A. Automaton 后缀自动机可以得到O(2n+1)个状态,但是后缀自动机会拒绝接收所有不是S的子串的串,所以在建立后缀自动机的时候不复制节点即可得到n+1个状态的DFA。 B. Beinz 用Lucas定理计算组合数即可,时间复杂度O(p+tlogn)。 C. Cutti 阅读全文
posted @ 2016-10-08 19:19 Claris 阅读(287) 评论(0) 推荐(0) 编辑
摘要:一条边能连上当且仅当它没有经过任何点,并且两边的点都是偶数个。 枚举原点,通过极角排序求出哪些边是合法的,然后区间DP即可。 时间复杂度O(nmlogm+n3)阅读全文
posted @ 2016-10-08 19:02 Claris 阅读(184) 评论(0) 推荐(0) 编辑
摘要:如果存在k使得i<j<k,且a[k]<a[i]<a[j],那么ij不能在一个栈中。 设b[i]=min(a[i..n]),如果b[j]<a[i]<a[j],那么ij不能在一个栈中。 设c[i]表示最大的j,满足b[j]<i,则i要向位置在$[ 阅读全文
posted @ 2016-10-07 02:28 Claris 阅读(592) 评论(0) 推荐(0) 编辑
摘要:将所有数分解质因数,那么第一问就是求指数的最大值,第二问就是21。 首先将106以内的质因数全部找到,那么剩下部分的因子>106,且只有3种情况: 1.大质数 2.大质数的平方 3.两个大质数的乘积 对于1可以用MillerRabin算法判定,对于2可以尝试 阅读全文
posted @ 2016-10-06 02:44 Claris 阅读(312) 评论(0) 推荐(0) 编辑
摘要:A. As Easy As Possible 每个点往右贪心找最近的点,可以得到一棵树,然后倍增查询即可。 时间复杂度O((n+m)logn)。 B. Be Friends 从高位到低位依次考虑,对于每一位,按这一位将数字分成两个集合,显然这两个集合要优先连边,那么只需要找到横跨这两个集合的 阅读全文
posted @ 2016-10-06 00:21 Claris 阅读(460) 评论(0) 推荐(0) 编辑
摘要:A. RPG 首先计算出每个技能对于每个属性值的可行区间,若区间为空则不合法。 枚举两个技能,以及每个属性值,根据区间的关系可以得到哪个必须要在另一个之前学,连边看看是否有环即可。 时间复杂度O(n2m)。 B. Integer in integer 按KMP的next数组进行数位DP即可,时 阅读全文
posted @ 2016-10-05 02:08 Claris 阅读(255) 评论(0) 推荐(0) 编辑
摘要:A. Freestyle 如果逆序对为0,那么先手必败。 因为每次只能翻转长度为4k+24k+3的区间,所以每次操作之后逆序对的奇偶性一定会发生改变。 因此如果逆序对个数为偶数,则先手必败。 B. Checkout lines 从后往前贪心构造。 C. Heli-ski 如果n比较 阅读全文
posted @ 2016-10-03 00:43 Claris 阅读(274) 评论(0) 推荐(0) 编辑

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