摘要:
https://vjudge.net/problem/POJ-2374 吐槽。在这题上面磕了许久。。英文不好题面读错了qwq,写了个错的算法搞了很久。。A掉之后瞥了一眼众多julao题解,**,怎么想的方法都比我简单,码量还小?太菜了太菜了,把自己烂方法记下来滚了。 题意内容说简单点其实就跟小时候玩 阅读全文
摘要:
求一棵树每条边都被选上的点覆盖掉的最少选点数。 一条边被覆盖掉,必须他父亲和儿子中选一个。。这不就是比NOIP2018D2T3还裸的暴力么。水掉。 lyd给的练习题都什么**玩意儿。。 code不挂了。其实是我没写 阅读全文
摘要:
众所周知,这个人太菜了,所以她又来切水题了。 显然设计状态表示第$i$朵花放第$j$瓶中的最大价值。然后瞎转移一波是n三方的,加个前缀max变成n方就水过去了。 当然这题可以搜索剪枝的。 虐lyd书上水题好爽。。 阅读全文
摘要:
众所周知,由于这个人太菜了,所以她又来切上古水题了。 显然最多$40^4$种状态,暴力跑出可以拼出多少种状态,然后按序号从小到大对应的状态瞎转移即可。 我知道我想繁了,但是不想改了,因为思路一出来,没有再想直接无脑秒掉的,所以您可以大呼本人是菜鸡。 阅读全文
摘要:
http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5702%20Count%20The%20Repetitions 给两个 阅读全文
摘要:
P1081 开车旅行 题面较为啰嗦。大概概括:一个数列,只能从一个点向后走,两种方案:A.走到和自己差的绝对值次小的点B.走到和自己差的绝对值最小点;花费为此差绝对值;若干询问从规定点向后最多花费$X$,且以移动方式A开始每走一次切换一次方式。求以A、B方式各花费多少。 不看题解切紫题一遍过了,兴奋 阅读全文
摘要:
提交地址。 关于lyd给的倍增方法,即从当前枚举向后的$2^k$长度($k$从$1$开始),如果可行就将$k$加一以扩大范围,不可行时将范围不断减半直至$0$。 举个例子,假设当下在1,目标答案是13,那么枚举的范围变化情况是$2$,$4$,$8$,$16$(不行,且范围开始缩小),$12$,$14 阅读全文
摘要:
如题。$N \leqslant 5000$。 感觉自己思路永远都是弯弯绕绕的。。即使会做也会被做繁掉。。果然还是我太菜了。 递减不爽,先倒序输入算了。第一问做个LIS没什么说的。第二问统计个数,考虑什么时候是重复计算的。$g[i]$表示第$i$个数结尾的LIS长度的方案(不重复)。当统计时dp到一个 阅读全文
摘要:
求给定序列中长度为M的上升子序列个数。$N,M<=1000$。 很容易想到方法。$f[i,j]$表示以第$i$个数结尾,长度为$j$的满足要求子序列个数。于是转移也就写出来了$f[i][j]+=f[k][j-1]$ $(k<i且A_k<A_i)$。边界$f[0][0]=1$。 然后这是$O(N^2 阅读全文
摘要:
https://vjudge.net/problem/POJ-3171。(有价值的区间全覆盖问题) (lyd例题)朴素DP很好想,$f[i]$表示将右端点从小到大排序后从$L$(要求覆盖的大区间)到第$i$个区间的右端点都覆盖完成时最小化费。无解则为INF。然后利用排序、右端点单调性,每次枚举前面d 阅读全文
摘要:
$11*11$格子板上铺$1*2$地砖方案。以前做过?权当复习算了,毕竟以前学都是浅尝辄止的。。常规题,注意两个条件:上一行铺竖着的则这一行同一位一定要铺上竖的,这一行单独铺横的要求枚举集合中出现连续偶数个的1,预处理一下即可。注意数据及时reset。 1 #include<iostream> 2 阅读全文
该文被密码保护。 阅读全文
摘要:
思路其实非常简单,借用一下最大流求法即可。。。默认以1为根时,$f[x]$表示以$x$为根的子树最大流。转移的话分两种情况,一种由叶子转移,一种由正常孩子转移,判断一下即可。换根的时候由頂向下递推转移,很容易得知推法(不说了。唯一需要注意的换根时原来度数为1的根转移为另一个子节点时,需要特判。 RE 阅读全文
摘要:
https://www.luogu.org/problemnew/show/P2014 树形背包的裸题。。当版子好了。 $f[i][j][k]$表示子树$i$选前$j$个孩子,共$k$个后代节点时的最大价值。然后$j$那一维是可以滚动的(但同时也要注意枚举变成了倒序),所以可以去掉。 $f[i][j 阅读全文
摘要:
http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5105%20Cookies 大概有一个初步状态的设计想法,第一维dp到 阅读全文
摘要:
http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5104%20I-country rt,求给定格子数的凸连通块最大价值。 阅读全文
摘要:
给定一个 N*M 的矩阵A,每个格子中有一个整数。现在需要找到两条从左上角 (1,1) 到右下角 (N,M) 的路径,路径上的每一步只能向右或向下走。路径经过的格子中的数会被取走。两条路径不能经过同一个格子。求取得的数之和最大是多少。N,M≤50。 由于走两条路径,可以直接把两个人未知设计入状态中。 阅读全文
摘要:
http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5102%20Mobile%20Service 终于会做一道了。。 $f 阅读全文
摘要:
给个$n<=2000$长度数列,可以把每个数改为另一个数代价是两数之差的绝对值。求把它改为单调不增or不减序列最小代价。 话说这题其实是一个结论题。。找到结论应该就很好做了呢。 手玩的时候就有感觉,改造出来的数列的元素会不会全是原来数列里有的数?弄了几组发现没问题,但是还是踟蹰不前,不敢下手。。然后 阅读全文
该文被密码保护。 阅读全文
摘要:
恭喜我已经正式沦为pj组选手QwQ 标题两个题其实不一样的。这是ch 这是hdu 一、CH上的:裸题,求LICS。n<=3000 经典普及组dp题,题解烂大街了。所以对于这题,只讲细节: $1.A_i=B_j时的转移(或者说继承)f[i][j]=f[i-1][j]可有可无。$ $可以想到两个末尾相等 阅读全文
摘要:
地址 拆成2进制位做dp记搜就行了,带一下前导0,将0和1的个数带到状态里面,每种0和1的个数讨论一下,累加即可。 WA记录:line29。 阅读全文
摘要:
求给定区间内满足有三个相邻位数字相同且不同时出现8和4两个数字条件的数的个数。 比较简单的做法:记录前两位的数,和有没有之前高位有没有产生过3连位数字相同,以及之前8和4的出现情况,$f[len][if8][if4][pre1][pre2][exist]$。(个人辅助理解:之前一直不明白为什么记录前 阅读全文
摘要:
求出[a,b]中各位数字之和能整除原数的数的个数。 有困难的一道题。被迫看了题解:枚举每一个各位数字的和($<=162$),设计状态$f[len][sum][rest]$表示dp后面$len$位,要求这剩下的和是$sum$,并且其对$sum$取模是$rest$的方案数。 感觉也讲不出什么道理来,真的 阅读全文
摘要:
若干人左对齐站成最多5行,给定每行站多少个,列数从第一排开始往后递减。要求身高从每排从左到右递增(我将题意篡改了便于理解233),每列从前向后递增。每个人身高为1...n(n<=30)中的一个数(互不不同)。求可行方案数。(地址点我qwq); 做了lyd书dp这一章的第一题,就不会qwq。。果然菜的 阅读全文
摘要:
(贪心题的策略真的好迷啊,做了多少题还是不会做。。) 题目 贪心策略成功被我第一时刻就想歪了。然后后面都是对的qwq,真的是。。 正解应当是将报废时间排序,显然对于维修每一个建筑进行结束的越早越好,从小到大排。然后按顺序看可不可以修。如果当前时间加上维修时间够的话就加入,不够就看之前有没有哪个建筑耗 阅读全文
摘要:
★ Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000)。给你两个顶点S和T,求 一条路径,使得路径上最大边和最小边的比值最小。如果S和T之间没有路径,输出”IMPOSSIBLE”,否则输出这个 比值,如果需要,表示成 阅读全文
摘要:
有一点小转化的题,在设计dp状态时还是有点费脑筋的。 地址。 依题意,首先可以知道肯定要扩展域的并查集(明摆着的嘛)。一个"好人"域,一个"坏人"域,每句话分两种情况考虑连边。假设是yes,同域连边,否则异域连边(经典模型嘛)。然后就是要考虑如何验证是否有$x$个好人$y$个坏人的唯一解存在。这取决 阅读全文
摘要:
大水题一道啊,几分钟切掉。 还是扩展域,每个点拆3个点,之间连边表示有关系(即捕食关系)。然后随便判定一下就好了,不难,毕竟NOI上古题目。 阅读全文
摘要:
地址 连通性判定问题。(具体参考lyd并查集专题该题的转化方法,反正我菜我没想出来)。转化后就是一个经典的并查集问题了。 带权:要求两点奇偶性不同,即连边权为1,否则为0,压缩路径时不断异或,可以通过0或1得到两点的关系。合并时解一个位运算的方程,可得一个根连向另一个根的权值,看code,就不细讲了 阅读全文
摘要:
$有a_{1}个1,a_{2}个2,...,a_{n}个n(n<=15,a_{n}<=5),求排成一列相邻位不相同的方案数。$ 关于这题的教训记录: 学会对于复杂的影响分开计,善于发现整体变化,用整体法(没错就是和物理那种差不多)。 推dp方程时怕边界问题不好处理时可以采用向前推的方法,就如$f[x 阅读全文
摘要:
没错我就是专门找对顶堆练习题的。现在感觉对顶堆使用面有点狭窄。这道题由于我询问是随时间单调增的,而且数据比较友好,应该是插入几次就询问一下的。而中位数那题也是经常询问的。如果查询的东西不单调,或者查询过少,对顶堆都会退化,可能一次维护就要$nlogn$,所以他只适用于经常询问单调增排名的问题。(←个 阅读全文
摘要:
由于我不会讲对顶堆,所以这里直接传上一个巨佬的学习笔记。 对顶堆其实还是很容易理解的,想这题的时候自己猜做法也能把没学过的对顶堆给想出来。后来了解,对顶堆主要还是动态的在线维护集合$K$大值。当然也可以带删除。但是可能退化,具体见另外一个题的说明。 像这题维护中位数就是要求第$N/2+1$大的数,所 阅读全文
摘要:
P1196 [NOI2002]银河英雄传说 对于任意两艘舰,查询是否在同一列就是看在不在同一集合,并查集。询问距离的话,把每个点和他父亲的连边带上权值表示距离(父亲不一定就是前一艘舰),查询时会顺便压缩路径,一路回来会把所有点直接连边向根节点,这时边权改为他父亲(已直指根节点)的dis加上自己到父亲 阅读全文
该文被密码保护。 阅读全文
摘要:
1.Supermarket(题目地址) 跟很久以前模拟的打地鼠那题一样,贪心+优先队列。这次换用并查集做法。 还是基于贪心,但这次换一种策略,先选价值最大的, 同时使其尽可能晚的被选上(因为早选会将之前可选的日子占用,很显然)。 将并查集f[i]表示从第i天往前看最晚的空下来的一天。 初始时还是每个 阅读全文
摘要:
一看就是离散化,先去满足相等的条件,相等即为两点联通,或者说在同一个集合内。再看不相等,只有两元素在同一集合才不满足。裸的disjoint-set直接上,常数巨大什么的不管啦。 阅读全文
摘要:
地址 看数据范围很明显的搜索题,暴力dfs是枚举按顺序每一场比赛的胜败情况到底,合法就累计。$O(3^{n*(n-1)/2})$。n到10的时候比较大,考虑剪枝。 本人比较菜所以关键性的剪枝没想出来,但由于数据较水,20个点就T了2个。依旧记下剪枝方案,没想到的用下划线和红笔标注: 剪枝一:个人觉得 阅读全文
摘要:
Description 农夫约翰打算建立一个栅栏将他的牧场给围起来,因此他需要一些特定规格的木材。于是农夫约翰到木材店购 买木材。可是木材店老板说他这里只剩下少部分大规格的木板了。不过约翰可以购买这些木板,然后切割成他所需 要的规格。而且约翰有一把神奇的锯子,用它来锯木板,不会产生任何损失,也就是说 阅读全文
摘要:
地址。 很重要的搜索题。★★★ 吐槽:算是写过的一道码量比较大的搜索题了,细节多,还比较毒瘤。虽然是一遍AC的,其实我提前偷了大数据,但是思路还是想了好长时间,照理说想了半小时出不来,我就会翻题解,但是这次总觉得自己快想出来了结果磕了两个小时才想到正解上。嘛主要还是我太弱了QwQ。 题目内容很简单。 阅读全文