P3130 [USACO15DEC]计数haybalesCounting Haybales 题目描述 Farmer John is trying to hire contractors to help rearrange his farm, but so far all of them have quit when they saw the complicated sequence of instructions FJ wanted them to follow. Left to complet…
P3130 [USACO15DEC]计数haybalesCounting Haybales 1)给定一段连续的田地,给每一个田地都增加一些新的草包. 2)给定一段连续的田地,找出草包最少的田地有多少草包. 3)给定一段连续的田地,统计一共有多少草包. 错误日志: \(pushdown\) 时记录懒标记用了 \(int\) , 下次(在没有把握的情况下)应全部替换 Solution 线段树, 懒标记, 靠前练手 Code #include<iostream> #include<cstdio…
因为徐州现场赛的G是树上差分+组合数学,但是比赛的时候没有写出来(自闭),背锅. 会差分数组但是不会树上差分,然后就学了一下. 看了一些东西之后,对树上差分写一点个人的理解: 首先要知道在树上,两点之间只有一条路径.树上差分就是在树上用差分数组,因为是在树上的操作,所以要用到lca,因为对于两点a,b,从a到b这一条链就是a-->lca(a,b)-->b,这是一条链. 其次,树上差分的两种操作:一种是对点权的,另一种是对边权的. 对于点权: 在树上将路径的起点a+1和终点b+1,lca(a,b…
洛谷P1144-最短路计数 题目描述: 给出一个\(N\)个顶点\(M\)条边的无向无权图,顶点编号为\(1-N\).问从顶点\(1\)开始,到其他每个点的最短路有几条. 思路: \(Dijkstra\)的一个变形题目. 在跑\(Dijkstra\)松弛的时候,若dis[v] > dis[u] + 1那么res[v]=res[u],若dis[v] == dis[u] + 1那么res[v] += res[u],其中res[v]存储的是点\(1\)到点\(v\)的最短路的数量.这里用到了\(dp\…
题目 [USACO15DEC]haybalesCounting Haybale P 题解 最近刚刚自学了线段树这个数据结构,恰巧做到了这道线段树的模板题.其实也没有什么好多说的,接触过线段树的大犇肯定觉得很简单.这道题注意的是修改区间的值时用到了lazy思想,如果只是用朴素的修改法则会超时. 果然,用朴素的方法更新值果然TLE了. 于是,我使用了lazy数组,这样可以尽可能地减少不必要的修改(如果有不理解的小伙伴可以上网搜索线段树lazy的含义与用法),最终终于AK了. 代码 这是TLE的代码(…
P3914 染色计数 题目描述 有一颗NN个节点的树,节点用1,2,\cdots,N1,2,⋯,N编号.你要给它染色,使得相邻节点的颜色不同.有MM种颜色,用1,2,\cdots,M1,2,⋯,M编号.每个节点可以染MM种颜色中的若干种,求不同染色方案的数量除以(10^9 + 7109+7)的余数. 输入输出格式 输入格式: 第1 行,2 个整数N,MN,M. 接下来NN行,第ii行表示节点ii可以染的颜色.第1个整数k_iki​,表示可以染的颜色数量.接下来k_iki​个整数,表示可以染的颜色…
P3128 [USACO15DEC]最大流Max Flow 题目描述 Farmer John has installed a new system of N-1N−1 pipes to transport milk between the NN stalls in his barn (2 \leq N \leq 50,0002≤N≤50,000), conveniently numbered 1 \ldots N1…N. Each pipe connects a pair of stalls,…
P1176 路径计数2 题目描述 一个N \times NN×N的网格,你一开始在(1,1)(1,1),即左上角.每次只能移动到下方相邻的格子或者右方相邻的格子,问到达(N,N)(N,N),即右下角有多少种方法. 但是这个问题太简单了,所以现在有MM个格子上有障碍,即不能走到这MM个格子上. 简单的转移方程方程: $dp[i][j]=(d[i-1][j]+d[i][j-1])%mod$ 由左和上转移而来. #include<iostream> #include<cstdio> #d…
P3914 染色计数 题目描述 有一颗NN个节点的树,节点用1,2,\cdots,N1,2,⋯,N编号.你要给它染色,使得相邻节点的颜色不同.有MM种颜色,用1,2,\cdots,M1,2,⋯,M编号.每个节点可以染MM种颜色中的若干种,求不同染色方案的数量除以(10^9 + 7109+7)的余数. 输入输出格式 输入格式: 第1 行,2 个整数N,MN,M. 接下来NN行,第ii行表示节点ii可以染的颜色.第1个整数k_iki​,表示可以染的颜色数量.接下来k_iki​个整数,表示可以染的颜色…
P1176 路径计数2 题目描述 一个N×N的网格,你一开始在(1, 1),即左上角.每次只能移动到下方相邻的格子或者右方相邻的格子,问到达(N, N),即右下角有多少种方法. 但是这个问题太简单了,所以现在有M个格子上有障碍,即不能走到这M个格子上. 输入输出格式 输入格式: 输入文件第1行包含两个非负整数N,M,表示了网格的边长与障碍数. 接下来M行,每行两个不大于N的正整数x, y.表示坐标(x, y)上有障碍不能通过,且有1≤x, y≤n,且x, y至少有一个大于1,并请注意障碍坐标有可…