07 2019 档案
摘要:$poj$ $Description$ 一颗树有 $n$ 个节点,这些节点被标号为:$1,2,3…n,$每个节点 $i$ 都有一个权值 $A[i]$。 现在要把这棵树的节点全部染色,染色的规则是: 根节点R可以随时被染色;对于其他节点,在被染色之前它的父亲节点必须已经染上了色. 每次染色的代价为$T
阅读全文
摘要:参考: 算法竞赛 , 这篇$Blog$ 感觉二分一直迷迷糊糊,终于要来写一篇小结辣 总的来说有两种写法: 1.记录答案 2.不记录答案 细分有三种: 1.记录答案(左右边界哪个是答案都差不多) 2.不记录答案且找最小的合法解 3.不记录答案且找最大的合法解(最易错的!!) 下面就来具体说说细分的三种
阅读全文
摘要:因为线段树啥都不记得了(因为$TT$太菜了$qwq$)所以复习复习
阅读全文
摘要:$Poj$ $AcWing$ $Luogu$ $ps:$洛谷题目与$Poj$略有不同,以下$Description$是$Poj$版.题目的不同之处在于洛谷中雇用奶牛的费用不相同,所以不可以用贪心法,只能$DP$ $Description$ $Sol$ 就是区间覆盖问题$qwq!$ 1.$DP$做!
阅读全文
摘要:$AcWing$ $Description$ $Sol$ $AcWing$ $Description$ $Sol$ 首先显然是是以严格递增子序列的长度为阶段,由于要单调递增,所以还要记录最后一位的数值 $F[i][j]$表示前$i$个数中以$A_i$结尾的长度为j单调递增序列有多少个 $F[i][j
阅读全文
摘要:Luogu Description Sol 1.发现对于每个城市,小A和小B的选择是固定的,可以预处理出来,分别记为ga[],gb[] 2.并且,只要知道了出发城市和出发天数,那么当前城市和小A,小B各行驶的路程也是一定的,同样可以分别预处理出来 具体怎么预处理: 1.其实就是"邻值查找" 简单讲一
阅读全文
摘要:AcWing Description 求$N$个节点的无向连通图有多少个,节点有标号,编号为$1~N$. $1<=N<=50$ Sol 在计数类$DP$中,通常要把一个问题划分成若干个子问题,以便于执行递推. 一个连通图不容易划分,而一个不连通的无向图则很容易划分成结点更少的两部分.所以我们把问题转
阅读全文
摘要:AcWing Description AcWing Description Sol 看了很久也没有完全理解直接$DP$的做法,然后发现了记搜的做法,觉得好棒! 这里是超棒的数位$DP$的记搜做法总结 看完仿佛就觉得自己入门了,但是就像文中写的,还是要多做题才能真正弄明白鸭,还要加油(ง •_•)ง
阅读全文
摘要:AcWing Description 有个$H$行$W$列的棋盘,里面有$N$个黑色格子,求一个棋子由左上方格子走到右下方格子且不经过黑色格子的方案数. $1<=H,M<=1e5,1<=N<=2000$.输出对$1e9+7$去模后的结果即可 Sol 假设没有黑色格子,方案数就为$C_{H+W-2}^
阅读全文
摘要:Poj AcWing Description Sol 这题很数位$DP$啊, 预处理$+$试填法 $F[i][j][k]$表示用$i$块长度不同的木板,当前木板(第$i$块)在这$i$块木板中从小到大排在第$j$位,构成栅栏的方案数.$k=0$表示处于低位,$k=1$表示处于高位. $F[i][j]
阅读全文
摘要:Poj AcWing Description Sol 这题长得就比较像数位$DP$叭. 所以先用$DP$进行预处理,再基于拼凑思想,通过"试填法"求出最终的答案. 设$F[i][3]$表示由$i$位数字构成的魔鬼数有多少个,$F[i][j](0<=j<=2)$表示由$i$位数字组成的,开头有$j$个
阅读全文
摘要:Poj AcWing Description 给定一个长度为N的序列 A,要求把该序列分成若干段,在满足“每段中所有数的和”不超过M的前提下,让“每段中所有数的最大值”之和最小. N<=105,M<=1011,0<Ai<=106 Sol 一篇比较清楚的题解 $OvO$ $F[i]$表示把前$i$个数
阅读全文
摘要:AcWing Description Sol 设f[i][j]表示前i个饲养员接走前j只猫咪的最小等待时间. 要接到j猫咪,饲养员的最早出发时间是可求的,设为d: $ d[j]=Tj-\sum_{k=1}^{Hi}Dk$ 然后把d从小到大排序并且求出前缀和s.注意到,一个饲养员带走的猫咪一定是按d排
阅读全文
摘要:任务安排1 1≤N≤5000,1≤S≤50,1≤Ti,Ci≤100 朴素做法: $f[i][j]=min\ {f[k][j-1]+(S*j+sumT)*(sumC[i]-sumC[k])}$ 复杂度为$O(N^{3})$ 优化: "费用提前计算思想" 发现每重新启动一次,由于启动而增加的总费用是可以
阅读全文
摘要:Poj Acwing Description 有N块木板等待被M个工匠粉刷,每块木板至多被刷一次.第i个工匠要么不粉刷,要么粉刷包含木块Si的,长度不超过Li的连续的一段木板,每粉刷一块可以得到Pi的报酬.求如何安排能使工匠们获得的总报酬最多. 1<=N<=16000,1<=M<=100 Sol 先
阅读全文
摘要:ACWing Description 给定一个长度为N的数列A以及一个整数T.我们要把A分成若干段,使得每一段的'校验值'都不超过N.求最少需要分成几段. Sol 首先是校验值的求法: 要使得'每对数的差的平方'之和最大,显然就是先排序,然后取最大和最小为一对,次大和次小为一对..... 然后是问题
阅读全文
摘要:Poj Description 给定一个长度为n的序列a,如果只允许进行比较和交换相邻两个数的操作,求至少需要多少次交换才能把a从小到大排序. Sol 只允许比较和交换相邻两个数,就是冒泡排序算法. 只有在前者大于后者的时候才会交换相邻两个数,也就是每交换一次逆序对就减少一个 最后序列排序完毕后,逆
阅读全文
摘要:Poj Description 动态维护中位数问题 Sol "对顶堆"的在线做法 建立两个二叉堆,一个大根堆一个小根堆 在依次读入这个整数序列的过程中,设当前序列为l,要始终保证: 1.序列中从小到大排名为1~l/2的整数存在大根堆中 2.序列中从小到大排名为l/2+1~l的整数存在小根堆中 每次插
阅读全文

浙公网安备 33010602011771号