上一页 1 2 3 4 5 6 7 8 ··· 17 下一页
摘要: 链接 https://www.luogu.com.cn/problem/P1108 思路 最长不降子序列。用dp方法是n2;非dp方法是nlog2n。这里只能用dp方法,因为要统计有多少个。 具体思路就是用两个数组:f[N],c[N]。前者:正常记录最长子序列:fi = max{fj+1},i>j& 阅读全文
posted @ 2025-02-20 14:06 WHUStar 阅读(23) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P1092 思路 一道dfs的题目。思路就是从低位到高位枚举排列,然后剪枝。 注意细节:1.保留进位;2.枚举低位到高位,大数到小数。 但是这个代码有个点过不了,用的特判→_←。 代码 #include<bits/stdc++. 阅读全文
posted @ 2025-02-20 11:58 WHUStar 阅读(37) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P1073 思路 刚开始的思路是tarjan:缩点,统计每个强联通分量的min和max。然后再根据有向图去求答案。但是这样太过于繁琐,所以采用分层图的办法。这篇题解讲的已经够详细了:https://www.luogu.com.c 阅读全文
posted @ 2025-02-19 17:05 WHUStar 阅读(41) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P1121 题目 思路 这个O(n)的思路很好:https://www.cnblogs.com/kamimxr/p/11438701.html。 关键思路: 答案分两种情况,一种是选择的两段均不跨越n到1(也就是环),另一种是选 阅读全文
posted @ 2025-02-15 16:10 WHUStar 阅读(61) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P1119 题目 知识点 floyd算法 思路 看题解,讲的差不多,本篇就是记录下写过的题。 唯一要注意的就是当遍历k(本代码用cnt代替)时,ij都要从0取到n-1。 代码 #define _CRT_SECURE_NO_WAR 阅读全文
posted @ 2025-02-15 14:53 WHUStar 阅读(22) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P1107 题目 思路 因为在取h+delta的max时会一直遍历,所以直接加个记忆,就不用一直遍历了。 代码 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #includ 阅读全文
posted @ 2025-02-14 21:58 WHUStar 阅读(8) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P1099 题目 思路 思路对的,有些地方想的不严谨,但是看评论区证了。 题目有提示:虽然核不唯一,但是最小偏心距唯一。所以想到先找直径,然后再遍历求解。 比如这张图来说,对于i,j两点很显然只要满足|dist[j]-dist[ 阅读全文
posted @ 2025-02-14 21:06 WHUStar 阅读(35) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P1064 题目 思路 刚开始想复杂了:想象多棵树的dp。但是实际上由于最多只有两个子节点,所以可以直接用分组dp:把每棵树变成1/2/4的“合体”选择版。 比如如果只有一个主元件,那么就添加一个物品。如果有一个主元件加上一个附 阅读全文
posted @ 2025-02-14 16:31 WHUStar 阅读(58) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P1006 题目 思路 和方格取数差不多,额外的步骤就是去重:只取当前节点(i,j)的右上或者左下部分。并且最后的答案是dp[m][n-1][m-1][n],只dp到终点的上面和左边一个点 代码 #define _CRT_SEC 阅读全文
posted @ 2025-01-20 19:51 WHUStar 阅读(41) 评论(0) 推荐(0)
摘要: 链接 https://www.luogu.com.cn/problem/P1004 题目 思路 dp思路:如果是走一遍,很显然可以发现(i,j)的值只与(i-1,j)和(i,j-1)有关。于是递推: dp[i][j]=max(dp[i-1][j],dp[i][j-1])+mp[i][j] 当走两遍: 阅读全文
posted @ 2025-01-20 11:19 WHUStar 阅读(43) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 17 下一页