摘要:A:https://www.cnblogs.com/myx12345/p/9842904.html B:https://www.cnblogs.com/myx12345/p/9842964.html C:https://www.cnblogs.com/myx12345/p/9842977.html
阅读全文
摘要:题意:有n个单词,给定m个关系,每个关系要么表示单词a与单词b相同,要么表示单词a与单词b相反。 并且“相同”与“相反”有性质:若a与b相同,b与c相同,则a与c相同(从而单词的相同关系是等价关系); 若a与b相反,b与c相反,则a与c相同。按顺序判断这m个关系是否可以成立,若可以成立,则加上这个关
阅读全文
摘要:题意:给出一棵有根树,树上每个点、每条边都有一个权值。 现在给出“控制”的定义:对一个点u,设点v在其子树上,且dis(u,v)≤av,则称u控制v。 要求求出每个点控制了多少个点 n (1 ≤ n ≤ 2·105). (1 ≤ ai ≤ 109) 1 ≤ pi ≤ n, 1 ≤ wi ≤ 109)
阅读全文
摘要:题意:给定一个N个数的数列,求所有不同不下降子序列的乘积之和,其中不同指的是组成它的数字和长度不完全相同 n (1 ≤ n ≤ 10^5) a[i]<=10^6 思路:考虑DP。设DP[a[i]]为最后一位为a[i]时所有序列的积之和,则dp[a[i]]=a[i]+sigma(dp[a[j]]) *
阅读全文
摘要:题意:n 个节点的树,初始位置为 1 号节点,初始时间为 1。每次随机地走向任何一个没有走过的子树并且令时间 +1求问走到每一个点时的时间的期望值 思路:比较少见的一道自顶向下的树形DP dp[i]表示走到i点的期望时间 对于U,考虑它走到儿子V需要时间1,在此之前可能要由1走到U,还要走过若干U的
阅读全文
摘要:题意:给出一个图,每条边有权值和花费c,每次花费c能使的权值-1。给出一个预算,求减完权值后的一个最小生成树。 思路:感谢CC大神 有这样一个结论:最佳方案里必定存在一种,预算全部花费全部分配在一条边上。证明显然,对于任意一组解,都可以在内部再分配预算使总费用更小或不变。 于是先求出原图的最小生成树
阅读全文
摘要:题意:给你一个n*m的地图,现在有一束激光从左上角往右边射出,每遇到‘#’,你可以选择光线往四个方向射出,或者什么都不做,问最少需要多少个‘#’往四个方向射出才能使关系在n行往右边射出。 思路:将每一行,每一列看做二分图中的一个点,a[i,j]='#'就将第i行和第j列之间连一条边,最短路DFS即可
阅读全文
摘要:题意:给一个无环的图,问用不超过T的时间从1到n最多可以经过多少个点。要求输出一条路径。 思路:因为无环,可以用DP做。不过因为时间最短的原因要拓扑排序后再DP,目测由底向上的更新也是可以的。
阅读全文
摘要:题意:acm队伍可以得气球,相同气球数是一个排名。每个队伍有一个气球数上限,如果该队伍的气球数大于上限 该队伍被淘汰。给了你队伍的气球数,你的气球可以给别人,问你最大可能的排名。 (2 ≤ n ≤ 300 000) (0 ≤ ti ≤ wi ≤ 10^18) 思路:对每个初始t[i]>t[1]的i,
阅读全文
摘要:题意:a[i]表示从第i个车站可以一张票到第[i+1,a[i]]这些车站;p[i][j]表示从第i个车站到第j个车站的最少的票数,现在要求∑dp[i][j](1tree[p].s then tree[p]:=tree[ptree[p].s then tree[p]:=tree[p>1; 27 build(l,mid,p>1; 40 t:=0; 41 if (x>=l)and(yt then ...
阅读全文
摘要:题意:有m门需要过的课程,n天的时间可以选择复习、考试(如果的d[i]为0则只能复习),一门课至少要复习a[i]天才能通过(可以不连续的复习得到a[i]),问最早什么时候可以把所有课程都通过,如果不能输出-1。 1 ≤ n, m ≤ 10^5) 思路:贪心思想可知每门课尽可能拖到最后考是最优方案,这
阅读全文
摘要:题意:给你1-n的一个排列和m组数对,问有多少区间不包含任意一个数对。 (1 ≤ n, m ≤ 3·105) 思路:数据范围过大,不能用容斥原理 f[i]表示以位置i上的数为左端点,右端点最小到哪里 不包含=总数-包含即可
阅读全文
摘要:题意:有一张N点M边的有向图,求最小的K使根据前K条边就能够确定图是否有唯一的拓扑序, 若没有唯一拓扑序输出-1 思路:二分答案再拓扑排序,以入度为0的节点作为新的一层,若某一层的节点个数<>1则没有唯一拓扑序
阅读全文
摘要:题意:给出一个棋盘为h*w,现在要从(1,1)到(h,w),其中有n个黑点不能走,问有多少种可能从左上到右下 (1 ≤ h, w ≤ 105, 1 ≤ n ≤ 2000),答案模10^9+7 思路:从(1,1)到(n,m)的方案数是c(n+m-2,n-1) 考虑不能走黑点 设dp[i]为从(1,1)
阅读全文
摘要:题意:给你一个数列,对于每个数字你都可以++或者−− 然后花费就是你修改后和原数字的差值,然后问你修改成一个严格递增的,最小花费 思路:很久以前做过一道一模一样的 严格递增很难处理,就转化为非严格递增处理 设a[i]<a[j],i<j a[j]-a[i]>=j-i a[j]-j>=a[i]-i 即将
阅读全文
摘要:题意: 给一个m<=10^15,每次都减最接近当前值的立方数 让你找一个不大于m的最大的数并且这个数是减法次数最多的数 思路:见http://blog.csdn.net/miracle_ma/article/details/52458715 开始想用贪心直接写 后面发现步数是对的,但使原数最大很难处
阅读全文
摘要:题意:给定一张N*M的地图,每一格都是一个房间,房间之间有门。每个房间可能有四个门,例如>代表右边只有一个门在右边即只能向右走,L代表左边没有门只能除了左其他都可以走等等。现在给出起点和终点,每次你可以把全部房间旋转90度或者移动到相邻的房间,但前提是两个房间之间都有有门,现在要你求起点出发到终点的
阅读全文
摘要:题意: 给一张N个点N条有向边的图,边可以逆向。问任意逆向若干条边使得这张图无环的方案数(mod 1e9+7)。 n<=200000 思路:三个样例给的好 找规律方便很多 易得有N点的环有(2^n)-2中改法,除了不改和都改 剩下的都是链,设除环外还有K个点,他们的总贡献就是2^k,因为都是一条边相
阅读全文
摘要:题意:给你n个数字,一共有m种,如果某数为0则该数为空,空的地方可以填任意种类数,但每填一个数字都要花费一定的费用, 从头到尾,所有相邻且相同的数字看作一个集合,求使n个数字的集合数为k所需的最小费用。 思路:设dp[i,j,k]为前i个连续j段结尾为k的最优值,分类讨论DP即可 var dp:ar
阅读全文
摘要:题意:给出一棵树上的2*k个节点,给他们配对,使得他们之间的距离和最大。 思路:一条边的两侧如果有一侧没有给定的节点就不会被经过…… 如果有1个节点就会被经过1次…… 如果两侧分别有x,y个给定节点就会被经过min(x,y)次 因为要使总路程最大就是让每一条路被走过最多的次数 肯定是两侧各取一个 剩
阅读全文