10 2019 档案

摘要:$Sol$ 先考虑单栈排序,怎么样的序列可以单栈排序呢?设$a_i$表示位置$i$是哪个数.$\exist i define il inline define Ri register int define go(i,a,b) for(Ri i=a;i=b; i) define e(i,u) for( 阅读全文
posted @ 2019-10-28 12:50 DTTTTTTT 阅读(151) 评论(1) 推荐(0)
摘要:$Sol$ 不知道为啥看起来就很$dp$的亚子.我们关心的只有$A$串当前用到哪一个,$B$串已经匹配到哪个位置,已经匹配的被分成了多少段.所以设$f_{i,j,k,0/1}$表示$A$串用到第$i$个,$B$串已经匹配到第$j$个,分成了$k$段,最后一段是否被断开. 瞎转移一波(这里就不详细讲了 阅读全文
posted @ 2019-10-27 12:53 DTTTTTTT 阅读(176) 评论(0) 推荐(0)
摘要:这是一篇很长很长很长很长很长的$blog.QwQ$ 阅读全文
posted @ 2019-10-27 10:22 DTTTTTTT 阅读(384) 评论(6) 推荐(1)
该文被密码保护。
posted @ 2019-10-26 15:05 DTTTTTTT 阅读(7) 评论(2) 推荐(0)
摘要:$Sol$ 设一个矩阵的左上角为$(x_1,y_1)$,右下角为$(x_2,y_2)$,$s_{x,y}$是到$(1,1)$二维前缀和,那么这个矩阵的答案显然是$s_{x_2,y_2} s_{x_1 1,y_2} s_{x_2,y_1 1}+s_{x_1 1,x_2 1}$.考虑把每个询问拆成这么四 阅读全文
posted @ 2019-10-26 11:50 DTTTTTTT 阅读(165) 评论(0) 推荐(0)
摘要:$Sol$ 设$f_i$为到第$i$秒的方案数,显然$f_i=$在第$i$秒前爆炸的方案数+在第$i$秒爆炸的方案数+在第$i$秒停下的方案数+在第$i$秒走向下一个城市 的方案数.注意到第四个转移和当前在哪个城市有关,所以要另记一维$j$表示当前位置.于是$f_{i,j}=$第$i$秒前在$j$爆 阅读全文
posted @ 2019-10-26 09:10 DTTTTTTT 阅读(177) 评论(0) 推荐(0)
摘要:$Sol$ 觉得这里是个很巧妙的地方吖,就是记下当前扩展点集的最大深度,然后强制下一步扩展的点集都是最大深度+1.这样做在当前看可能会导致误算答案导致答案偏大,但是整个$dp$完成后一定可以得到最优解. 怎么计算扩展点集的代价呢,显然是要扩展的点向已扩展的点里连最短边,这个可以暴力计算. 注意一个细 阅读全文
posted @ 2019-10-24 23:00 DTTTTTTT 阅读(138) 评论(0) 推荐(0)
摘要:$Des$ 给定一个有向图,起点为$1$,终点为$n$,求和最短路相差不超过$k$的路径数量.有$0$边.如果有无数条,则输出$ 1$. $n\leq 10^5,k\leq 50$ $Sol$ 首先,有无数条边的情况一定是在与最短路相差不超过$k$的一条路上有$0$环. 先不考虑$0$边和$0$环, 阅读全文
posted @ 2019-10-23 22:30 DTTTTTTT 阅读(122) 评论(0) 推荐(0)
摘要:背包学得太差了要好好复习总结一下 : ) ## $01$/完全 背包 背包问题:有一些物品,每个物品有花费和价值,一般来说求的是在花费不超过给定数的前提下求最大的价值. 一般来说会省略第一维,但是在一些问题转化成的背包问题中不要忘了这一维可能又会被利用起来. //01背包 v表示花费 w表示价值 g 阅读全文
posted @ 2019-10-23 16:38 DTTTTTTT 阅读(130) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-10-23 15:39 DTTTTTTT 阅读(2) 评论(0) 推荐(0)
摘要:$Sol$ 约定$pos$为老张所处的位置的路灯号,$ipos$. 显然,如果$i$和$j$都关了,那么它们之间的所有灯一定也都关了. 设$f[i][j][k]$表示关掉$[i,j]$的灯,现在在$k$位置($k=i$或$k=j$),所有路灯的功耗. 转移有两种,显然,懒得写了. 记搜即可. $Co 阅读全文
posted @ 2019-10-21 23:02 DTTTTTTT 阅读(86) 评论(0) 推荐(0)
摘要:$Des$ 给定一个有向图,起点为$1$,终点为$n$,所有边的长度都为$1$.现在要从起点走到终点,每次走$2^k$的代价是$1$.(这个$k$是任意的,但$2^k$不能超过$longint$范围).求最小代价. $Sol$ 最开始的想法:把距离为$2^k$的两个点连边,然后$ Dijkstra 阅读全文
posted @ 2019-10-21 21:45 DTTTTTTT 阅读(93) 评论(0) 推荐(0)
摘要:ovo 阅读全文
posted @ 2019-10-13 09:13 DTTTTTTT 阅读(135) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-10-04 19:55 DTTTTTTT 阅读(116) 评论(24) 推荐(0)
摘要:$Luogu$ $Sol$ 首先当然是构建一棵最大生成树,然后对于一辆货车的起点和终点倍增跑$lca$更新答案就好.记得预处理倍增的时候不仅要处理走了$2^i$步后是那个点,还有这中间经过的路径权值的最小值以便之后统计答案. 再一看发现这题并没说给的图是联通的,也就是说跑了最大生成树之后可能有若干棵 阅读全文
posted @ 2019-10-03 14:50 DTTTTTTT 阅读(121) 评论(0) 推荐(0)
摘要:$Luogu$ $Sol$ 贪心.尽量把怨气值大的罪犯放到两个监狱,所以首先要按照怨气值从大到小排序.当扫描到两个罪犯已经被指定到同一个监狱时,就结束循环,这个怨气值就是答案.当然把怨气值大的两个罪犯放到两个监狱是不能乱放的,这样的反例非常好举.比如两对罪犯$a1,a2,b1,b2$,随便放之后是$ 阅读全文
posted @ 2019-10-03 14:50 DTTTTTTT 阅读(171) 评论(0) 推荐(0)
摘要:$Luogu$ $Description$ 给定等长的$a,b$两个序列.每次可以交换一个序列中相邻两个数.求最小的交换次数使得$\sum(a_i-b_i)^2$最小. $Sol$ 交换后的序列一定满足$a$序列中第$i$大的数和$b$序列中第$i$大的数对应.证明挺显然的就不说了,洛谷里的题解一定 阅读全文
posted @ 2019-10-03 14:49 DTTTTTTT 阅读(156) 评论(0) 推荐(0)
摘要:传送门 $Sol$ 最暴力的做法就是枚举最长链上的边,然后再算一次所有的链长,更新$ans$. 这里要求最大的最小,容易想到二分答案.对于二分的值$mid$,扫一遍所有的链,若链长小于等于$mid$,那么是合法的不需要处理的.否则,就记录链上所有的边经过的次数$+1$.最后找到被经过次数等于链长大于 阅读全文
posted @ 2019-10-03 14:49 DTTTTTTT 阅读(118) 评论(0) 推荐(0)
摘要:$Luogu$ $Sol$ 枚举解+秦九韶公式计算+取模. $Code$ #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<algorithm> #define il inline #defi 阅读全文
posted @ 2019-10-03 14:49 DTTTTTTT 阅读(95) 评论(0) 推荐(0)
摘要:$Luogu$ $Sol$ 首先$W$一定是某个$w_i$.于是一种暴力方法就出炉了,枚举$W$再计算. 注意到,满足$S-Y$的绝对值最小的$Y$只可能是两种,一种是$<S$的最大的$Y$,一种是$>S$的最小的$Y$.那就分别求出来叭.分别求的时候这个$W$的值是可以二分的.但是这样并不能$A$ 阅读全文
posted @ 2019-10-03 14:49 DTTTTTTT 阅读(127) 评论(0) 推荐(0)
摘要:$Luogu$ $Sol$ 和$Poj1037\ A\ Decorative\ Fence$好像吖. $f[i][0/1]$表示前$i$个数,且选了第$i$个数,这个数相对于上一个数是下降(上升)的,这样的序列的最大长度. $f[i][0]=max(f[k][1])+1,k<i且h[k]>h[i]$ 阅读全文
posted @ 2019-10-03 14:48 DTTTTTTT 阅读(187) 评论(0) 推荐(0)
摘要:$Luogu$ $Sol$ 暴力十分显然叭.正解不是很好想. 我最开始想维护所有色调的客栈的前缀和后缀,然后每扫到一个最低消费合法的就统计一次答案.但是这样会重复计数,两个合法客栈之间有几个消费合法的客栈它们就会被算几次.既然喝咖啡的客栈不能作为计数的基准点,那就换一个叭.换成前一个住宿的客栈或后一 阅读全文
posted @ 2019-10-03 14:48 DTTTTTTT 阅读(84) 评论(0) 推荐(0)
摘要:$Luogu$ $Sol$ 区间整体加减? 差分+树状数组维护前缀和! 那每给一个人借完教室之后都要判断一下现在合不合法?那复杂度比暴力还不如些... 注意到这里的单调性,假设给前$x$个人借完教室之后就不合法了,那给前$x+1,x+2.....$个人借教室一定也是不合法的.于是可以二分第一个需要修 阅读全文
posted @ 2019-10-03 14:48 DTTTTTTT 阅读(147) 评论(0) 推荐(0)