- 博客(9)
- 收藏
- 关注
原创 Palindromic Shortest Path题解
我们有一个N个顶点的有向图,编号1,2,…,N。关于边的信息由下式给出,n的平方个字符C1,1,C1,2,...,C1,N,C2, 1,...,CN,N.在这里,每个Ci, j是小写英文字母或-。如果Ci, j是一个小写英文字母,那么从顶点i开始只有一条有向边到顶点j标记Ci, j.如果Ci, j是-,顶点i没有边到顶点j对于每个整数对(i,j)1≤i,j≤N,回答以下问题:在从顶点i开始的所有(不一定是简单的)路径中到顶点j边上的标签连接形成回文,这样的最短路径的长度是多少?
2025-02-23 12:07:33
308
原创 Cables and Servers题解
有 N 台服务器,编号从 1 到 N,以及 M 条电缆,编号从 1 到 M。电缆 i向连接服务器 A_i 和 B_i。 通过执行以下操作若干次(可能为零),使得所有服务器通过电缆连接。 操作:选择一条电缆,并一端重新连接到另一台服务器。 找到所需的最小操作次数,并输出一个实现该最小值的操作序列。
2025-02-09 11:47:49
198
原创 Japan(POJ3067)
先从小到大排序 x,相同的y小的放前面,用树状数组求前面有多少个比当前y大的(当前道路总数-比y小的和一样的)。当然,也可以从大到小排序,算前面有多少个比y小的。
2024-07-10 16:38:02
517
原创 最大利润(树型动态规划)
任意两个火车站有且只有一条路径,每个火车站最多有50个和它相连接的火车站。第一行输入整数N(≤100000),表示有N个火车站,分别用1,2,…接下来 N 行,每行一个整数表示每个站点的利润,接下来 N 一 1 行描述火车站网络,每行两个整数,表示相连接的两个站点。这是一道树形动态规划,dp[i][0]表示以i为根时,不选i的最大值,dp[i][1]为选i时的最大值;从根开始递归每一层,当选i时,不选它的子节点,则。其中j为i的子节点。最佳投资方案是在1,2,5,6这 4个火车站开饭店可以获得利润为90。
2023-01-14 16:34:36
336
原创 人品问题(树型动态规划)
选择哪K个祖先可以由测试者自己决定,但必须要满足这个要求:如果除自己的父母之外的某个祖先被选了,那么他的下一代必需要选(不允许跳过某一代选择更远的祖先,否则将失去遗传的意义)。这是一道树形动态规划,dp[i][j]表示第i个人选j个意义参见时的最大值,递归枚举每一层,w[i]为初始人品值,k为当选k个意义参考时,k从一到j枚举,dp[i][j]=max(dp[i][j],w[i]+d(dp[i][0],k)+d(dp[i][1],j-1-k))。其中,第i个数表示编号为i+1的人的人品值。
2023-01-14 16:26:39
111
原创 【图论进阶】树的最长链(树型动态规划)
这是一道树形动态规划题,d[i][1]表示以i为起点的最大值,d[i][0]表示次大值,因为可以走两边,所以要两个值;d[i][1]=max(d[i][1] ,子节点的最大值+子节点到i的距离),递归每一层子节点,找出最大的(d[i][1]+d[i][0])。乌托邦有n个城市,某些城市之间有公路连接。表示城市a和城市b之间有公路直接连接,并且公路的长度是c(c
2023-01-14 16:17:01
477
原创 聚会的快乐【树形dp】
这是一到树形动态规划题,用数组d[i][1]表示i去时的最大值,d[i][0]表示i不去时的最大值。当i去时,它的下属不去,则d[i][1]=d[i][1]+d[y][0];当i不去时,它的下属可去可不去(取最大值),则d[i][0]+=max(d[y][0],d[y][1]),其中y为i的下属。给定N个人(姓名,他幽默的系数,以及他上司的名字),编程找到能使幽默系数和最大的若干个人。接下来有N行,每一行描述一个人的信息,信息之间用空格隔开。姓名是长度不超过20的字符串,幽默系数是在0到100之间的整数。
2023-01-14 16:10:11
141
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人