摘要: 第十九届浙大城市学院程序设计竞赛 E Disjoint Path On Tree 题意:求树上不相交简单路径对的数量 做法:其实很容易想到,我们需要求f1[x]表示经过x点的子树内的简单路径数,f2[x]表示子树x的内的简单路径数量,但是统计数量的时候赛时我想的复杂了一些,因为还需要换根求一下各种值 阅读全文
posted @ 2022-04-12 13:08 lmj_1 阅读(102) 评论(0) 推荐(0)
摘要: 矩阵hash 点击查看代码 #include <bits/stdc++.h> using namespace std; typedef unsigned long long ull; const int maxn=1010; const ull seed1=131; const ull seed2= 阅读全文
posted @ 2022-04-04 14:42 lmj_1 阅读(40) 评论(0) 推荐(0)
摘要: The 2021 ICPC Asia Nanjing Regional Contest A Oops, It’s Yesterday Twice More 点击查看代码 #include <bits/stdc++.h> using namespace std; string s[5]={"","UL 阅读全文
posted @ 2022-03-29 14:42 lmj_1 阅读(331) 评论(0) 推荐(0)
摘要: L3-017 森森快递 (30 分) 做法: 观察可以发现,当我们将这些区间按y排序,再按x排序以后,先取左边的一定比先取右边的更优,会影响的有以下情况: 1.区间重合 这样的话,其实先取长的会更优,这样的话,会把前面没取到的部分也取到,但是其实先取短的也再取长的也并不影响, 2.区间交叉 这种各取 阅读全文
posted @ 2022-03-21 22:00 lmj_1 阅读(33) 评论(0) 推荐(0)
摘要: 跳楼机 可以把ax+by+cz=n,转化为ax+r=n,就是把by+cz整个看成一个余数,那么我们就只需要只要余数有哪些,就可以把所有的n算出来了,因为n很大,但是x很小,所以需要用到同余最短路,同余最短路就是假设r=11,a=6,那么就把11认为是11%6=5,就避免了大数,所以我们把边权看成11 阅读全文
posted @ 2022-03-21 21:59 lmj_1 阅读(86) 评论(0) 推荐(0)
摘要: D. Weight the Tree 给一棵树,每个点有权重,如果一个点的权重等于它周围直接相连点的权重,就称为好点,求权重的分配方案,使得好点个数最大化,且权重值之和最小, 做法:设$dp[x][1/0]$表示当前点是否作为好点时最大好点数,最小权值,我们可以知道,如果一个点为好点,他周围的点就不 阅读全文
posted @ 2022-03-21 21:53 lmj_1 阅读(75) 评论(0) 推荐(0)
摘要: Codeforces Round #778 D. Potion Brewing Class 给定若干的a[i]/a[j]=x/y关系,请确定解以满足所有a[i]都是正整,且所有数和最小, 解法:从n-1对关系可以看出,要唯一确定所有数,那么所有关系肯定满足一棵树形关系,我们要求最小解,就从节点1做下 阅读全文
posted @ 2022-03-21 21:49 lmj_1 阅读(46) 评论(0) 推荐(0)
摘要: 时隔一年,又用回博客园了,据说luogu的博客不再维护,以后不再更新luogu博客,作为acmer大家一起加油 \(^-^\) 阅读全文
posted @ 2022-03-21 21:37 lmj_1 阅读(20) 评论(0) 推荐(0)