随笔分类 - 动态规划--普通DP
摘要:$n \leq 5e4$个平面上的点,从原点出发,能从当前点向左、右、上、左上或右上到达该方向最近的给定点。问三个问:一、最多经过多少点;二、前一问的方案;三、其所有方案种非左右走的边至少要开几辆挖掘机走完,挖掘机能从任意点出发,走路方式跟上面一样。 前两问: 纵坐标是增的可在不同层之间直接dp。同
阅读全文
摘要:$n \leq 500$,$2-n$这些数字,两个人挑,可以重复挑,问有几种方案中,一个人选的所有数字与另一个人选的所有数字都互质。 不像前两题那么抠脚。。 如果$n$比较小的话,可以把两个人选的数字对应的质因子状压一下,$f(i,j,k)$--前$i$个数,第一个人选状态$j$,第二个人选状态$k
阅读全文
摘要:$n \leq 1e9$底边长的泳池,好懒啊泥萌自己看题吧,$k \leq 1000$。答案对998244353取膜。 现在令$P$为安全,$Q$为危险的概率。刚好$K$是极其不好算的,于是来算$\leq K$,然后用$calc(K)-calc(K-1)$解决。$f(i,j)$--$i$行$j$列的
阅读全文
摘要:$n \leq 20,m \leq 100000$的01矩阵,可整行整列01翻转,问最少剩几个1. 一个暴力的做法是枚举$2^n$种行翻转然后$m$列扫一遍。但其实在行翻转情况确定的情况下我们只关心两个东西:某一列在行翻转后剩几个1,以及有几个这样的列。$f(i,j)$--在行翻转$j$的情况下,有
阅读全文
摘要:$n \leq 200,m \leq 200$,$n*m$的矩阵,从左上到右下走一次只能向右向下,从右下到左上走一次只能向左向上,把两条路取并集,覆盖的数字加起来(经过两次的数算一次),问最大值多少。 费用流。或dp。dp的四维里面,有三维可以定剩下一维(步数一定),因此去掉一维即可。 1 //#i
阅读全文
摘要:$n \leq 200$个平面上的点,$q \leq 200$次询问:重复操作$m \leq 10000$次,到达点$x$的概率最大是多少。操作:一开始选点$P$,不一定要是给定点,可以是平面上任一点。然后,选一条穿过给定点至少两个点且穿过$P$的直线$l$,若有多条,等概率选一条;选中一条后,把$
阅读全文
摘要:$n \leq 10000$的不同数字,问能组成的最长等差数列。 $f(i,j)$--$i,j$结尾的最长等差数列。枚举中间$i$,往左右扩展,找$j,k$,用$f(j,i)$来更新$f(i,k)$。 $n \leq 100000$的暂时不会。 1 //#include<iostream> 2 #i
阅读全文
摘要:$n \leq 3000$个酱,丢进拉面里,需要没两碗面的酱一样,并且每个酱至少出现两次,面的数量随意。问方案数。对一给定质数取模。 没法dp就大力容斥辣。。 $Ans=\sum_{i=0}^n (-1)^i \binom{n}{i} f(i)$ 其中$f(i)$是:$i$个酱不符合题意(就是没出现
阅读全文
摘要:$n \leq 2000,k \leq 2000$,现$n$种球每种有$k$个,在一种排列中,会把每种颜色的球第一个出现的涂成第0种(不同于原来的n种)颜色,问最终会出现多少种不同的序列。膜1e9+7. 把0球当成新的球,可以发现放球方案合法就是每个前缀中0球都比当前颜色数多。$f(i,j)$--放
阅读全文
摘要:$n \leq 200$个数,$ \leq 500$,$K \leq 1000$代价内的数字分组有多少?一个分组的代价是分成的每个小组的总代价;一个小组的代价是极差。 问的极差那就从极入手嘛。一个小组只有最大和最小值是有用滴!那就来分这些最大最小值。 由于考虑大小,不如先把数列排个序。这样的话,可以
阅读全文
摘要:$n \leq 2000000$的排列,问有多少满足:存在个$i$,使得$p_i \neq n$,且$p_j<p_i,j \in [i+1,i+K]$,$K \leq 2000000$是给定常数。膜$1e9+7$。 排列题还是比较菜。。 这次的切入点依然是排列题的经典套路--考虑将$n$加入$n-1
阅读全文
摘要:$n \leq 100,m \leq 100$,$n*m$的01矩形,问从左下角开始往上走,每次转弯只能向右,不能经过重复点,不能撞到1,到达点$(x,y)$的方案数,$mod \ \ k$。 感人肺腑的细节题写了一天。。 可以发现他在做一个绕圈运动,运动的过程中逐渐限制自己的活动范围,因此可以用活
阅读全文
摘要:$n \leq 1e9$,$n*2$的网格里有$m_1+m_2 \leq 1e6$个障碍物,现有一坦克从$(0,1)$出发要到$(n+1,1/2)$,他每秒可以换行(纵坐标1变2或2变1)也可以发炮弹,然后会强制往前走一格(横坐标+1),一次炮弹打一个障碍,炮弹装载时间$t \leq n$,一开始炮
阅读全文
摘要:$n<=1000,m<=1000$,$n*m$的01矩阵,给$t<=1000000$个询问,每次问一个矩形中最大的1正方形的边长。 先想想不考虑“一个矩形中”的限制,那记$f(i,j)$--以$(i,j)$为右下角的最大的正方形,那 很好,那现在加入一个边界限制,由于边长r的正方形同时也是边长r-1
阅读全文
摘要:n<=1e5个值v,分别由<=1e5的m个变量中的1<=ki<=2个布尔变量xj(或某个变量取反)或起来组成,而所有的v异或起来为1,一个x不会在输入数据中出现超过2次,包括他和他反面。问满足该条件的布尔序列x有多少种。 如果忽略“超过两次”这个条件是难做的。。(好吧就是我看走眼了) 利用好这个条件
阅读全文
摘要:n<=5000个数轴上的点,有属性x,a,b,c,d,从i跳到j的代价如下: 问从s跳到t的最小代价。 方法?:先构造s->t链,然后依次插入其他点,每次选个最佳的位置。过了这题,正确性不明。 方法:从边的向左向右入手。从左到右计算时,有些点想射出一条边却还射不出,有些点想被一条边插上却没边插他,好
阅读全文
摘要:t<=10000个问,每次问n<=1000的全排列中逆序数对为k<=10000个的有多少,mod 1e9+7。 直接dp,$f(i,j)$--i的全排列中逆序数对为j的有多少,$f(i,j)=\sum_{k=max(0,j-i+1)}^{j} f(i-1,k)$,这东西记个前缀和即可n^2。 然后就
阅读全文
摘要:n<=100000个<=100000的正数,其中有一些0表示这个位置的数字可以是L~R中的一个,L,R是给定常数且1<=L<=R<=100000,问最长上升子序列。 先暴力啊!$f(i,j)$表示前i个数中以j结尾的答案。$f(i,j)=f(i-1,j)$,$f(i,a_i)=max(f(i-1,j
阅读全文
摘要:n<=150个点,m<=150条路,每条路Ai,Bi,Di表示Ai到Bi有一条有向边,使用他前至少要走Di条路,问1到n最少走几条路。 又是n^4过150的题。。。。 不同于传统的最短路,这次的最短路包括了m个图,并且状态和走的路径数有关。所以要一个状态Can(i,j)表示能否到达点i走j步。 由于
阅读全文

浙公网安备 33010602011771号