![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
codeforces
抓水母的海绵宝宝
这个作者很懒,什么都没留下…
展开
-
Problem F. Cable Protection (基环树求最小覆盖)
Problem F. Cable Protection (基环树求最小点覆盖)周赛补提,邻近退役又学到之前没学过的,可能这就是拿不到牌的原因吧。。。寄树形dp求最小点覆盖这边先介绍一下最小覆盖,简单来说:对于图G=(V,E),从顶点集V中去尽量少的点组成一个集合,使得边集E中所有的和边取出来都的点相连同时了解到还有最小支配集,和最大独立集,这边也简单介绍,之后再学最小支配集:对于图G=(V,E),从V取尽量少的点组成一个集合,使得V中剩余的点都与取出来的点有边相连最大独立集:对于图G=(V,原创 2021-11-04 20:10:18 · 190 阅读 · 0 评论 -
Problem I. World Tree (第14届吉林省赛)
Problem I. World Tree (第14届吉林省赛)补完题真的收获很多,经典属性dp,有一说一,不看题解完全没有往那方面想,知识点还是不够完备。题意: 给你一棵树,树上每个点有两个权值a[i]和b[i],每经过一个节点u可以获得a[u]*Σb[v]的贡献,其中v是还未访问过的节点。问以哪种方式遍历整棵树,获得的最大贡献。做法:首先dfs出每个节点作u为根节点的字数中a[ ]和b[ ] 的值,记为suma[u] 和sumb[u]假设我们当前访问节点u,此时子树中的每个节点肯定还未访原创 2021-11-03 20:12:39 · 190 阅读 · 0 评论 -
最长回文字串
最长回文字串(dp)经典题目,动态规划要从后往前,太久没写给忘了。class Solution { public String longestPalindrome(String s) { int dp[][] = new int[1005][1005]; int maxx = -1,ansl=0,ansr=0; for(int i = s.length()-1;i>=0;i--){ //从后往前遍历,因为要用到dp[i+1][j-1]原创 2021-09-23 16:08:39 · 84 阅读 · 0 评论 -
HDU7007
HDU7007 净化2021 年百度之星·程序设计大赛 - 初赛二题意:给一个整数数组 a1,a2,⋯,an 和一个正整数 m 。有一个数 x ,初始为 0 。称对其进行一轮操作为:让 x 依次加上 a1,a2,⋯,an 。如果在某一次加上 ai 后 x<0 ,则将 x 立刻变为 0 ,如果在某一次加上 ai 后 x≥m ,立刻结束这一轮操作。不断对 x 进行操作,你想要求出经过几轮操作后 x 第一次满足 x≥m ,或者判断永远也无法满足。题面还是比较好读懂的,肯定想到和前缀和有关,具体思路可原创 2021-08-06 20:57:54 · 196 阅读 · 0 评论 -
B. Suffix Operations 思维
B. Suffix Operations 思维题目链接很久之前的一题,比赛当时不会,思维太差了,想了好久,现在回头写也想了好久。好菜啊我。题意:给你一个长度为n的数组,每次操作可以讲数组的后缀的每个数+1或者-1,现在可以改变数组中的一个数,问最少需要几次操作可以使得数组中每个数字都相等。思路:先考虑不改变数字的时候,我们需要把数组中的每一个数都变成前一个数,即a[i]=a[i-1],这样贪心使得操作数最少,此时答案为Σ(abs(a[i]-a[i-1]))。再考虑修改一个数的时候,使得操作数原创 2021-08-05 20:25:40 · 245 阅读 · 0 评论