纪中集训
文章平均质量分 53
ssllyr
锦瑟无端五十弦,一弦一柱思华年。
展开
-
【8.21模拟赛T2.7221】[USACO21OPEN] Portals G【kruskal】
题目链接:https://www.luogu.com.cn/problem/P7528,https://gmoj.net/senior/#main/show/7221分析这题题意真是有点点玄啊。但是我看了题意分析之后就感觉不是特别难。一开始(1,2)(3.4)是配对的,我们需要改变传送门的位置使所有的点变成一个连通块。很显然如果存在两个环, 我们需要将它变成一个环,那么就可以达到目的了。上代码#include<iostream>#include<cstdio>#...原创 2021-08-25 10:08:41 · 146 阅读 · 0 评论 -
【8.21模拟赛T1.4888】最近公共祖先(计数)【数学】
题目链接:https://gmoj.net/senior/#main/show/4888分析具体推导:上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;const int mod=998244353;ll n,k,ans;ll ksm(ll x,ll y){ int s=1; while(y.原创 2021-08-25 09:54:44 · 91 阅读 · 0 评论 -
【8.24模拟赛T4.1328】【洛谷P1821】[USACO07FEB] Cow Party S【SPFA】
分析这题一眼就是裸的最短路嘛一遍是从所有点到party点的最短路,另一遍是party点到所有点的最短路,对他们的和取max。从10:42开始打,10:50就打完一遍过了。。。上代码#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>using namespace std;int n,m,pos;int...原创 2021-08-24 19:55:06 · 156 阅读 · 0 评论 -
【8.24模拟赛T3.1327】Mobile Service【DP】
哦对,在gmoj上是没有多组数据的。题目链接:https://www.luogu.com.cn/problem/SP703,https://gmoj.net/senior/#main/show/1327分析我一开始居然想到一个一个贪心去了四维DP比较好想:f[i][x][y][z]f[i][x][y][z]f[i][x][y][z]表示当前第i个任务,第一个员工在xxx,第二个在yyy,第三个在zzz但是时间空间都不行,怎么办?然后可以发现这个题的一个性质,每次做任务后一定有一个员工停在p..原创 2021-08-24 19:11:25 · 174 阅读 · 0 评论 -
【洛谷P1886】【8.24模拟赛T2.1326】滑动窗口window【单调队列】
题目链接:https://www.luogu.com.cn/problem/P1886,https://gmoj.net/senior/#main/show/1326分析单调队列模板题。。。严重怀疑纪中没题但也好今天差点AK分别维护单调增和单调减。。区间过了就从头出队,进来点比之前的大(小)就从尾出队。上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace ...原创 2021-08-24 16:50:19 · 110 阅读 · 0 评论 -
【8.24模拟赛T1.1325】YL杯超级篮球赛【数学】
题目链接:https://gmoj.net/senior/#main/show/1325分析带权中位数模板题。带权中位数,就是给定的N个数都有一个权值,或者说相当于个数。此时的中位数就不再是第N/2个数了,而是第∑di/n\sum{d_i}/n∑di/n个数。有这样一类题,给出了若干个排列在一条直线上的点,每个点有一个权值,比如说货物量、人数什么的,然后让我们找出使所有点的货物、人集合到一个点的总代价最小的位置。我们将会发现,这一类问题实际上就是带权中位数问题。这题就是分别求横纵坐标的带权中..原创 2021-08-24 16:42:11 · 112 阅读 · 0 评论 -
【洛谷P2943】【8.23模拟赛T4.1299】[USACO09MAR]Cleaning Up G【优化DP】
题目链接:https://www.luogu.com.cn/problem/P2943,https://gmoj.net/senior/#main/show/1299分析上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;const int N=40001;int n,m;int a[N],f[N],las.原创 2021-08-24 16:20:22 · 121 阅读 · 0 评论 -
【8.23模拟赛T3.1298】 [USACO09OPEN]Grazing2 S【DP】
题目链接:https://www.luogu.com.cn/problem/P2954,https://gmoj.net/senior/#main/show/1298分析上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;int n,s,a[2001],f[2001][2001];int main().原创 2021-08-24 15:55:32 · 85 阅读 · 0 评论 -
【8.23模拟赛T2.1297】滑雪cowski【BFS】
题目链接:https://gmoj.net/senior/#main/show/1297分析一开始打了个暴搜挂掉了。。后面看了题解改了个BFS,一个队列结构体记录坐标和速度,dis[i][j]dis[i][j]dis[i][j]表示(1,1)(1,1)(1,1)到(i,j)(i,j)(i,j)的最小时间。做一个类似SPFA的东西,就可以像求最短路一样求出来。注意精度!!!(get函数手动四舍五入¿)侯哥卡精度一下午最后还是打了个小表才过上代码#include<iostream>.原创 2021-08-24 15:51:00 · 115 阅读 · 0 评论 -
【8.23模拟赛T1.1296】城墙【贪心】
题目链接:https://gmoj.net/senior/#main/show/1296分析有手就行点贪心。因为要相差最小,所以很好想到排序,然后补齐计算花费上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,x,y,up,down,ans;int a[30000],b[30000];int main(){ freopen("sa.原创 2021-08-24 15:41:49 · 83 阅读 · 0 评论 -
【8.20模拟赛T4.3410】Tree【最小生成树】【数学】
分析侯哥强赛时AC只有n-1个队伍,好像跟树有关。就是最小生成树的变式啊!枚举平均数按照边权减去枚举的数的绝对值排序,做最小生成树。然后套公式就完事了????但是是真的完事了。上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;int n,m,fa[2007],e[2007];double mn=0x...原创 2021-08-21 08:27:10 · 88 阅读 · 0 评论 -
【8.20模拟赛T1.3440】答题卡【模拟】
题目链接:https://gmoj.net/senior/#main/show/3440分析大模拟,不多说,写了半天,好多细节。。。某水螅调到晚上9:30才过笑死我了注意一些细节:名字部分是首字母大写,如果名字开头是字符就要while判一下。答题卡是竖着的,最好转换一下,一行一行比对比较方便注意分数的判定,只要错选一个就没分,用个变量记录一下上代码#include<iostream>#include<cstdio>#include<algorit...原创 2021-08-20 21:58:20 · 95 阅读 · 0 评论 -
【8.19模拟赛T3.7240】[USACO21FEB] Just Green Enough S【数学+优化】
题目链接:https://www.luogu.com.cn/problem/P7410分析将矩阵预处理,小于100赋值-1,等于100赋值0,大于100赋值1。用一个数组算出从右到左每一行的非-1的最长的“延伸”距离。比如样例:处理成:0 1 03 2 10 2 1然后利用这个(的一些类似前缀和的处理)就可以求出任意以(i,j)(i,j)(i,j)为左上角的矩阵个数然后抠掉所有的100,再做一次同样的东西(预处理也要重新做)。两次相减就可以。上代码#include<ios.原创 2021-08-20 21:49:03 · 249 阅读 · 0 评论 -
【8.19模拟赛T2.7239】[USACO21FEB] Year of the Cow S【贪心】
题目链接:https://www.luogu.com.cn/problem/P7412分析可惜啊赛时没意识到这是一道比较zz的题。将年份排序,记录每个祖先出现时间前后的12的倍数(也就是最近的两个能使用时空之门的地方)。记录每个区间的差值,相同区间要判断去重。贪心选差值最大的k-1个。因为我们要从现在去到最后一个先。上代码#include<iostream>#include<cstdio>#include<algorithm>using names..原创 2021-08-20 21:36:09 · 205 阅读 · 0 评论 -
【8.19模拟赛T1.7236】[USACO21FEB] Comfortable Cows S【DFS】
题目链接:https://www.luogu.com.cn/problem/P7411分析DFS。搜索所有舒适的奶牛,并且让她不舒适,因为有可能加入新的奶牛之后又有新的变成舒适,所以要二次递归,注意记录v数组上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;typedef long long ll; ll n,ans;int v[3007][3..原创 2021-08-20 21:18:03 · 291 阅读 · 0 评论 -
【8.17模拟赛T3】【洛谷P7297】 [USACO21JAN] Telephone G【分层图SPFA】
题目链接:https://www.luogu.com.cn/problem/P7297分析上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;int n,k;int a[500001],b[51][51],dis[4000001],v[5000001];int.原创 2021-08-18 19:04:05 · 115 阅读 · 0 评论 -
【8.17模拟赛T2】【洛谷P7296】Uddered but not Herd G【状压DP】
题目链接:https://www.luogu.com.cn/problem/P7296分析上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cstdlib>using namespace std;int n;int f[1<<20],a[100001],b[100001],c[1001][1001].原创 2021-08-18 18:41:18 · 131 阅读 · 0 评论 -
【8.16模拟赛.7232】【洛谷P7416】[USACO21FEB] No Time to Dry P【树状数组】【单调栈】
题目链接:https://www.luogu.com.cn/problem/P7416分析上代码#include<iostream>#include<cstdio>#include<algorithm>#include<vector>#include<cmath>#define re registerusing namespace std;vector <pair<int,int> > e[2000.原创 2021-08-18 14:55:39 · 90 阅读 · 0 评论 -
【8.16模拟赛.7235】【洛谷P7413】[USACO21FEB] Stone Game G【博弈论】
题目链接:https://www.luogu.com.cn/problem/P7413分析洛谷er,yyds上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;int n,mx,a[100001],sum[1000001],b[1000001],cnt[1000001];long long ans;int.原创 2021-08-17 19:35:21 · 155 阅读 · 0 评论 -
【8.16模拟赛.7236】【洛谷P7416】 [USACO21FEB] Modern Art 3 G【区间DP】
题目链接:https://www.luogu.com.cn/problem/P7414分析区间DP经典题,设f[i][j]f[i][j]f[i][j]为涂完i−ji-ji−j所需要的最小涂色次数。先考虑边界:f[i][i]=1,f[i][j]=inf(i!=j)f[i][i]=1,f[i][j]=inf(i!=j)f[i][i]=1,f[i][j]=inf(i!=j)然后枚举区间长度和起点,算出终点,如果两端是相等的,颜色可以延伸过去一次涂完,不需要两次,这里就是f[i][j]=min(f[i+1.原创 2021-08-17 15:26:30 · 163 阅读 · 0 评论 -
【8.14模拟赛.7219】【洛谷P7556】[USACO21OPEN] Do You Know Your ABCs? S【暴力】【数学】
题目链接:洛谷分析最多有七个数,分别为A,B,C,A+B,A+C,B+C,A+B+C大小一定是只有两种排列方法的很显然。可发现A+(B+C)=B+(A+C)=C+(A+B)=A+B+C枚举每个数放的位置根据上面的规律求出七个数 必须非负且A<B<C用数组标记去重上代码#include<iostream> #include<cstdio>#include<algorithm>using namespace std;int n,ans.原创 2021-08-17 14:52:41 · 187 阅读 · 0 评论 -
【8.14模拟赛.7218】【洛谷P7074】 [USACO21OPEN] Maze Tac Toe S【DFS】
题目链接:洛谷分析一开始调了好久aaa显然是DFS,看看怎么处理。首先这个是以三个字符作为一个字符,最边上一列肯定是‘#’,所以后面我们全部都*3+1就可以。这题用三进制状压去存储每一个棋盘状态,如果这个状态是搜索过的就直接跳过。用1,2分别代表M,O,去填棋盘,然后每次都判断是否胜利,用win数组记录胜利的棋盘,以防下次重复统计。判断胜利:棋盘的胜利状态只有16种。把状态倒出来之后,判断就好。上代码#include<iostream>#include<cstdio>原创 2021-08-17 14:44:17 · 221 阅读 · 0 评论 -
【8.14模拟赛.7220】【洛谷P7527】[USACO21OPEN] United Cows of Farmer John G【树状数组】
题目链接:gmoj,洛谷分析上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;typedef long long ll;ll n,ans;ll a[400001],f[400001],c[400001];int lowbit(int x){ return x&(-x);}void add(int x,int y){ for.原创 2021-08-15 19:44:52 · 103 阅读 · 0 评论 -
【gmoj7226】【洛谷P7557 】[USACO21OPEN] Acowdemia S【二分】
题目链接:gmoj,洛谷分析比赛的时候没有看到这道题是个zz题的本质!其实大意就是要找出一个数h,使得在K篇综述中最多引用L次论文的情况下(共K*L次),原论文中引用不少于h次的论文数量不少于h。首先想到从小到大枚举h,对于每个h判断是否符合条件。有几个条件,任何一次没符合条件都不行:每篇论文的引用次数一定不能超过a[i]+ka[i]+ka[i]+k次,因为每篇综述引用一篇论文最多一次。引用次数之和不超过K∗LK*LK∗L判断的实现:从大到小排序,如果原本就大于枚举的h,就不计入综述引.原创 2021-08-15 19:35:23 · 264 阅读 · 0 评论 -
【gmoj4766】【8.13模拟赛T3】Word【暴力枚举】
题目链接:Word分析第一个数组建立出“窗口”,然后枚举两个不同的地方,原创 2021-08-15 19:11:24 · 80 阅读 · 0 评论 -
【gmoj4765】【8.13模拟赛T2】Crisis【DFS】
题目链接:Crisis分析输入的时候标记叶子节点,点权记为1。然后son[i]son[i]son[i]表示iii最多要几个儿子提交请愿书他才会提交请愿书(儿子个数乘一下概率就行)。遍历一遍树,求出每个节点最小的son[i]son[i]son[i]个儿子。一直到根节点可能数据比较水,没有那种一个节点超级多个儿子的那种,没有卡掉我的ans数组。上代码#include<iostream>#include<cstdio>#include<algorithm>u.原创 2021-08-14 16:35:27 · 71 阅读 · 0 评论 -
【gmoj4764】【8.13模拟赛T1】Brothers【暴力】
题目链接:Brothers分析直接暴力模拟每一场战役,用另一个数组暂存一下,然后给回他,继续下一轮上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,r,c,k;int a[101][101],t[101][101];int main(){ cin>>n>>r>>c>>k; for.原创 2021-08-14 16:21:04 · 71 阅读 · 0 评论 -
【gmoj4757】【8.12模拟赛T2】树上摩托【BFS】
题目链接:树上摩托分析一开始想偏了,没有看到约数的性质。后面玩玩发现了一些性质:树的大小只可能是 N 的约数树的大小确定的话,方案最多只有一种将原树看做有根树,预处理每个节点的父亲,每个节点的size标为1。然后循环从后往前取出队列里面的数(只能手动队列qwq)。累加子树size大小。开一个桶,统计每个大小的子树的数量。枚举n的所有约数(树的大小)k,判断子树大小是k的倍数的节点数量是否为n/k。上代码#include<iostream>#include<...原创 2021-08-13 08:21:48 · 75 阅读 · 0 评论 -
【gmoj4756】【8.12模拟赛T1】幻象【期望DP】
题目链接:幻象同洛谷Let’s Play Osu!分析设p[i]p[i]p[i]为第iii秒幻象的持续时间的期望p[i]=(p[i−1]+1)∗a[i]/100 p[i]=(p[i-1] + 1)*a[i]/100p[i]=(p[i−1]+1)∗a[i]/100设f[i]f[i]f[i]为前iii秒的答案。f[i]=f[i−1]+((p[i−1]+1)2–p[i−1]2)∗a[i]/100f[i]=f[i-1]+((p[i-1] + 1)^2–p[i-1]^2)*a[i]/100f[i]=...原创 2021-08-12 22:01:26 · 66 阅读 · 0 评论 -
【gmoj4253】【8.9模拟赛T2】QYQ在艾泽拉斯【tarjan】【并查集】【拓扑+DP】
题目链接:gmoj分析上代码#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<cstring>using namespace std;queue<int> q;const int N=100010;int n,m,k,top,ans1,tim,tt;int tot,hd[N];int u[10*...原创 2021-08-11 21:35:23 · 111 阅读 · 0 评论 -
【洛谷P2323】【gmoj1255】【8.11模拟赛T2】公路修建问题【kruskal+贪心】
题目链接:gmoj、洛谷分析这题一眼看就像是最小生成树,但又好像不完全是。。一开始想着裸的贪心好像也不太可行。于是,美妙的结合来了。因为对于一级公路来说最大的一级公路一定是全部公路中最大的。而如果一个二级公路很大,所对应一级公路一定更大。所以就符合贪心啦。只要选取最小的k条一级公路就可以。如果换成任意一个一级公路都会更大。而且要记录这k条一级公路连通了几个点,这里用kruskal实现。然后剩下没有连通的点,再排序二级公路的大小,用最小生成树实现连通。这里并不会选到重复的边,因为选过记录了连..原创 2021-08-11 19:22:51 · 67 阅读 · 0 评论 -
【gmoj4743】【8.11模拟赛T1】积木【状压DP/暴搜】
题目链接:积木分析这题数据也太水了吧我喜欢可以直接暴力搜索每一个积木的每一个顺序的每一种放置方法。阶乘级别的复杂度,居然能过就离谱。正解是状压DP。f[i][j][k]f[i][j][k]f[i][j][k]当中:iii表示积木选择的状态,每一位的0/1表示这个积木有没有被选中,jjj表示最上面的那个积木,k表示哪一种放法(0,1,2)。枚举l,gl,gl,g可以得出转移:f[i|(1<<(l-1))][l][g]=max(f[i|(1<<(l-1))][l]...原创 2021-08-11 19:10:54 · 89 阅读 · 0 评论 -
【gmoj3056】【8.10模拟赛T4】数字【数位DP】【容斥】
题目链接:数字分析前两个基本不用管,只要把枚举的边界处理一下就行。主要是第三点。ANS=前n位之和与后n位之和相等的方案数+奇数位之和与偶数位之和相等的方案数-前n位之和与后n位之和相等且奇数位之和与偶数位之和相等的方案数。重点是最后一个要满足2个条件的方案数怎么求,其实也很简单:因为前n位之和=后n位之和,奇数位之和=偶数位之和所以前n位中奇数位之和=后n位中偶数位之和 且 前n位中偶数位之和=后n位中奇数位之和具体实现:最终答案:上代码#include<i..原创 2021-08-10 21:31:56 · 79 阅读 · 0 评论 -
【gmoj3055】【8.10模拟赛T3】比赛【前缀和+期望】
题目链接:比赛分析根据期望的和=和的期望,只需把A队每个人的期望得分减去B队每个人的期望得分即为答案。对于A队的某人X,他的期望得分为:∑((Ax−By)2∗P(Ax,By))\sum ((Ax-By)^{2}*P(Ax,By))∑((Ax−By)2∗P(Ax,By))其中y为B队中实力低于X的人,P代表X和Y相遇的概率显然任意两个人相遇的概率是相等的。排序后只需枚举一个人iii,用一个指针指着另一队中实力比i弱的里面最强的人。维护实力值的前缀和和实力值平方的前缀和(因为完全平方式可以展开..原创 2021-08-10 21:21:14 · 117 阅读 · 0 评论 -
【gmoj3054】【8.10模拟赛T2】祖孙询问【LCA】
题目链接:祖孙询问分析很明显能够想到连边之后一个一个点跳上去看有没有经过目标点。其实就是没有倍增的大暴力LCA。于是乎就进一步用倍增求LCA模板 。如果x,y的LCA是x,那x是y的祖先,反之亦然。上代码赶紧背熟LCA模板!!#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,m,fa[50001][30],dep[50001];int t..原创 2021-08-10 21:06:38 · 71 阅读 · 0 评论 -
【gmoj4742】【8.10模拟赛T1】单峰【数学】
题目链接:单峰分析一开始只想到全排列,搞了个暴力。后面观察了一下结果,感觉就是2n−12^{n-1}2n−1。证明一下这个结论:因为峰顶一定是n这个数,而对于两边两个一定是第二大和第三大的,然后这三个整块又作为一个峰顶,两边又是当时第二大和第三大的…而这些又是可以互换的。于是考虑n-1个数分别放在n的左边还是右边。最后会等于2n−12^{n-1}2n−1n比较大你忍一下 ,用快速幂lognlognlogn实现。上代码#include<iostream>#include...原创 2021-08-10 21:00:47 · 64 阅读 · 0 评论 -
【gmoj4257】【洛谷P7794】【8.9模拟赛T4】着色【规律 组合数】
题目链接:gmoj、洛谷分析注意只会用三种颜色上色。所以只要把2和3的组合数算出来,然后找规律暴力手算。判断输出。上代码#include<iostream>#include<cstdio>#include<algorithm>using namespace std;long long n,k,ans,c2,c3;int main(){ freopen("color.in","r",stdin); freopen("color.out",".原创 2021-08-09 21:10:11 · 91 阅读 · 0 评论 -
【gmoj4256】【8.9提高B组模拟赛T3】平均数【二分】
题目链接:平均数分析与洛谷这道题基本一样:平均数。只是差了一点精度上的处理。因为如果能找到一段平均值超过k的区间,那必然能找到平均值大于k-1的区间,于是这题满足单调性。设二分的答案是ans,若:(∑ija[i])/(j−i)⩾ans(j−i+1⩾k)(\sum_{i}^{j}a[i])/(j-i)\geqslant ans(j-i+1\geqslant k)(i∑ja[i])/(j−i)⩾ans(j−i+1⩾k)则有:∑ija[i]⩾ans∗(j−i)\sum_{i}^{j}a[i]\g.原创 2021-08-09 21:04:37 · 72 阅读 · 0 评论 -
【gmoj4889】【8.9提高B组模拟赛T1】最长公共回文子序列【字符串】【dfs暴力】
题目链接:最长公共回文子序列分析因为看到b串的长度很短,所以可以枚举出所有b中的回文序列,然后判断是否在a中出现,从中选择最长的。需要在a串中预处理pr[i][j]pr[i][j]pr[i][j]表示在第一个串第iii位后面第jjj个字母首次出现的位置。但是赛时直接输出最长公共子序列长度-1就有40pts就很离谱上代码#include<iostream>#include<cstdio>#include<algorithm>#include<cst.原创 2021-08-09 20:37:51 · 74 阅读 · 0 评论 -
2021.7纪中快乐游记(下)
DayDayDay 7:7:7: 7.187.187.18周日放假!早上居然6:30就起来了。去吃了个早餐就回机房。按照原计划,应该是要写作业的,所以很自觉的拿出数学试卷写完一张半。然后看到cxy已经开始掏出耳机腐了,于是就绷不住了,直接刷起了知乎。突然看到NBA总决赛第五场正在进行!直接jrkan走起!!爽了一早上。下午赖了50分钟床,一出去看到一帮子人说准备去后山逛逛顺便祭祀¿我也跟着过去了,好热好多蚊子还好都不咬我 ,把整个后山都逛了一遍,每条路都记录下来还画了个地图。每碰到一个墓碑就拜原创 2021-07-22 17:00:11 · 470 阅读 · 1 评论