摘要:
【题意】求从字符串A中取出k个互不重叠的非空子串顺序拼接形成B的方案数。n<=1000,m<=100,k<=m。 【算法】动态规划 【题解】这题主要是将从i-l转移变成从i-1转移,从而省略l这一维的枚举(等价于记录前缀和,将信息顺序传递过来)。 f[i][j][k]表示字符串A到i,字符串B到j, 阅读全文
摘要:
【题意】Universal Online Judge 【算法】状态压缩型DP 【题解】看数据范围大概能猜到是状压了。 根据三点确定一条抛物线,枚举两个点之间的抛物线,再枚举有多少点在抛物线上(压缩为状态c[]),这样预处理出至多n*n/2+n条抛物线。(注意加上只经过一点的抛物线) 然后f[i]表示 阅读全文
摘要:
【题目链接】Universal Online Judge 【题解】本题最大的特点在于从大到小切以及切分规则一致,都是切成px和x-px。 由这两个特点很容易得到结论,后切的蚯蚓得到的px一定比先切的蚯蚓得到的px小,后切的蚯蚓得到的x-px一定比先切的蚯蚓得到的x-px小。 所以可以得到三队列做法, 阅读全文
摘要:
【题意】n个点的树,有m个人同时开始走链,每一步花一秒,n个点都有观察员在ai秒观察,求每个观察员观察到的人数。 【算法】树上差分(主席树||线段树合并) 【题解】一个人的走链可以拆成u-lca和lca-v两部分,可以发现在u-lca链上的点能观察到这个人的w[x],满足所有deep[x]+w[x] 阅读全文
摘要:
【题意】按照斗地主出牌规则,给定手牌求出完的最少步数。 【算法】模拟+搜索 【题解】 可以发现除了顺子,其它的出牌规则都和点数无关,只与同点数的牌数有关。 所以可以先暴力枚举要出哪些顺子,然后每一个出完顺子后手牌的情况处理成b[4]表示牌数为1~4的点数有多少个,然后进行dfs。(为了方便,将A接在 阅读全文
摘要:
【题意】给定有(n+1)*(m+1)个点的网格图,其中指定k个点不合法,求合法的正方形个数(四顶点合法)。 【算法】计数 【题解】斜着的正方形很麻烦,所以考虑每个斜正方形其外一定有正的外接正方形。 也就是,一个边长为x的正放的正方形,同时代表x个正方形(其中1~x-1为斜正方形)。 num0:首先计 阅读全文
摘要:
【题意】给定方程x^3x=2x,求<=x和<=2^x的满足方程的正整数个数。 【算法】数位DP,矩阵快速幂 【题解】异或相当于不进位加法。 移项得,x^2x=3x,又因为x+2x=3x,所以x+2x不能产生进位。 又2x=x<<1,所以x+(x<<1)不进位当且仅当x中不存在相邻的1。 问题转化为求 阅读全文
摘要:
【资料】 ★记忆化搜索:数位dp总结 之 从入门到模板 by wust_wenhao 论文:浅谈数位类统计问题 数位计数问题解法研究 【记忆化搜索】 数位:数字从低位到高位依次为0~len-1。 高位限制limit=limit&&i==a[pos] 前导零lead=lead&&i==0 数位pos= 阅读全文
摘要:
【题意】给定n个点的树,从无到有加边,过程中动态询问当前图某条边两端连通点数的乘积,n<=10^5。 【算法】线段树合并+并查集 (||LCT(LCT维护子树信息 LCT维护子树信息(+启发式合并))——嗷嗷待补) 【题解】先将所有边离线加入计算dfs序(套路,强制固定原树形态) 对于一条边(u,v 阅读全文
摘要:
【题意】给定只含小写字母的字符串,要求分割成若干段使段内字母重组顺序后能得到回文串,求最少分割段数。n<=2*10^5 【算法】DP 【题解】关键在于快速判断一个字符子串是否合法,容易发现合法仅当不存在或只存在一个奇数字符,其余字符均为偶数。 当涉及到奇偶性(%2)时,很自然能想到异或。 将小写字母 阅读全文
摘要:
【题意】带点权树,统计每个结点子树内点权比它大的结点数。 【算法】线段树合并 【题解】对每个点建权值线段树(动态开点),DFS中将自身和儿子线段树合并后统计。 注意三个量tot,cnt,tots,细心查错。 #include<cstdio> #include<algorithm> #include< 阅读全文
摘要:
【题意】将n*m矩阵分成两个区域,要求满足一定条件,求两区域内部极差较大值最小。n,m<=2000 【算法】二分 【题解】极差的数值满足单调性,所以考虑二分极差。 对于给定的极差,将所有数值排序后,1~a[n*m]-num-1必须选择A,a[1]+num+1~n*m必须选择B,其它不要求。(开始的时 阅读全文
摘要:
【题意】给定坐标系上n个点,求能构成的包含原点的三角形个数,n<=10^5。 【算法】极角排序 【题解】补集思想,三角形个数为C(n,3)-不含原点三角形。 将所有点极角排序。 对于一个点和原点构成的直线,如果选择这个点和直线一侧的两个点就可以构成不含原点的三角形。 每个点只统计半圈,这样扫1~n下 阅读全文
摘要:
【计算几何基础】 【极角】点(x,y)的极角是向量(x,y)与x轴正半轴的夹角,记为atan2(y,x),范围是 ( -π , π ] ,第一第二象限为正。 极角排序:调用atan(y,x)进行排序,注意共线时按x坐标排序(对立象限)。 例题:【BZOJ】1914: [Usaco2010 OPen] 阅读全文
摘要:
【题意】给定无向图,距离定义为边权和+最大点权,询问若干个两点最短距离。n<=250。 【算法】排序+floyd 【题解】考虑floyd的过程是每次找一个中转点,为了在当前找到一条新路径时方便地统计路径上的最大点权: 对点权进行排序,按点权从小到大的顺序枚举中转点,这样最大点权一定是i,j,k三点中 阅读全文
摘要:
【题意】给定n个点的图,正权无向边,正负权有向边,保证对有向边(u,v),v无法到达u,求起点出发到达所有点的最短距离。 【算法】拓扑排序+dijkstra 【题解】因为有负权边,直接对原图进行spfa,加slf优化后可过,但是这道题就没意思了。 理论上,最短路问题用spfa是不能保证复杂度的,但d 阅读全文
摘要:
【算法】数位DP 【题解】 记忆化搜索 #include<cstdio> #include<algorithm> #include<cstring> #define ll long long using namespace std; ll A[10],B[10],f[20][11],a[20],p[ 阅读全文
摘要:
【题意】给定按编号顺序站成一排的牛,给定一些约束条件如两牛距离不小于或不大于某个值,求1和n的最大距离。无解输出-1,无穷解输出-2。 【算法】差分约束+最短路 【题解】图中有三个约束条件,依次分析: ①坐标顺序和编号顺序一致【一定一定要记得这个约束条件】 xi-xi-1>=0 i向-1连边0 ②两 阅读全文
摘要:
【题意】公车从1开到n,有k群牛想从一个点到达另一个点,公车最多乘坐c个人,牛群可以拆散,问最多载多少牛到达目的地。 【算法】贪心+堆 【题解】线段和点的贪心,一般有按左端点排序和按右端点排序两种方法。 按左端点排序,到达了终点就下车,人数满了就贪心地删掉当前终点最远的牛。 正确性在于,在对左一致的 阅读全文
摘要:
【参考】 浅析竞赛中一类数学期望问题的解决方法 信息学竞赛中概率问题求解初探 WC2018冬令营课件《概率与期望及其应用》曹文 【概率的定义】 基本事件是一次实验可能出现的不可再分解的直接结果,样本空间Ω是全体基本事件的集合,随机事件是若干基本事件组成的集合。 事件的并:事件C=”事件A与事件B至少 阅读全文