
DDDDDppppp
jokerwyt
这个作者很懒,什么都没留下…
展开
-
loj3276 「JOISC 2020 Day2」遗迹 (dp)
一个巧妙的dp问题原创 2020-03-26 16:50:13 · 700 阅读 · 1 评论 -
jzoj6407 【NOIP2019模拟11.05】小 D 与随机 (容斥计数)
外向树计数容斥氪金手游原创 2019-11-05 21:00:27 · 378 阅读 · 1 评论 -
agc035 E Develop (dp)
观察与转化简单DP原创 2019-11-05 15:14:10 · 487 阅读 · 0 评论 -
agc033 D Complexity (dp)
题意给一个网格,每个格子是黑的或者白的。定义一个网格的复杂度是:这个网格只有一种颜色,则复杂度是0否则,复杂度是min(max(切一刀所形成的两个网格复杂度)+1)min(max(切一刀所形成的两个网格复杂度)+1)min(max(切一刀所形成的两个网格复杂度)+1).求整个网格的复杂度n≤185n\leq185n≤1855s题解O(n5)O(n^5)O(n5)的dp是显然的...原创 2019-11-03 20:29:30 · 266 阅读 · 0 评论 -
CF568E Longest Increasing Subsequence (dp)
题意给一个长度为n的,有K个位置空缺的序列。然后给出m个的候选数,用于填充空缺的地方。输出一组使得填充后最长上升子序列最长的方案。n≤1e5,k≤1000,k≤m≤1e5n \leq 1e5, k \leq 1000, k \leq m \leq 1e5n≤1e5,k≤1000,k≤m≤1e5思路观察可以发现一个O(n2)O(n^2)O(n2)的dp,尝试优化,调着调着之后发现fak...原创 2019-10-27 13:59:23 · 458 阅读 · 0 评论 -
agc020 E Encoding Subsets (dp)
题意链接给你一个01串A,你可以使用(P*K)这样的方式来表示PPPP...P(k个P且k>1),允许嵌套。问满足AandB=BA and B = BAandB=B的B其表示方法数之和。两种表示方法不同当且仅当所对应的字符串不同。n<=100思路首先思考如何求一个确切的A的表示方法数。使用区间dp,开头要么没有括号,要么枚举第一个括号的长度,即可O(n3)O(n^3)O(...原创 2019-10-25 16:50:37 · 204 阅读 · 0 评论 -
jzoj4019 【雅礼联考DAY02】Path (奥妙重重DP题)
题意给定一个 n∗ m 的网格,你在左下角 (n,1),你只能往前走或者右拐,障碍和走过的点不能走。求走到 (y,x) 的方案数 mod k 的值。题别看错了是指他能一直向右转圈圈,而不是只能向上,向右走。 比赛的时候一丁点想法都没有,dp能力有点小弱。首先因为他是转着圈到终点的,我们反过来,从终点到起点,可以发现他实际上是一个慢慢变大的矩形。这就是我们划分状态的依据,设...原创 2018-07-14 21:48:07 · 491 阅读 · 0 评论 -
jzoj4387 【GDOI2016模拟3.15】基因合成 (回文树上dp)
题面 n&lt;=1e5回文树的dp首先最优解大概是先构出一个较长的回文串,然后再将其他字符在首尾添加上。考虑到操作2之后必定是偶回文串,我们可以先建出回文树,然后在上面dp.对于奇回文串,我们可以不将他作为那个“较长的回文串”, 因为可以通过取他的一些子串来等价。我们想计算出构造出每一个偶回文串需要多少步数。对于偶回文串,其他回文串要构出他, 首先要是他的...原创 2018-07-20 07:55:57 · 390 阅读 · 0 评论 -
gdoi2018 D2T2 滑稽子图 (树形DP,式子认知)
题意给定n个点的树,定义f(S)为点集S的导出子图的边数,求∑Sf(S)k∑Sf(S)k\sum_{S}f(S)^k。n<=10^5,k<=10。题解居然tmd没想出来wtf,对着k=2想了好久,明明就是送分(命)题。设fi,0/1,kfi,0/1,kfi,0/1,k表示以i为根子树,第i个点是否选的所有方案边数k次方和。考虑将子树y与父亲x如何转移。 先考虑...原创 2018-05-05 14:08:18 · 424 阅读 · 0 评论 -
jzoj5675 【GDOI2018Day1模拟4.20】锡林郭勒 (状压DP,暴搜求状态数上界)
Describe有 n 个黑点与 m 个白点,其中第 i 个黑点与第 j 个白点之间有边的概率为 p i,j ,求期望最大匹配数。 对于 100% 的数据,n ≤ 5,m ≤ 1000。DP很显然是DP,而且应该与状压有关。 毕竟n这么小。 最初的想法是,要维护最大匹配,就对于最大匹配不能存在增广路。 这个想法有个缺陷:可能有多个匹配,如何将需要状态全部压起来?其实很简单,不需要考虑增广路原创 2018-04-25 20:50:00 · 356 阅读 · 5 评论 -
jzoj4007 【GDKOI2015】星球杯 (性质dp)
考虑枚举一个回合2的第k大h. 按回合1分数排序,动态规划求最佳方案。发现所有小于h的都不用考虑: 0国放2,1国放1一定是最优的。然后设f[i][j]f[i][j]f[i][j]表示1..i中已有j个>=h的选回合2。容易算出有多少个放回合1.枚举当前选1或2,dp即可。...原创 2018-03-17 16:37:21 · 232 阅读 · 0 评论 -
jzoj5765 【省选模拟8.5】相互再归的鹅妈妈 (集合划分,斯特林反演)
mk<=5e6,m<=5e4mk<=5e6,m<=5e4mk[n=1]=∑m的集合划分A ∏(ai−1)!⋅(−1)ai−1[n=1]=∑m的集合划分A ∏(ai−1)!⋅(−1)ai−1[n=1] = \sum_{m的集合划分A} ~~~~\prod(ai-1)! \cdot ...原创 2018-08-07 19:24:38 · 859 阅读 · 0 评论 -
POJ1160 Post Office (四边形不等式)
题意四边形不等式对于二元函数w(i,j),若任意a&lt;=b&lt;=c&lt;=da&lt;=b&lt;=c&lt;=daw(a,c)+w(b,d)&lt;=w(a,d)+w(b,c)w(a,c)+w(b,d)&lt;=w(a,d)+w(b,c)w(a,c) + w(b,d) w(i,j)&gt;=w(i′,j′),[i,j]包含原创 2018-08-07 21:48:01 · 841 阅读 · 0 评论 -
jzoj5906 【NOIP2018模拟10.15】传送门 (portal)(性质DP)
Description8102年,Normalgod在GLaDOS的帮助下,研制出了传送枪。但GLaDOS想把传送枪据为己有,于是把Normalgod扔进了一间实验室。这间实验室是一棵有n个节点的树。现在Normalgod在一号节点,出口也在一号节点,但为了打开它,必须经过每一个节点按下每个节点的开关,出口才能打开。GLaDOS为了杀死Normalgod,开始在实验室里释放毒气,因此Normal...原创 2018-10-15 16:35:56 · 340 阅读 · 0 评论 -
jzo1931 【2010集训队出题】神奇的K线 (dp)
不错的dp题。题意给出长度为n-1的序列p和长度为n的序列a,在a中删除或将某些位置的值改变,使得a差分后是b的一个前缀。 删除和修改分别有代价,并且一次修改可以修改为任意值。n <= 1500盲目分析先令bbb序列是前缀和并往右位移后的p序列。这样就是要找a’序列匹配b序列的权值相对位置(允许整体加减)观察发现a至少有一个位置被留下来并且没有修改。基础的暴力的话,可以通过枚举...原创 2019-08-08 22:12:26 · 144 阅读 · 0 评论 -
jzoj5014 【NOI2017模拟3.13】矩阵 (线性代数,矩阵计数)
题意A,B,CA, B, CA,B,C都是n阶01方阵,给定CCC,现求有多少对有序(A,B)(A,B)(A,B)满足A∗B=CA * B = CA∗B=C.乘法是模2意义下的矩阵乘法。n≤2000n \leq2000n≤2000?迷得很这个题模2意义就相当于加法是xor,数量乘法是and,仍然能组成一个线性空间。因此下面的讨论是在数域0,1数域{0,1}数域0,1下的进行的。首先...原创 2019-08-18 21:22:57 · 289 阅读 · 0 评论 -
jzoj6321 点 (dp)
题面数轴上n个点,每个点可以二选一:往左d或者往右d。移动后,你可以使用若干条线段覆盖所有点,一条长度为L的线段的代价为a+bL.求最小代价。n,x,d≤150n,x,d\le 150n,x,d≤150题解听说是zzt的题,果然脑洞做法。先全部往右移动,再把d*2,就变成了要不要左移d。这题的做法是按d的大小讨论。假如d比较小,考虑暴力状压d位,复杂度是O(2dn)O(2^dn)O(...原创 2019-08-23 21:38:31 · 174 阅读 · 0 评论 -
jzoj3782 【NOIP2014模拟8.17】组队 (特殊情况的2sat,dp)
题面你的任务是将一群人分到两个队伍中,使得: 1、每个人都属于一个队伍。 2、每个队伍至少有一个人。 3、每个队伍的任意一个人都认识其他人。 4、两支队伍的人数尽可能接近。 这个任务可能有多组解,你可以输出任意一种。 注意:认识是单向的且没有传递性。对于分值为 30%的数据,N <= 15 对于剩余分值为 70%的数据,N <= 100 2-SAT?一开始想复杂了,一直在回忆2原创 2018-02-02 15:36:17 · 384 阅读 · 4 评论 -
jzoj3578 【CEOI2013】Adriatic 巧妙dp
题意平面上若干个点,每个点(x,y)可以到达满足x0<x,y0<y或x0>x,y0>yx0<x,y0<y 或 x0>x,y0>y的点(x0,y0),问对于每一个点,所有点到它的最小步数和. (保证点两两互达) 3<=N<=250 000,0<坐标<=2500分析考虑到一个点将会把图分成四份区域。其中两个区域(左下,右上)是可以直接到达x的,那这个贡献就好算. 我们要算的只是另外两个区域. 两个原创 2017-12-20 19:33:44 · 352 阅读 · 0 评论 -
jzoj5484 【清华集训2017模拟11.26】快乐树 (发现性质的dp)
题面一棵树有n个节点,编号为0到n-1。有一条叫Owaski的狗在树上面走,每一次它可以从一个顶点走到它的任何一个相邻顶点。每个顶点有个可正可负的快乐度,Owaski也有一个快乐度,这个值最开始是0。在他到达一个 顶点的时候,他的快乐度将会加上该顶点的快乐度。当然有时候Owaski的快乐度会是负数,这个时候他会很难受于是会宣泄情绪让快乐度重新变成0。Owaski是一条喜新厌旧的狗,如果它经过了任何原创 2017-11-29 20:30:08 · 416 阅读 · 0 评论 -
jzoj2573 序列
题目大概给一个长度为N的序列,请删除尽量少的数,使得新序列中满足第I个数为I条件的数最多。Input第一行有一个正整数N。 第二行有N个正整数Ai,表示原序列中第I个数为Ai。Output只有一个整数ANS,表示最多能有多少个数满足条件。解法首先不难发现,i-ai<0的数是肯定不能归位的,然后我们忽略他. 最直观的一个想法就是动态规划,设fi,jfi,j为在原序列第i个位置,删了j个数的最大收益原创 2016-08-16 20:40:22 · 690 阅读 · 0 评论 -
jzoj2540 采药2
看到标题还以为是一道水题 数据范围 50%的数据中 N,M ≤ 1000; 100%的数据中 N,M ≤ 100000,Ti,Vi ≤10。 很容易发现十万个物品却只有100种物品,就是多重背包.做法1最简单的做法就是贪心 价格相同要优先取收益大的.如果收益大的不够才往下取,这样的话最坏时间复杂度就是 O(10*(n+m)) 正确性显然吧… 没有理由去选价格相同收益却小的.做法2将每原创 2016-08-12 13:45:22 · 413 阅读 · 0 评论 -
jzoj4817 Square
题目描述想法首先一个显然的DP 设Fi,jF_{i,j}为第i,j个位置为右下角的最大正方形,我们有 Fi,j=min(Fi−1,j,Fi,j−1,Fi−1,j−1)+1F_{i,j}=min(F_{i-1,j},F_{i,j-1},F_{i-1,j-1})+1 显然如果左边,上面,斜上方有任意一个不能作为边长为K的正方形的右下角,则当前这个肯定不能作为边长K+1的右下角然后对于每一个询问,他原创 2016-10-12 19:10:33 · 374 阅读 · 0 评论 -
jzoj2555 雾雨魔理沙
这题的质量还是不错的 其实不难,坑点就在几何上 可以把所有点都映射到Y轴上,这样就方便我们选y上的一段射♂出一炮 只要映射到Y轴上,那其实就是一个简单的DP分段不难求出(如果你学过三角函数的话),这条直线的斜率k=tan(α*π/180) (需要角度转为弧度) tan的意义就是对边比邻边的比值,相当与斜边的斜率 然后有直线方程y=kx+by=kx+b,已知xyk,求出b (b是直原创 2016-08-14 21:48:58 · 653 阅读 · 0 评论 -
jzoj4883 灵知的太阳信仰
题目描述每次核融的时候,空都会选取一些原子,排成一列。然后,她会将原子序列分成一些段,并将每段进行一次核融。 一个原子有两个属性:质子数和中子数。 每一段需要满足以下条件: 1、同种元素会发生相互排斥,因此,同一段中不能存在两个质子数相同的原子。 2、核融时,空需要对一段原子加以防护,防护罩的数值等于这段中最大的中子数。换句话说,如果这段原子的中子数最大为x,那么空需要付出x的代价建立防护罩原创 2016-11-17 19:07:52 · 559 阅读 · 0 评论 -
jzoj3712 【NOI2014模拟6.30】石中剑的考验
题意给出一个元素不重复,长为n<=15的序列的最长上升子序列之一。 求有多少个序列满足有这个最长上升子序列。分析这tm也是一题玄学题。因为n=15,考虑状压,dp. 一个序列只要满足两个条件就是合法序列: 1)最长上升子序列长度为k,2)子序列存在于原序列中。第二个好求,直接状压。问题是第一个。 因为我们要求最长上升子序列的长度,所以状态里要带一个dp时的f数组 这样超时。 想一想求最长上原创 2017-07-11 17:11:38 · 349 阅读 · 0 评论 -
jzoj5271 神奇的救火现场 (寻找性质dp)
题面分析注意到最优序列一定是形似水-车 或 车-水的括号序,即不存在交叉的匹配对。 而且一对括号中间也是完整的括号序列,且不会有多余的,即水-车中间没有 没有匹配的水,车-水中间没有没有匹配的车。这样的话不难发现每一个地方它在最优序列中的匹配是唯一的,可以用栈搞出来。 然后就变成了设f[i]f[i]表示搞完1..i的所有点,他匹配的最小代价。 对于每一个水,我们用前面和他匹配的车转移,对于车同原创 2017-08-14 22:28:56 · 765 阅读 · 2 评论 -
jzoj5220 【GDOI2018模拟7.10】C (双序列dp)
题意给定字符串A,B,求长度为A,B的最长公共子序列长度 的X串子序列在Y中有出现过的个数。 n<=1000 注意理解题意: 首先是X串的子序列(只要取的位置不同就是不同的子序列),然后长度为两者最长公共子序列的长度,然后有在Y串中出现过,这样就是1的贡献。 并不等价于最长公共子序列的对数!分析先求出f[i][j]表示最长公共子序列的长度。 再设g[i][j]表示只考虑a[1..i],b[1原创 2017-08-09 21:59:55 · 433 阅读 · 0 评论 -
jzoj5259 线性规划问题 (巧妙设状态的dp)
题意 n<=1e3,p<=1e4n<=1e3,p<=1e4 保证ai<=bi分析暴力做法很简单,设fi,j,kf_{i,j,k}表示suma=j,sumb=k的最小的c就可以了,转移显然.观察题目给的约束,j,kj,k分别在P的两边。 我们简化状态,设fi,xf_{i,x}表示i,j分别在j两边的最小c值。 如何转移? 考虑x的意义j<=x<=kj<=x<=k 因为是取min,所以重复原创 2017-08-11 16:20:13 · 320 阅读 · 0 评论 -
jzoj5316 【清华集训2017模拟8.19】merge
题意两个1..n的排列,每次选一个将队首入栈,求有多少种不同的入栈序列。分析设fi,jf_{i,j}没跑了,考虑如何去重。 转移f[i][j]的时候,假设i,j前面有一段长度为k的相同串。 我们可以发现,将A序列看作左括号,B序列看作右括号,指针从i-k,j-k开始的每一种合法括号序列都可以被对称操作从而获得一种重复。 (这能覆盖所有重复的情况) 因此我们枚举上一次指针的位置i-k,j-k,然原创 2017-08-20 20:21:16 · 320 阅读 · 0 评论 -
jzoj5335 【NOIP2017提高A组模拟8.24】早苗 (递推优化矩乘)
题面 分析很吼的一题。 看到1e16那肯定是矩阵乘法 考虑设状态f[i][j]f[i][j]表示1..i,现在有恰好连续j个颜色不一样的。 如何转移? 首先是到j+1的,只要他后面有j个不同,那么都有(m-j)种放法转移到f[i+1][j+1]f[i+1][j+1] 然后是重复的,假设在第x个位置与当前放的有重复,那么重复的方案是多少呢? 考虑每一种确定的方案,他都有恰好一种放法能原创 2017-08-24 20:05:21 · 701 阅读 · 0 评论 -
jzoj5336 【NOIP2017提高A组模拟8.24】提米树 (dfs序dp,奇异姿势dp)
题面分析剪枝的意思就是你可以任意选点作为叶子。(前提是他子树不选) 比赛的时候有一种60分的n^2 log n做法,就是在dfs序上直接dp. 但是正解比较奇怪,先画颗树出来看看,就会发现根到真·叶子的路径上有且只有一个被选为叶子。于是我们考虑设一种玄学的dp。 令f[i]f[i]为在dfs序上,当前最后一个叶子选的是i的最大价值。 想想能更新i的点有哪些。 由于要保证每条到叶子的路径上都有选原创 2017-08-24 20:35:59 · 778 阅读 · 0 评论 -
jzoj5330 【NOIP2017提高A组模拟8.22】密码
题面分析首先n!n!中p的指数是∑∞i=0⌊npi⌋\sum_{i=0}^{\infty}\lfloor\frac n {p^i}\rfloor(有一个p的有多少个,两个的,三个的…) 那么对于CmnC_n^m就是在p进制下理解这个式子,发现任意第i项,后面一大堆不是0就是1. 当什么情况下是1 ? 就是p进制下m+(n-m)是否有进位。如果有进位,那么现在就没有取到这个进位(下取整就类似二进制原创 2017-08-22 19:30:38 · 539 阅读 · 0 评论 -
jzoj5342 赤壁情 (序列插入型dp,笛卡尔树新奇姿势dp)
题面很玄幻的一题dp. 现在有一块一块的子串,他们的相对顺序是已知的但最终一定不相邻 (也就是说中间至少有一个数)考虑从小到大插入数字,每一个数字有3种基本转移 1. 在某个空隙新建一块, 2. 并入某块(放最左或最右)。 3. 合并相邻两块贡献系数好算,比如说并入一块那么系数就是0,假如新开系数就是-2 (因为可以知道旁边是比他大的还是比他小的)但是有一个问题,边界怎么办? 所以要开两个特原创 2017-09-04 20:12:11 · 1018 阅读 · 0 评论 -
jzoj4887 最大匹配
问题描述现在给你一个N个点N-1条边的连通图,希望你能够求出这个图的最大匹配以及最大匹配的数量。 两个匹配不同当且仅当存在一条边在第一个匹配中存在而在第二个匹配中不存在。 若p=1,则一行一个数输出图的最大匹配 若p=2,则一行两个数输出图的最大匹配以及最大匹配数量,答案对10^9+7取模。 比赛时过了p=1+暴力的60分解首先不难求出最大匹配. 设Gi,0/1Gi,0/1分别为这个点有没原创 2016-11-26 15:39:21 · 357 阅读 · 0 评论 -
jzoj5402 【NOIP2017提高A组模拟10.8】God Knows
分析考虑一个简单的dp,设f[i]表示现在1..i的连线全部被删除,最后一个选的是i的代价。转移有些特别,从j=[1,i)中选出一条不与i-p[i]相交的并且(i,j)中没有不与这两条相交的,就可以f[i]=f[j]+c[i]. 想一想答案是什么? 使得(i,n]中所有连线都与i-p[i]相交,则此f[i]可以作为答案。 也就是(i,n]中所有p[j]小于p[i]的这个dp是O(n^2)的,我原创 2017-10-20 19:43:16 · 622 阅读 · 0 评论 -
jzoj5408 【NOIP2017提高A组集训10.21】Dark (巧设状态的DP)
题面LichKing 希望收集邪恶的黑暗力量,并依靠它称霸世界。 世间的黑暗力量被描述成一个长度为N 的非负整数序列{Ai},每次它可以选择这个序列中的两个相邻的正整数,让他们的值同时减一并获得一点邪恶力量,直到不存在满足条件的数。 然而你不希望他能够得逞,所以你会使得他收集的能量尽可能少。 分析发现当前状态可以划分为f[i][j][0/1]表示当前剩余j个,上个是否用完,这原创 2017-10-21 15:44:41 · 427 阅读 · 0 评论 -
jzoj2931 书架
Description当Farmer John闲下来的时候,他喜欢坐下来读一本好书。 多年来,他已经收集了N本书 (1 <= N <= 100,000)。 他想要建立一个多层书架,来存放它们。 每本书 i 拥有一个宽度 W(i)和一个高度 H(i)。 所有的书需要按顺序,放到书架的每一层。 举例来说,第一层书架放k本书,应该放书1…k;第二层书架从第k+1本书开始放……。 每原创 2016-07-11 19:23:00 · 723 阅读 · 0 评论