摘要: 题目链接: "Click here" Solution: 统计方案,第一时间就应该想到dp 设$f[i][j][k][0/1]$表示在$A$串到第$i$个位置,现在要匹配$B$串的第$j$个位置,拿出了$k$个子串的方案 其中最后一维表示$i$这个位置选不选,易得初始状态$f[i][0][0][0] 阅读全文
posted @ 2019-09-14 16:06 DQY_dqy 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "Click here" Solution: 我们要使最大值最小,显然二分 二分一个最大值,小于等于最大值的路径就不用管了,看大于最大值的路径 记录要使剩下的路径的最大值小于等于当前二分的值,要减去的最小边长maxd 然后我们就是要查找是否有一条被剩下的所有路径都经过的,长度大于等于ma 阅读全文
posted @ 2019-09-14 11:17 DQY_dqy 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 简介: 数学上,高斯消元法(英语:Gaussian Elimination),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个行梯阵式。 以上引自维基百科。。。 原理: 我们可以把一个$n$元$1$次方程表示成一个$n$ 阅读全文
posted @ 2019-09-13 20:03 DQY_dqy 阅读(157) 评论(0) 推荐(0) 编辑
摘要: T1: 避难向导 (shelter.cpp 1s 256M) “特大新闻,特大新闻!全国爆发了一种极其可怕的病毒,已经开始在各个城市 中传播开来!全国陷入了巨大的 危机!大量居民陷入恐慌,想要逃到其它城市以 避难!经调查显示,该病毒来自于C 市的A 学校的一次非法的… …” “哎。”你关上电视,叹了 阅读全文
posted @ 2019-09-09 16:44 DQY_dqy 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "Click here" Solution: 题目描述十分冗长,实际上就是给你一棵树,问你最少增加多少次边权,使得所有叶子节点到根节点距离相等 有一个十分显然的结论:最后的距离为不增加边权的最大距离 则我们可设$f[x]$表示$x$节点与$fa[x]$相连的边需要加多少权值 易得状态转移 阅读全文
posted @ 2019-09-07 19:54 DQY_dqy 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "Click here" Solution: 设$f[i][j]$表示以$i$为根的子树保留$j$条边的最大值 得到转移式:$f[i][j]=max(f[i][j],f[i][j k 1]+f[son_i][k]+val[i][son_i])$ 用vector来存每个点的儿子,倒着转移即 阅读全文
posted @ 2019-09-06 13:17 DQY_dqy 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "Click here" Solution: 最小值最大,考虑二分一个答案$k$ 考虑在子树内先匹配,最后传递一个值给自己的父亲(因为每条边只能用一次,所以一颗子树最多传递一个值) 那么我们就可以用一个$multiset$来存子树的传递值,然后匹配,将剩下的边传递上去就行了 Code: 阅读全文
posted @ 2019-08-30 09:25 DQY_dqy 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "Click here" Solution: 定义$E(x)$表示在第x位置时的期望得分,考虑$E(x)$与$E(x+1)$之间的关系 如果$x+1$位置为1,则在$x$位置结束的连续的1长度都要+1 我们考虑先把$(x+1)^3$分解,$(x+1)^3=x^3+3x^2+3x+1$ 也 阅读全文
posted @ 2019-08-29 17:26 DQY_dqy 阅读(122) 评论(1) 推荐(1) 编辑
摘要: T1 题目意思:给出l,r,p,求区间[l,r]之间有多少数的最小质因子是p。 数据范围:1 define int long long using namespace std; const int N=1e7+1; int L,R,P; int isprime(int x){ for(int i=2 阅读全文
posted @ 2019-08-22 20:16 DQY_dqy 阅读(110) 评论(0) 推荐(0) 编辑
摘要: T1 题目意思:给定一个01串,你可以进行区间异或操作,最少用几次能让这个串完全相同 数据范围:$n\le 1e7$ Solution: $f[i]$表示全变成1的最小操作数,$g[i]$表示全变成0,输出min值 Code: cpp include define int long long usi 阅读全文
posted @ 2019-08-18 22:34 DQY_dqy 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 链接: "Click here" 题目意思:给你一个图,有3n个点,m条边,求是否有n条匹配边或n个独立点,其中匹配为没有公共点,独立为不相连 Solution: 考虑每个点对于第一种情况,最多只能贡献一次,所以先乱连,看能否达成条件 考虑无法达成条件,则此时被边相连的点不到2n个,还剩下大于n个点 阅读全文
posted @ 2019-08-04 21:16 DQY_dqy 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "Click here" Solution: 考虑主席树事实上是运用了一种前缀和的思想,每个点以它父亲为蓝本建树 那么答案为$sz[u]+sz[v] sz[lca(u,v)] sz[fa(lca(u,v))]$ Code: cpp include include include incl 阅读全文
posted @ 2019-08-04 20:08 DQY_dqy 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "Click here" 题目大意:两个点之间的边权为编号按位与的值,求最小生成树,方案要字典序最小 Solution: 一道不难的构造题,每个点连向他取反后的lowbit值,这样边权为0,若lowbit值大于n,则连1 这样自构造出来的必然是最小生成树,且满足字典序最小 Code: c 阅读全文
posted @ 2019-08-02 23:21 DQY_dqy 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "Click here" Solution: 状压dp,考虑$f[i][j][k]$表示当前到了第i个石头,颜色状态为j,选取的最后一个石头颜色为k时能够留下的石头的最大数量 转移也很好转移,枚举所有状态,再枚举上次转移过来的状态的最后一个颜色,然后暴力转移就行了 最后查找一下所有情况下 阅读全文
posted @ 2019-08-01 22:03 DQY_dqy 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "Click here" 题目大意:求一个数分解质因数后的最小幂指数 Solution: 首先,我们肯定是不能直接暴力求解的 我们先考虑筛出1e4范围以内的所有质数,把x所有这个范围内的质因子筛掉 那么现在它的数值范围就变成了1e14了,考虑此时他还存在没有被筛掉的质因子的情况 因为我们 阅读全文
posted @ 2019-08-01 15:49 DQY_dqy 阅读(145) 评论(0) 推荐(0) 编辑