自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

转载 UVA1401 Remember the word DP+Trie

问题描述洛谷(有翻译)题解DP,设\(opt_i\)代表前\(i\)个字符方案数。Trie优化,刷表法。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;template <typename Tp>void read(Tp &x){ x=0;char ch...

2019-09-25 23:20:00 136

转载 LG5202 「USACO2019JAN」Redistricting 动态规划+堆/单调队列优化

问题描述LG5202题解\[opt[i]=xx+(cnt[i]-cnt[yy]<=0)\]发现\(cnt[i]-cnt[yy] <= 0\)只能有两种取值于是直接堆优化即可\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;template <typename Tp&...

2019-09-22 22:05:00 307

转载 模拟赛总结合集

20190922 HZOJ NOIP2019 Round #7转载于:https://www.cnblogs.com/liubainian/p/11566651.html

2019-09-22 10:58:00 162

转载 LG5201 「USACO2019JAN」Shortcut 最短路树

\(\mathrm{Shortcut}\)问题描述LG5201题解最短路树。显然奶牛的路径就是从\(1\)走到各个草地,于是从\(1\)跑最短路,构建最短路树。为了保证字典序,从\(1\)到\(n\)依次枚举每个结点,构建。显然,用贪心的思想,这条边一定是从某个结点\(x\)联向\(1\)的。然后深度遍历这棵最短路树,在每个结点处处理答案即可。注意需要long long...

2019-09-22 10:39:00 200

转载 LG5200 「USACO2019JAN」Sleepy Cow Sorting 树状数组

\(\mathrm{Sleepy Cow Sorting}\)问题描述LG5200题解树状数组。设\(c[i]\)代表\([1,i]\)中归位数。显然最终的目的是将整个序列排序为一个上升序列,于是倒序枚举,先把最后有序的插入。剩下来前面无序的就是要操作的,于是直接输出操作次数。接下来方案很容易构造。\(\mathrm{Code}\)#include<bits/s...

2019-09-22 10:38:00 345

转载 LG5196 「USACO2019JAN」Cow Poetry 背包+乘法原理

\(\mathrm{Cow Poetry}\)问题描述LG5196题解因为每句诗的长度一定是\(k\),所以自然而然想到背包。设\(opt[i][j]\)代表到第\(i\)位时,结尾为\(j\)的方案数。背包,注意\(\mathrm{DP}\)顺序为先枚举\(i\),后枚举单词。(Debug了一小时就因为这个)然后乘法原理统计答案即可。\(\mathrm{Code}\)...

2019-09-22 10:36:00 342

转载 20190922 「HZOJ NOIP2019 Round #7」20190922模拟

综述第一题数组开小丢掉33分。。。这次是USACO2019JAN Gold的题目。\(\mathrm{Cow Poetry}\)题解因为每句诗的长度一定是\(k\),所以自然而然想到背包。设\(opt[i][j]\)代表到第\(i\)位时,结尾为\(j\)的方案数。背包,注意\(\mathrm{DP}\)顺序为先枚举\(i\),后枚举单词。(Debug了一小时就因为这个)...

2019-09-22 10:33:00 121

转载 LG2530 「SHOI2001」化工厂装箱员 高维DP+记忆化搜索

问题描述LG2530题解设\(opt[i][a][b][c][d]\)代表装到第\(i\)个后,第\(1,2,3\)手上分别还剩\(a,b,c\)个的最小操作数。记忆化搜索即可。启示:如果状态没想法,可以先写爆搜,确定状态。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;void ...

2019-09-21 20:49:00 147

转载 LG2893/POJ3666 「USACO2008FEB」Making the Grade 线性DP+决策集优化

问题描述LG2893POJ3666题解对于\(A\)中的每一个元素,都将存在于\(B\)中。对\(A\)离散化。设\(opt_{i,j}\)代表\([1,i]\),结尾为\(j\)的最小代价。\[opt_{i,j}=min_{k \in [1,m]} {opt_{i-1,k}+ |a_i-k|}\]\(\mathrm{Code}\)#include<iostr...

2019-09-21 20:45:00 141

转载 TYVJ1071 LCIS 线性DP+决策集优化

问题描述TYVJ1071题解暴力\(\mathrm{DP}\)首先,一个\(O(n^3)\)的解法:设\(opt_{i,j}\)代表\(a\)的前\(i\)个和\(b\)的前\(j\)个的\(\mathrm{LCIS}\).显然有:1.\(a_i=b_j\)\[opt_{i,j}=opt_{i-1,j}\]2.\(a_i≠b_j\)\[opt_{i,j}=max_{...

2019-09-21 19:56:00 193

转载 LG3004 「USACO2010DEC」Treasure Chest 区间DP+滚动数组优化

问题描述LG3004题解把拿走的过程反向,看做添加的过程,于是很显然的区间DP模型。设\(opt_{i,j}\)代表区间\([i,j]\)中Bessie可以获得的最大值,显然有\[opt_{l,r}=sum_{l,r}-min(opt_{l+1,r},opt_{l,r+1})\]于是爆了空间。强行压成一维,滚动数组优化即可。\(\mathrm{Code}\)#inc...

2019-09-20 23:43:00 134

转载 LG2770/LOJ6122 航空路线问题 费用流 网络流24题

问题描述LG2770LOG6122题解教训:关掉流同步之后就不要用其他输入输出方式了。拆点。两个拆点之间连\((1,1)\),其他连\((1,0)\)\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;void read(int &x){ x=0;char ch=1;...

2019-09-20 22:00:00 126

转载 LG2512/BZOJ1045 「HAOI2008」糖果传递 中位数

问题描述LG2512BZOJ1045题解这是一个链状问题的环状版本。问题最终变为给定数轴上的\(n\)个点,找出一个到他们的距离之和尽量小的点,而这个点就是这些数中的中位数。网络流24题的负载平衡问题是双倍经验\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;template &l...

2019-09-19 23:56:00 123

转载 LG2053/BZOJ1070 「SCOI2007」修车 费用流

问题描述LG2053BZOJ1070题解将\(m\)个修理工拆为\(n \times m\)个,将修理工和车辆看做二分图,连出一个完全二分图。边流量为\(1\),费用为时间,费用流即可。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;template <typename Tp...

2019-09-19 12:14:00 128

转载 LG5338/BZOJ5509/LOJ3105 「TJOI2019」甲苯先生的滚榜 Treap

问题描述LG5338LOJ3105BZOJ5509题解建立一棵\(\mathrm{Treap}\),把原来的\(val\)换成两个值\(ac,tim\)原来的比较\(val_a<val_b\)改成(设两个结点分别为\(node_a,node_b\)):1.若\(ac_a>ac_b\),则\(node_a<node_b\)2.若\(1\)不成立,若\(a...

2019-09-18 23:29:00 130

转载 LG4516/LOJ2546 「JSOI2018」潜入行动 树上背包

问题描述LG4516LOJ2546题解好一个毒瘤题。hkk:JSOI的签到题设\(opt[i][j][0/1][0/1]\)代表结点\(i\)的子树,放置\(j\)个,\(i\)放不放,\(i\)是否覆盖的方案数。DP方程太长,无力打出(真·原因:我要睡觉!)。\(\mathrm{Code}\)#include<bits/stdc++.h>usin...

2019-09-18 00:03:00 134

转载 LG2045 方格取数加强版 费用流

问题描述LG2045题解费用流。套路拆点,把\((i,j)\)拆为两个点,在这两个点之间连边:一条边流量为\(1\),费用为\(a_{i,j}\),另一条边为流量为\(INF\),费用为\(0\)(表示联通)。然后在\((i,j)\)的出点向\((i+1,j)\),\((i,j+1)\)连边,流量\(INF\),费用\(0\),表示联通。建立\(S,T\),分别于\((1,...

2019-09-17 22:26:00 99

转载 LG1640 「SCOI2010」连续攻击游戏 二分图最大匹配

问题描述LG1640题解一开始以为是把\((a,b)\)作为左右部点,发现\(n \le 1000000\),建图是\(O(n^2)\)的,会爆掉属性值向\(i\)建边。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;template <typename Tp>void...

2019-09-16 23:56:00 111

转载 LG2602/BZOJ1833 「ZJOI2010」数字计数 数位DP

问题描述LG2602BZOJ1833题解数位\(\mathrm{DP}\)板子题。注意限制位数、前导零。\([a,b]=[1,b]-[1,a-1]\)\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;#define int long longtemplate <typen...

2019-09-16 23:26:00 176

转载 SP15637 Mr Youngs Picture Permutations 高维动态规划

问题描述LG-SP题解发现\(n,k\)都非常小,尤其是\(k,k\le 5\),于是直接开\(5\)维进行\(\mathrm{DP}\)用记忆化搜索实现。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;#define int long longtemplate <type...

2019-09-15 22:17:00 178

转载 动态规划专题选做

这是一个大坑,之后会慢慢整理上来的线性\(\mathrm{DP}\)「TJOI2019」甲苯先生的字符串 线性动态规划+矩阵加速SP15637 Mr Youngs Picture Permutations 高维动态规划区间\(\mathrm{DP}\)数位\(\mathrm{DP}\)「ZJOI2010」数字计数 数位DP转载于:https://www.cnblog...

2019-09-15 20:57:00 95

转载 LG3825/BZOJ4945/LOJ2305 「NOI2017」游戏 dfs+2-SAT

问题描述LG3825BZOJ4945LOJ2305题解发现对于每个地图,如果没有\(A,B,C\)地图不可以使用\(a,b,c\),就是一个\(\mathrm{3-SAT}\)问题。有了这个限制之后,\(A,B,C\)地图就变为了\(\mathrm{2-SAT}\)问题,但是\(x\)地图还是\(\mathrm{3-SAT}\)因为\(\mathrm{k-SAT}(3 \...

2019-09-15 14:59:00 125

转载 LG1198/BZOJ1012 「JSOI2008」最大数 线段树+离线

问题描述LG1198BZOJ1012题解我们把所有操作离线,设一共有\(n\)个插入操作。于是提前建立\(n\)个数,全部设为\(-INF\)接着逐个处理操作即可。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;#define int long longtemplate &l...

2019-09-14 20:17:00 108

转载 LG5337/BZOJ5508 「TJOI2019」甲苯先生的字符串 线性动态规划+矩阵加速

问题描述LG5337BZOJ5508题解设\(opt_{i,j}(i \in [1,n],j \in [1,26])\)代表区间\([1,i]\),结尾为\(j\)的写法。设\(exist_{i,j}(i,j \in [1,26])\)代表\((i,j)\)能否前后相邻,如果为\(1\),则不能。则有\[opt_{i,j}=\sum_{k=1}^{26} opt_{i-1...

2019-09-14 15:45:00 124

转载 LG2598/BZOJ1412 「ZJOI2009」狼和羊的故事 最小割

问题描述LG2598BZOJ1412题解看到要把狼和羊两个物种分开自然想到最小割。发现\((x,y)\)可以向上下左右走以获得贡献,所以建边:\((x,y),(x-1,y)\),\((x,y),(x,y-1)\),\((x,y),(x,y+1)\),\((x,y),(x+1,y)\)(要在矩阵内)这些边的边权为\(1\),代表在这里建立栅栏(割断边)要\(1\)的代价然...

2019-09-13 22:03:00 130

转载 LG2766 最长不下降子序列问题 最大流 网络流24题

问题描述LG2766题解\(\mathrm{Subtask 1}\)一个求最长不下降子序列的问题,发现\(n \le 500\),直接\(O(n^2)\)暴力DP即可。\(\mathrm{Subtask 2}\)设\(opt_i\)代表区间\([1,i]\),且以\(i\)为结尾的最长不下降子序列。考虑拆点,把\(i\)拆成\(i\)和\(i+n\)。如果\(opt_i...

2019-09-13 17:22:00 144

转载 LG1983 「NOIP2013」车站分级 拓扑排序

问题描述LG1983题解考虑建立有向边\((a,b)\),代表\(a\)比\(b\)低级。于是枚举每一辆车次经过的车站\(x \in [l,r]\),如果不是车辆停靠的车站,则从\(x\)向每个停靠了的车站连边。拓扑排序,建立分层图,搞出最大的层数即可。\(\mathrm{Code}\)#include<bits/stdc++.h>using namesp...

2019-09-13 13:00:00 122

转载 LG4171/BZOJ1823 「JSOI2010」满汉全席 2-SAT

问题描述LG4171BZOJ1823题解显然,每个评委对每个材料的满式/汉式要求是对\(n\)个元素的\(0,1\)取值限制。显然想到\(\mathrm{2-SAT}\)于是就可以切掉了。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;template <typenam...

2019-09-13 11:15:00 113

转载 LG4782 「模板」2-SAT问题 2-SAT

问题描述LG4782题解对于一个限制条件,建边如下:如果\(x,-x\)在同一个强联通分量里,则不行,否则可以构造方案:输出\(bel_i<bel_{i+n}\)\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;void read(int &x){ x=0;c...

2019-09-12 21:37:00 108

转载 CF1076D Edge Deletion 最短路树

问题描述Codeforces洛谷(有翻译)题解最短路树,是一棵在最短路过程中构建的树。在\(\mathrm{Dijkstra}\)过程中,如果最终点\(y\)是由点\(x\)转移得到的,则在最短路树上\(x\)是\(y\)的父节点,\(x\)到\(y\)的最短路树上长度等于原图上转移\(x,y\)的边的长度。显然每一条边最多能贡献\(1\)的答案。在最短路树上选取边,能保...

2019-09-11 23:53:00 213

转载 LG1155 「NOIP2008」双栈排序 二分图判定

问题描述LG1155题解\(i,j\)如果不能进入一个栈,要满足存在\(k\),使得\(i<j<k\)且\(a_k<a_i<a_j\)如果\(i,j\)不能进入一个栈,在\(i,j\)之间连边。判定这个图是不是二分图。如果是二分图,则可以,否则不行。这样时间复杂度是\(O(n^3)\),可以卡过去,但是也可以利用\(DP\)优化到\(O(n^2)\...

2019-09-10 23:21:00 145

转载 LG4819/BZOJ2438 「中山市选2011」杀人游戏 Tarjan缩点+概率

问题描述LG4819BZOJ2438题解发现如果有一些人之间认识关系形成环,只需要问一个人就能把控整个环。\(\mathrm{Tarjan}\)缩点。缩点之后所有入度为\(0\)的点,必须询问。注意特判有没有孤身一人的。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;templ...

2019-09-10 22:33:00 135

转载 LG2272/BZOJ1093 「ZJOI2007」最大半连通子图 Tarjan缩点+DAG求最长链

问题描述LG2272BZOJ1093题解观察半联通的定义,发现图中的一些结点,构成的链一定是一个半联通子图。此时存在的环可能会干扰求解,于是\(\mathrm{Tarjan}\)缩点。于是求最长链,过程中计数即可。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;template ...

2019-09-09 23:46:00 152

转载 LG2463/BZOJ4698 「SDOI2008」Sandy的卡片 后缀数组

问题描述LG2463BZOJ4698题解看到\(n\)个数串,一开始不太好处理,可以很容易想到把这\(n\)个数串连到一起,形成一个大串,但是每个串之间不容易处理。经过思考,想到在每个串中间加一个不可能出现在原数串中的数,取\(2333\)。对大串做后缀数组,求\(\mathrm{LCP}\)。二分答案,二分长度,区间为\([0,min{M_i}-1]\)。\(chec...

2019-09-08 16:58:00 136

转载 LG2852/BZOJ1717 「USACO2006DEC」Milk Patterns 离散化+后缀数组

问题描述LG2852题解字符串性质:字符串\(s\)的每个字串等于每个后缀的所有前缀对输入的东西离散化,然后把数值看做\(\mathrm{ASCII}\)后缀排序二分答案,二分长度。显然一段相同的字串,一定是连续一段后缀的公共前缀。如此\(check\)即可。\(\mathrm{Code}\)#include<bits/stdc++.h>using n...

2019-09-08 11:35:00 163

转载 LG2447/BZOJ1923 「SDOI2010」外星千足虫 高斯消元

问题描述LG2447BZOJ1923题解显然是一个高斯消元,但是求的东西比较奇怪发现这个方程组只关心奇偶性,于是可以用一个\(\mathrm{bitset}\)进行优化,用xor来进行消元操作。\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;void read(int &x...

2019-09-08 10:20:00 124

转载 LG4035/BZOJ1013 「JSOI2008」球形空间产生器 高斯消元

问题描述LG4035BZOJ1013题解设答案为\((p_1,p_2,p_3,...,p_n)\)因为是一个球体,令其半径为\(r\),则有\[\sum_{i=1}^{n}{(a_i-p_i)}^2={\rm dis}^2\]拆式子可得\[\sum_{i=1}^{n}a_i^2-2\times\sum_{i=1}^{n}{a_ip_i}=\sum_{i=1}^{n}p_...

2019-09-08 08:31:00 144

转载 LG3389 「模板」高斯消元法 高斯消元

问题描述LG3389题解高斯消元,是用来解\(n\)元一次方程组的算法,时间复杂度\(O(n^3)\)这样就构造出了这个方程组的矩阵目标就是把这个矩阵左边\(n \times n\)消为单位矩阵\(\mathrm{Code}\)#include<bits/stdc++.h>using namespace std;void read(int &am...

2019-09-07 21:51:00 117

转载 LG4341/BZOJ2251 「BJWC2010」外星联络 Trie

问题描述LG4341BZOJ2251BZOJ需要权限号题解字符串的性质:一个字符串\(s\)所有的字串,等于\(s\)所有后缀的前缀。枚举这个字符串的每一个后缀,将其插入一个\(\mathrm{Trie}\)在插入\(\mathrm{Trie}\)的过程中可以非常方便的维护这个后缀的每个前缀。最后从\(root\)开始对整棵\(\mathrm{Trie}\)进行一次遍历...

2019-09-07 11:17:00 127

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除