06 2017 档案
摘要:题意 给定若干组由数字构成的字符串,求所有不重复子串的和(把他们看成十进制),答案mod(1e9+7) 题解: 类似后缀数组的做法,把字符串之间用':'连接,这里用':'是因为':'的ascii码恰好是9的下一个 然后建立后缀自动机。 之后把其实只要把其中的所有':'边删去,就可以进行转移了 如果x
阅读全文
摘要:交完作业了 这里把代码贴在这 支持 1、高精度浮点数运算 2、越界检测 3、算式合法性检测 4、音乐播放 算是熟悉一下汇编语言了orz
阅读全文
摘要:一、后缀自动机基本概念的理解 1、首先后缀自动机的状态是由子串的endpos来决定的 子串的endpos是指一个子串可以在原字符串的哪些位置进行匹配, endpos构成的不同集合划分成不同的状态 关于endpos的性质: s1是s2的子串当且仅当endpos(s1)属于endpos(s2),s1不是
阅读全文
摘要:题目大意 给出一棵树,边上有权值,要求给出一个1到n的排列p,使得sigma d(i, pi)最大,且p的字典序尽量小。 d(u, v)为树上两点u和v的距离 题解:一开始没看出来p需要每个数都不同,直接敲了个轻重边剖分orz,交上去才发现不对 题解2: 如果排列要求都不同的话,实际上求最大值反而好
阅读全文
摘要:一.欧拉回路的判定 主要分为两大类 无向图欧拉回路判定: 1、欧拉路径:即可以一笔画,充要条件是度数为奇数的点的个数为0或2。 2、欧拉回路:欧拉路径构成一个圈,充要条件是全部是偶点 有向图欧拉回路判定 1、欧拉路径:起点出度比入度大1,终点入度比出度大1,其他点全部是偶点 2、欧拉回路:每个点出度
阅读全文
摘要:题目大意:给出一个图,安排边的方向,使得入度等于出度的点数最多,并给出方案。 首先假设是个无向图,不妨认定偶点必定可以满足条件 我们还会发现,奇点的个数必定是偶数个 那么如果把奇点两两用辅助边连起来,对全图求一个欧拉回路,就可以得到这个方案 因为奇点肯定不会是答案点,所以奇点连起来不会有影响 这时的
阅读全文
摘要:题目大意:给定D,询问有多少个数,它的翻转减去它本身等于D 题解做法很无脑,利用的是2^(L/2)的dfs,妥妥超时 于是找到了一种神奇的做法。
阅读全文
摘要:题目大意: 给定一个序列a,包含n个数(n<=15),每个数的大小小于等于50 初始时x = 0,让你每次选a中的一个数y,使得x = x + x^y 问如何安排选择的次序,使得最终结果最大。 考虑状态压缩,dp[S]表示选了S状态的数的最大结果 我们发现这样做是错误的,因为目前的最大并不意味最后的
阅读全文
摘要:题目大意:给定n和k,问an中有多少子区间的平均值大于等于k 很巧妙的一个式子,就是如果一个区间[l, r]满足条件 那么则有 sum[r] - sum[l-1] >= (r-l+1)*k 整理一下就是sum[r] - r*k >= sum[l-1] - (l-1)*k 然后先离散一下,用树状数组就
阅读全文
摘要:题目大意:给定H,W,h,w四个数,求是否满足矩阵的全部数之和和正数,h行w列之和为负数 如果h和w恰好是H,W的约数,则肯定不存在 否则肯定存在 只需要把h,w内每个元素填的足够大,然后小矩形的最后一个元素为负,且保持整个小矩形为负即可(可用不等式证明)
阅读全文
摘要:题目大意: 给定n和n个数,每个数a[i]代表除了i外序列中颜色不同的数的个数,问能否构造出来这个数列。 比较简单,首先先求出来a数列的最大值Max, 如果有数小于Max-1,那么显然是不存在的 接下来就是有m个数等于Max-1,n-m个数等于Max 那么可以知道m个数中每个数肯定是有且只有一种颜色
阅读全文
摘要:题目大意: 给出n+1堆石子,前n堆石子的数量是a[i],最后一堆只有1个石子,但是具有魔力 拿走该石子的一方可以选择接下来是进行普通的Nim游戏还是anti-nim游戏 问是先手必胜还是必败 首先拿全是1的情况熟悉一下规则 如果全是1,那么无论有几堆,先手都是必胜的 因为如果有奇数个1,那么Ali
阅读全文
摘要:题目大意, 给定一个有n个点的环,n不超过10,每个点上有一个权重 起始时权重将会给出,然后有2种操作 第一种操作是,选择一个位置i,获得权重w = a[i],把a[i]变成0,然后接下来在环上顺着走,每个数都加1,直到w为0 第二种操作是,选择一个位置i,在换上倒着走,每个数都减去1,然后收集这个
阅读全文
摘要:算法原理详见 http://www.csie.ntnu.edu.tw/~u91029/Matching.html orz 带花树很神奇,挖坑最大权匹配 这个是缩点版本的
阅读全文

浙公网安备 33010602011771号