摘要:
可以先看一下多校的题解感受一下,,, 题意: 设dp[s]=f(s)-Ws; 则很容易设置dp方程dp[i]=max( dp[j] + Wi pot Wj )( j<i ) pot代表一种操作 显然硬来时间复杂度很高,因为是树形结构,dfs遍历的过程中有很多东西可以记录下来,所以想办法事先把dp[j 阅读全文
摘要:
详见:https://www.cnblogs.com/c1299401227/p/5402747.html 求割点 int n,m,stamp,low[1005],dfn[1005],iscut[1005];//iscut记录的为割点 vector<int> vec[1005]; void tarj 阅读全文
摘要:
题意是盒子的编号为a,b的,要求a>b,(a+b)%2==1,(a+b)%3==0,容易看出1,3,4的位置不能动, 每个位置移到下个位置后奇偶性改变,模3结果也有固定变化(0->0,1->2,2->1),比如模3为1的奇数可以移到模3为2的偶数或者再移到模3为1的奇数,但最终只可能移到模3为1的奇 阅读全文
摘要:
题意就是要找一条直线上的点,注意有重点; 组合数公式从0取到n为2n,注意运用就好 C(0,N)+C(1,N)+....+C(N,N)=2N C(R,N)+C(R+1,N)=C(R+1,N+1) 数点的时候每个点有两种情况(出现,不出现),如果与第i个点相同的有m个,那么对于只有相同点时,ans=p 阅读全文
摘要:
百度搜一下博弈论 由感性认识到理性认识的论文 理论铺垫: 1、定义P-position和 N-position:其中P代表Previous,N代表Next。直观的说,上一次move的人有必胜策略的局面是P-position,也就是“先 手必败”,现在轮到move的人有必胜策略的局面是N-positi 阅读全文
摘要:
01 背包 有n 种不同的物品,每个物品有两个属性,size 体积,value 价值,每种物品只有一个,现在给一个容量为 w 的背包,问最多可带走多少价值的物品。 完全背包 如果物品不计件数,就是每个物品有无数件的话,稍微改下即可 多重背包既是每个物体有一定的重量w和价值v,并且有一定的数量cnt, 阅读全文
摘要:
题意是怎么理解的我也不知道,就抄了一下 题目大意:给出n个等边三角形,每个顶点都可以是1~3中的一个数,一个等边三角形三个顶点的总和不能是6。在n个三角形中只要有一个等边三角形满足条件,当前情况就是合格的,问有多少种合格的情况。 解题思路:所有的情况27n,没有一个三角形满足条件7n,案27n−7n 阅读全文
摘要:
正常思路咯,f[i]=f[j]+max(a[j+1],a[j+2]....a[i]),枚举j,显然硬来会超时,所以需要有一个单调队列来时时把最大值尽快弄出来并且需要一些剪枝; 剪枝条件有两个,一个是和不能超过m,一个是显然f[i]是个非严格递增序列,根据这两个条件剪枝; 则建立单调队列,每当插入新的 阅读全文
摘要:
入门的斜率dp,wa了真的好多发,,, dp方程为dp[i]=dp[j]+a[i]+(i-j)*(i-j-1)/2; 基本正常思路设i>j>k,假设j比k优 dp[j]+(i-j)(i-j-1)/2<dp[k]+(i-k)*(i-k-1)/2; 化简得dp[j]-dp[k]+(j*j+j)/2-(k 阅读全文
摘要:
觉得可以用贪心做,开始想了下因为区间有两个端点,而且位置任意,有点不好处理。后来就想先以一个端点排序,以另一个端点作为贪心准则。首先对于所有的区间,我们按右端点递增排序。左端点不予考虑。并将所有的数(即桥长)递增排序。然后依次遍历每个区间,然后从剩下的数中找最小的可以满足这个区间的数去满足这个区间, 阅读全文