11 2017 档案
摘要:社交网络 floy拓展 给定一个由n个点组成的无向图,求所有点的$V(x)=\sum_{C(a,b)}^{C(a, b)(v)}(a\ne b)$,其中$C(a, b)$表示(a,b)这条最短路路径的条数,$C(a, b)(v)$表示(a,b)最短路中经过v的最短路的条数。$n\le 100$。 这
阅读全文
摘要:hdu1599 floyd求最小环 其实floyd求最小环就相当于找出一个一条只包括1到k 1中节点的路径,然后把这个路径与k这个节点相连。这样是正确的原因是,最小环中一定有一个最大节点k,当最外层节点是k时,我们一定会枚举到k两端的两个节点,这样就统计出了答案。至于为什么不能直接用最短路径,而是要
阅读全文
摘要:最长公共子序列 给出1 n的两个排列P1和P2,求它们的最长公共子序列。对于100%的数据,n≤100000。 我们可以发现,我们只关心元素的关系,而不关心元素的大小。所以可以把a数组中的值换成123..n,也就是建立一个对应关系$map[i]$,表示$map[a[i]]=i$,那么要找b和a的最长
阅读全文
摘要:C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 1 条。C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同
阅读全文
摘要:最短路算法合集 ~~noip快要考了发现spfa不会打的我~~决定来总结一下最短路算法。 dijkstra dijkstra基于最短路的最优子结构性质。设$s(u, v)$表示u到v的最短路,若k是它们最短路L上的点,那么$s(u, k)+s(k, v)=s(u, v)$(首先$s(u, k)+s(
阅读全文
摘要:软件安装(树形dp) 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖
阅读全文
摘要:选课(树形dp) 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有N门功课,每门课有个学分,每门课有一门或没有直接先修课(若课程a是课程b的先修课即只有学完了课程a,才能学习课程b)。一个学生要
阅读全文
摘要:为什么01背包要倒着推,完全背包要顺着推 我忽然发现,这个小学的知识点,额,一直没有弄懂。现在赶快总结一下。 01背包每个物品只能选一次,所以若用$f[i][v]$表示前i件物品,恰好放入一个容量为v的背包可获得的最大价值,那么其二维状态转移方程是:$f[i][v]=max(f[i 1][v], f
阅读全文
摘要:运输计划(二分答案+lca) 有一颗n个节点的树,上面有m条路径。现在可以把一条边的长度变成零,问所有路径长度最大值的最小是多少。$n,m≤3e5$。 据说求最大值的最小值,或者最小值的最大值都要二分答案?二分路径长度的最大值l,那么我们必须修改一条边,使得所有路径长度比l大的路径,长度变为小于l。
阅读全文
摘要:跳石头(二分答案) 一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 N 块岩石(不含起点和终 点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高
阅读全文
摘要:信息传递 (拓扑排序) 有 n 个同学(编号为 1 到 n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为Ti的同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:
阅读全文
摘要:字符串工厂 定义两个字符串间的相似程度,为两个字符串中所有字符对(包括重复)的相似程度的和。字符对的相似程度已经给出。例如,$s[‘a’][‘a’]=s[‘b’][‘b’]=s[‘c’][‘c’]=2,s[‘a’][‘b’]=s[‘a’][‘c’]=1,s[‘b’][‘c’]=0$。则字符串”ab”
阅读全文
摘要:美丽数(数位dp) 如果一个正整数能被它所有非0的数位整除,那么称这个正整数为美丽数。求区间[a,b]之间的美丽数的个数。对于100%的数据,$1≤a≤b≤10^{18},t≤10$ 这道题是典型的数位dp。首先,如果一个正整数能被它所有非零的数位整除,说明其能被非零数位的lcm(最小公倍数)整除。
阅读全文
摘要:跳跳机器人 小R、小B和小D分别研制出三个不同的跳跳机器人。小R的机器人一次弹跳的距离是$[l_1,r_1]$区间内的等概率随机的整数,小B的机器人一次弹跳的距离是$[l_2,r_2]$区间内的等概率随机的整数,小D的机器人一次弹跳的距离是$[l_3,r_3]$区间内的等概率随机的整数。现在三个机器
阅读全文
摘要:挖宝(二分答案+dp) n个点,有m条边连接。小R从第一个点开始走,且必须从编号小的点走到编号大的点,直到走到第n个点。 每条边有时间$t[i]$,价值$w[i]$,求$max(\frac{\sum w[i]}{\sum t[i]})$。 先考虑直接dp出答案,怎么设计状态呢?我们发现分数是不能累加
阅读全文
摘要:独立集 给你一个n个数的全排列,问其中的最长上升子序列(LIS)长度,并求出哪些数一定在最长上升子序列中。N include using namespace std; const int maxn=1e5+5; int n, len, a[maxn], d[maxn]; int pos[maxn],
阅读全文
摘要:密码(子序列) 给你一个加密后的字符串,一个加密前的字符串,问有多少种方法,使得加密后的字符串从两边切割后,包含加密前字符串的子序列。 既然是要求切割方法,肯定要考虑重复情况。我们枚举切割的左端点,然后找到包含未加密字符串的最短子序列的右端点,然后统计答案即可。 c++ include includ
阅读全文

浙公网安备 33010602011771号