CSP2021-S前模拟题
CSP2021-S前训练
wanxiangyun2021
醒来,方知是梦,天色幽幽,怅然不已
展开
-
P7151 [USACO20DEC] Replication G
[USACO20DEC] Replication G - 洛谷算法标签:BFS+优先队列难度:提高+/省选-转载 2021-10-08 22:30:45 · 157 阅读 · 0 评论 -
P1266 速度限制
算法标签:最短路+DP难度:提高+/省选-#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <algorithm>#include <queue>using namespace std;#define N 155#define M 25010#defin原创 2021-10-07 16:25:41 · 92 阅读 · 1 评论 -
P3831 [SHOI2012]回家的路
https://www.luogu.com.cn/problem/P3831算法标签:分层图+最短路难度:提高+/省选-因为只有横竖两种走法,那么考虑建双层图,第一层建横向边,第二层建竖向边。首先按照xx坐标的大小排序,如果两个点x坐标相等,就把它们连起来之后在层与层之间建边,除起点、终点外的每个点都建一条权值为1 的边。#include <iostream>#include <cstdio>#include <cstdlib>#inc...转载 2021-10-07 16:22:59 · 153 阅读 · 0 评论 -
P3720 [AHOI2017初中组]guide
算法标签:最短路难度:提高+/省选-本题说的是John有两个GPS系统,给了n个点和m条边。唯一独特的是,两个GPS所给的路途时间不同,所以从点1到点n的最短路径不同。如果John从当点走的路线与两个GPS给的从当点到终点的最短路径不同,则GPS会抱怨(一个不同抱怨一下,两个的话两下),求最少抱怨总数。怎么判断走这条边会抱怨几次呢?我们无论怎么走,都是要从此点沿最短路径走到终点,不妨我们都用最短路径算法求出两个GPS从点1->n-1到点n的最短路径(就是以点n为源点,求到所有点的最短路转载 2021-10-07 16:18:56 · 155 阅读 · 0 评论 -
P1772 [ZJOI2006]物流运输
https://www.luogu.com.cn/problem/P1772算法标签:最短路+线性DP难度:提高+/省选-我们来构想一下,当我们到第n天的时候,有两种选择,一是继续原先的路,二是换一条新的路,当然,如果在这一天原先的路不能走了就必须要换一条路,然而换成什么路当然是用最短路求啦。我们再考虑一下,如果第n-1天的路在第n天就不能走了,我们换了一条最短的路,然而第n+1天这条最短路就又不能走了,又要换一条新的。我们可以考虑这样做,求出从第i天到第j天都可以走的最短路成本乘上(j-i转载 2021-10-07 16:11:27 · 64 阅读 · 0 评论 -
P2376 [USACO09OCT]Allowance G
https://www.luogu.com.cn/problem/P2279原创 2021-10-03 22:51:19 · 84 阅读 · 0 评论 -
P6146 [USACO20FEB]Help Yourself G
https://www.luogu.com.cn/problem/P6146算法标签:排序+快速幂+线性DP难度:普及+/提高先将所有线段按左端点升序排序。设 表示前条线段的所有子集的复杂度之和。如果我们新添加了一条线段,复杂度会怎样变化呢?1.不选这条线段。这种情况下,复杂度没有变化,不包含这条线段的子集的复杂度仍然为 。2.选这条线段。复杂度分两部分:原来的复杂度(这部分不会因为新选一条线段而减少,因为线段已经按左端点排好顺序了)和新增加的复杂度(这条线段可能...转载 2021-10-07 15:04:42 · 127 阅读 · 0 评论 -
P6280 [USACO20OPEN]Exercise G
https://www.luogu.com.cn/problem/P6280算法标签:素数筛+计数类DP难度:提高+/省选-通过模拟可得到一下性质:如果存在K=1,那么每一个a[ i ] = i;如果存在K=2,那么每一个a[ a[ i ] ] = i;如果存在K=3,那么每一个 a[ a[ a[ i ] ] ] = i;其实也就是形成一个或多个长度为K的最小公倍数的环。(注:之所以是最小公倍数,是因为有些环可以重复几次变成 i ,见样例!!!)...原创 2021-10-06 22:58:47 · 84 阅读 · 0 评论 -
P6008 [USACO20JAN]Cave Paintings P
https://www.luogu.com.cn/problem/P6008算法标签:并查集+计数类DP难度:提高+/省选-#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <algorithm>using namespace std;#define N 1010#转载 2021-10-06 13:58:52 · 175 阅读 · 0 评论 -
P6278 [USACO20OPEN]Haircut G
https://www.luogu.com.cn/problem/P6278核心算法:树状数组难度:普及+/提高前置知识:逆序对https://www.luogu.com.cn/problem/P1908首先我们可以很快求出在不进行任何操作的情况下头发的不良度。(逆序对)然后我们考虑下面这个问题:所有长度大于 k 的头发的长度均减少到 k 时,对于一根头发 j而言,哪些头发 i (i<j)会对答案产生影响?当 k <= a[ j ] < a[ i ]时,..原创 2021-10-06 11:18:53 · 230 阅读 · 0 评论 -
P6005 [USACO20JAN]Time is Mooney G
https://www.luogu.com.cn/problem/P6005算法标签:BFS+枚举#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <cstring>#include <algorithm>#include <queue>using namespace std;#define原创 2021-10-05 22:53:24 · 92 阅读 · 0 评论 -
P6004 [USACO20JAN] Wormhole Sort S
https://www.luogu.com.cn/problem/P6004算法:并查集+二分答案首先我们可以发现一个性质:当我们知道用几个虫洞进行排序的时候,我们也会知道(1)她们用来排序的虫洞宽度的最小值;(2)那些位置是可以相互到达的。在这条性质的基础上,我们想到了二分答案。接下来,就是二分答案的条件。只要判断在开通这些虫洞的情况下,位置i与p_i是否可以相互到达,所以使用并查集。#include <iostream>#include <cstd原创 2021-10-05 22:24:51 · 139 阅读 · 0 评论