摘要:
现在暂时在github跟新,等申请了域名了再说。 阅读全文
摘要:
题意大概是这样,第i天必须穿a[i](某一种类)的衣服,你可以套着穿很多件,对于第i天,你有两种操作,一种是脱掉现在的衣服,一种是穿上新的一件,但是你脱掉的衣服,以后不能再穿。问最少需要多少件衣服? 没点脑子还真想不出来是区间DP。。。 这样考虑,首先我们初始化DP,假设每个地方都不一样,那么DP[ 阅读全文
摘要:
区间DP模板题 做区间DP的题目的时候,我们考虑DP[i][j]的含义是什么? 由题意大概是这样的,我们可以从n个数中每次选一个我们以前没选过的数字拿走,需要消耗a[i]*a[i+1]*a[i-1]的体力。 头和尾不能拿走。问最小消耗的体力是多少? 我们这样考虑。 一般DP[1][n]是答案的话,它 阅读全文
摘要:
区间DP标准入门题目。 区间DP大概思路是这样的。 第一层枚举长度,因为我们需要从小区间一步步推到大区间 第二层枚举左端点,那么右端点就定了。 第三层枚举间断点,由间断点合并得到大区间。 这道括号匹配这个,就是入门题目。 这道题也是这样。 这道题首先要判断枚举的两个区间左右两个端点是不是匹配的。 如 阅读全文
摘要:
题意就是给出多个区间,要求去掉两个区间,使得剩下的区间覆盖范围最大。 当然比赛的时候还是没能做出来,不得不佩服大佬的各种姿势。 当时我想的是用线段树维护区间和,然后用单点判0,维护区间间断个数。然后打到一半,就发现想法有问题。 这道题正解就是简单的前缀和,或者DP。 我为了更加深入理解,两种方法都试 阅读全文
摘要:
这道题还是非常有意思的,题意很简单,就是给定一个图,和图上的双向边,要求1号节点的度(连接边的条数)等于K,求这棵树的生成树。 我们首先要解决,如何让1号节点的度时为k的呢???而且求的是生成树,意思是不是所有边都会选择。那么我们如何选择才能保证1号节点有K个度呢???这里就要考虑联通分量的问题了, 阅读全文
摘要:
唉,我能说什么呢???已经做出来的题目,还是凉凉了。。。不知道复制怎么用,然后一直用文件操作。。。 前期还好,中期心态就很崩盘了。。。 看到几道题,基本上也就暴力解决。。。毫无思路可言,最后一道题,连暴力都没写。。。大样例也没跑。。。不会对拍。。。 最无语的还是少考30分钟,这谁受得了啊。。。 还是 阅读全文
摘要:
void get_next() { net[1]=0;//不要用next for (int i=2,j=0; i0 && t[i]!=t[j+1])j=net[j]; if(t[i]==t[j+1])j++; net[i]=j; } } 阅读全文
摘要:
题目要求,给定一个s序列,一个p序列,问能不能对s做相应的调整,使得s序列中,有尽可能多的p子串(可以重复) 最开始我拿到这个题目,也是一点头绪都没有,如何做调整呢? 首先考虑如何会有尽可能多的子串,可以相交那种? 貌似我们要找的就是子串后缀和前缀匹配度 这里再次补充一下KMP中next数组的意义 阅读全文
摘要:
这里大概讲解一下整除分块的原理和效果。 比如我们要求某个i的区间中,n/i的和是多少,但是其实你会发现,在一些连续的区间中,n/i是相等的,而整除分块的目的,便是按照n进行分块 使得可以跳过这些n/i是相等的这些区间,使得复杂度将到根号n 阅读全文