08 2022 档案
摘要:###动态规划的适用条件 满足 最优子结构(后面的状态可以由之前的最优子状态转移而来) 无后效性(当前的决策对之后没有影响) 子问题重叠(这样可以优化求解时间复杂度) ###动态规划实现方法 递推 直接写几重 循环转移状态 记忆化 逻辑上更直接更好理解,和递推的时间复杂度本质
阅读全文
摘要:本篇博客是关于洛谷题单【图论2-1】基础树上问题 的题目题解合集 ~~紫题还不会,先鸽~~ 同时附加一点我的个人学习心得 基础树上问题 除了 树形dp 外,还有 树的直径 和 LCA 等问题 ###树的直径 树的直径即树上最长路的长度 求法是首先任取一点作为根,求出一个到根最远的点,此为直径的一端;
阅读全文
摘要:https://ac.nowcoder.com/acm/contest/33190/G 题意 给你一个长为n的字符串s,求s中分别以'k'、'f'、'c'结尾的回文串数量 思路 首先暴力枚举区间端点加判断,为 ,肯定会超时 注意到对于每个位置的字符,可以找到以
阅读全文
摘要:树形dp,即在树上进行dp。 需要对树这一数据结构有清晰的了解,还需要学会树的遍历。 难点常常在于状态方程的书写。 ####例题 例题都来自https://www.luogu.com.cn/training/214#problems 一、没有上司的舞会 题意 树上每个结点有权值,要求在树上选一些点,
阅读全文
摘要:####链接 https://acm.hdu.edu.cn/showproblem.php?pid=7240 题意是有n个点组成的完全图,每个点的权重组成了1-n的排列,点i和点j的距离为 ,给出q组询问,每次询问给出u点和v点,你需要回答u和v的最短距离和最短路的条数 ####
阅读全文
摘要:####链接 https://ac.nowcoder.com/acm/contest/33194/B 题意是n片荷叶排成一排,两个人都可以从1出发,每次可以从第i片荷叶跳到位置在[i+1,i+a[i]]中的荷叶,问两个人跳到n时具有相同步数的概率是多少 ####思路 dp[k][i]表示跳了k次后到
阅读全文
摘要:####链接 https://codeforces.com/contest/1713/problem/D 交互题,有 名玩家进行单淘汰赛制比赛,需要你在不多于 次询问后找到最后获胜的人 每次询问 “? a b” ,
阅读全文
摘要:####链接 https://ac.nowcoder.com/acm/contest/38457/C 题意是说,给你n个形如a时b分 c时d分的条件限制,表示不能选取,给出m个询问某个值是否可以选取 ####思路 1.可以把x时y分转化成一个值 ( x*m+y ) ,这样就可以把原条件看成n个区间的
阅读全文
摘要:定义map<int,int>mp; 假如我令 mp[2]=100; mp[5]=0; mp[0]=3; 输出结果: 可知,mp.count()是map中包含这个键的键值对数(一般为1或0,表示是否存在) mp[下标]是这个键对应的值(可以对应任何值)
阅读全文
摘要:####链接 https://acm.hdu.edu.cn/showproblem.php?pid=7208 题意是说给你一个序列,你需要做exactly k次操作,每次操作选择一个区间[l,r],你可以将l位置的数移动到r位置,同时区间内的其他所有数左移一位 问你经过k次操作后能得到的字典序最大的
阅读全文
摘要:####链接 https://acm.hdu.edu.cn/showproblem.php?pid=7187 ####思路 先建树,求出每个点的层数 可以给每一层新建一个点,相同层数的和这个点距离为0,层间距离为k的点(+k、-k)边权为p 然后跑Dijkstra求最短路 注意新建的边只能建单向的,
阅读全文
摘要:####链接 https://acm.hdu.edu.cn/showproblem.php?pid=7196 ####思路 读题后发现,由于每个人的到达时间不同,且可以唯一确定加入的队伍,所以每个人选择加入的队伍是确定的 那么只需要(按事件发生的时间顺序)模拟即可,使用优先队列 定义三元组<time
阅读全文