09 2019 档案
摘要:问题描述 "LG1879" 题解 设代表前行,且第行状态为的方案数。 枚举,再枚举,为上一行的状态。 判断能否共存( ) 计数转移即可。 必须加强位运算能力。 cpp include using na
阅读全文
摘要:问题描述 "LG1410" 题解 如果$i using namespace std; template void read(Tp &x){ x=0;char ch=1;int fh; while(ch!=' '&&(ch '9'||ch='0'&&ch
阅读全文
摘要:问题描述 "LG2578" 题解 用 去重。 bfs即可。 cpp include using namespace std; void read(int &x){ x=0;char ch=1;int fh; while(ch!=' '&&(ch '9'||ch='0'
阅读全文
摘要:问题描述 "LG1131" 题解 正难则反,把从一个点出发到叶子结点看做从叶子结点走到那个点。 DP方程很显然。 cpp include using namespace std; define int long long void read(int &x){ x=0;
阅读全文
摘要:问题描述 "LG2145" 题解 把颜色相同的一段看做一个点。 然后类似于合唱队区间DP即可。 但是这题好像出过一些情况,导致我包括题解区所有人需要特判最后一个点。 cpp include using namespace std; template void read
阅读全文
摘要:问题描述 "LG5202" 题解 $$opt[i]=xx+(cnt[i] cnt[yy] using namespace std; template void read(Tp &x){ x=0;char ch=1;int fh; while(ch!=' '&&(ch'9')) ch=getchar(
阅读全文
摘要:"20190922 HZOJ NOIP2019 Round 7" "20191003 HZOJ NOIP2019 Round 8" "20191004 HZOJ NOIP2019 Round 9" "20191102 HZOJ NOIP2019 Round 12"
阅读全文
摘要: 问题描述 "LG5201" 题解 最短路树。 显然奶牛的路径就是从走到各个草地,于是从跑最短路,构建最短路树。 为了保证字典序,从到依次枚举每个结点,构建。 显然,用贪心的思想,这条边一定是从某个结点联向的。 然后深度遍历这
阅读全文
摘要: 问题描述 "LG5200" 题解 树状数组。 设代表中归位数。 显然最终的目的是将整个序列排序为一个上升序列,于是倒序枚举,先把最后有序的插入。 剩下来前面无序的就是要操作的,于是直接输出操作次数。 接下来方案很容
阅读全文
摘要: 问题描述 "LG5196" 题解 因为每句诗的长度一定是,所以自然而然想到背包。 设代表到第位时,结尾为的方案数。 背包,注意顺序为先枚举,后枚举单词。(Debug了一小时就因为这个)
阅读全文
摘要:综述 这次是USACO2019JAN Gold的题目。 题解 因为每句诗的长度一定是,所以自然而然想到背包。 设代表到第位时,结尾为的方案数。 背包,注意顺序为先枚举,后枚举单词。(D
阅读全文
摘要:问题描述 "LG2530" 题解 设代表装到第个后,第手上分别还剩个的最小操作数。 记忆化搜索即可。 启示:如果状态没想法,可以先写爆搜,确定状态。 cpp include using name
阅读全文
摘要:问题描述 "LG2770" "LOG6122" 题解 教训:关掉流同步之后就不要用其他输入输出方式了。 拆点。 两个拆点之间连,其他连 cpp include using namespace std; void read(int &x){
阅读全文
摘要:问题描述 "LG2512" "BZOJ1045" 题解 这是一个链状问题的环状版本。 问题最终变为给定数轴上的个点,找出一个到他们的距离之和尽量小的点,而这个点就是这些数中的中位数。 ~~网络流24题的负载平衡问题是双倍经验~~ cpp include usin
阅读全文
摘要:问题描述 "LG2053" "BZOJ1070" 题解 将个修理工拆为个,将修理工和车辆看做二分图,连出一个完全二分图。 边流量为,费用为时间,费用流即可。 cpp include using namespace std; temp
阅读全文
摘要:问题描述 "LG4516" "LOJ2546" 题解 好一个毒瘤题。 hkk:JSOI的签到题 设代表结点的子树,放置个,放不放,是否覆盖的方案数。 DP方程太长,无力打出(真·原因:我要睡觉!)。 c
阅读全文
摘要:问题描述 "LG2045" 题解 费用流。 套路拆点,把拆为两个点,在这两个点之间连边:一条边流量为,费用为,另一条边为流量为,费用为(表示联通)。 然后在的出点向,连边,流量,费用$0
阅读全文
摘要:问题描述 "LG1640" 题解 一开始以为是把作为左右部点,发现,建图是的,会爆掉 属性值向建边。 cpp include using namespace std; template void rea
阅读全文
摘要:问题描述 "LG2602" "BZOJ1833" 题解 数位板子题。 注意限制位数、前导零。 cpp include using namespace std; define int long lon
阅读全文
摘要:问题描述 "LG SP" 题解 发现都非常小,尤其是,于是直接开维进行 用记忆化搜索实现。 cpp include using namespace std; define int long long tem
阅读全文
摘要:这是一个大坑,之后会慢慢整理上来的 线性 「TJOI2019」甲苯先生的字符串 线性动态规划+矩阵加速 SP15637 Mr Youngs Picture Permutations 高维动态规划 LG5003 跳舞的线 - 乱拐弯 「SCOI2009」粉刷匠 线性DP
阅读全文
摘要:问题描述 "LG3825" "BZOJ4945" "LOJ2305" 题解 发现对于每个地图,如果没有地图不可以使用,就是一个问题。 有了这个限制之后,地图就变为了问题,但是地图还是$\m
阅读全文
摘要:问题描述 "LG1198" "BZOJ1012" 题解 我们把所有操作离线,设一共有个插入操作。 于是提前建立个数,全部设为 接着逐个处理操作即可。 cpp include using namespace std; define int lon
阅读全文
摘要:问题描述 "LG1983" 题解 考虑建立有向边,代表比低级。 于是枚举每一辆车次经过的车站,如果不是车辆停靠的车站,则从向每个停靠了的车站连边。 拓扑排序,建立分层图,搞出最大的层数即可。 cpp inclu
阅读全文
摘要:问题描述 "LG4171" "BZOJ1823" 题解 显然,每个评委对每个材料的满式/汉式要求是对个元素的取值限制。 显然想到 于是就可以切掉了。 cpp include using namespace std; te
阅读全文
摘要:问题描述 "LG4782" 题解 对于一个限制条件,建边如下: 如果在同一个强联通分量里,则不行,否则可以 构造方案:输出$bel_i using namespace std; void read(int &x){ x=0;char ch=1;int fh; while(ch!=' '&
阅读全文
摘要:问题描述 "Codeforces" "洛谷(有翻译)" 题解 最短路树,是一棵在最短路过程中构建的树。 在过程中,如果最终点是由点转移得到的,则在最短路树上是的父节点,到的最短路树上长度等于原图上转移的边的长度。 显
阅读全文
摘要:问题描述 "LG4819" "BZOJ2438" 题解 发现如果有一些人之间认识关系形成环,只需要问一个人就能把控整个环。 缩点。 缩点之后所有入度为的点,必须询问。 注意特判有没有孤身一人的。 cpp include usin
阅读全文
摘要:问题描述 "LG2272" "BZOJ1093" 题解 观察半联通的定义,发现图中的一些结点,构成的链一定是一个半联通子图。 此时存在的环可能会干扰求解,于是缩点。 于是求最长链,过程中计数即可。 cpp include using
阅读全文
摘要:问题描述 "LG2463" "BZOJ4698" 题解 看到个数串,一开始不太好处理,可以很容易想到把这个数串连到一起,形成一个大串,但是每个串之间不容易处理。 经过思考,想到在每个串中间加一个不可能出现在原数串中的数,取。 对大串做后缀数组,求。
阅读全文
摘要:问题描述 "LG2852" 题解 字符串性质:字符串的每个字串等于每个后缀的所有前缀 对输入的东西离散化,然后把数值看做后缀排序 二分答案,二分长度。 显然一段相同的字串,一定是连续一段后缀的公共前缀。 如此即可。
阅读全文
摘要:问题描述 "LG2447" "BZOJ1923" 题解 显然是一个高斯消元,但是求的东西比较奇怪 发现这个方程组只关心奇偶性,于是可以用一个进行优化,用 来进行消元操作。 cpp include using namespace std
阅读全文
摘要:问题描述 "LG3389" 题解 高斯消元,是用来解元一次方程组的算法,时间复杂度 这样就构造出了这个方程组的矩阵 目标就是把这个矩阵左边消为单位矩阵 cpp include using namespace std; vo
阅读全文
摘要:问题描述 "LG4341" "BZOJ2251" BZOJ需要权限号 题解 字符串的性质:一个字符串所有的字串,等于所有后缀的前缀。 枚举这个字符串的每一个后缀,将其插入一个 在插入的过程中可以非常方便的维护这个后缀的每个前缀。
阅读全文
摘要:问题描述BZOJ1031LG4051 题解发现这是一个环,根据经验,破环为链,于是字符环变为了字符串之后对这个复制之后的字符串求后缀数组。代表原字符串长度,代表复制后的字符串长度最后输出的时候,判断一下,如果,则输出。 Code
阅读全文