随笔分类 - 1-source-省选
摘要:"传送门" 要求有多少个长度为奇数的区间满足某个数为区间中位数 这样的区间,大于中位数的数个数 等于 小于中位数的数个数 用类似于前缀和的方法,设$X_i$为$i$和数$b$形成的区间内,大于$b$的数个数减去小于$b$的数个数的值,每次从前面那个位置转移过来,加上这个位置的贡献救星 最后用两个桶统
阅读全文
摘要:"bzoj" "洛谷" 这题意~~是不是不太清楚~~ 真正题意:求$$f_i=\sum_{j=1}^{\lfloor i A \rfloor} \frac{M_i M_j}{i j}$$ 似乎只能$O(n \lfloor n A \rfloor)$求 但是 ,注意 于是对于较大的$i$来说,$f_i
阅读全文
摘要:"传送门" 看到唯一的依赖关系,容易想到树型dp,即$f_{i,j}$表示选点$i$及子树内连通的点,代价为$j$的最大价值,然后就是选课那道题 但是要注意 1.题目中的依赖关系不一定是树,可能会有环,我们可以发现环里面的点要么全选要么全不选,要用tarjan把环缩为一个点,同时把代价和价值加到缩后
阅读全文
摘要:"传送门" 首先那个$O(n^2)$的dp都会吧,不会自己找博客或者问别人,或是去做 "模板题" (误) 对以下内容不理解的,强势推荐 "flash的博客" 我们除了原来记录最长上升子序列的$f_{i,j}$,再记$g_{i,j}$表示到$i,j$时的最长上升子序列个数,同时设两个字符串为$A,B$
阅读全文
摘要:"传送门" 这道题可以二进制记录状态搜索 也可以做以下考虑 若一个棋子要移动到另一个位置上去,则步数为两点的曼哈顿距离(横坐标差的绝对值+纵坐标差的绝对值),因为假设路径上有其他的棋子,可以通过移动其他棋子,做到等价于这个棋子无视其他的棋子直接走到目标点 举个栗子 $\begin{matrix}0&
阅读全文
摘要:统计方案,~~果断~~ dp 注意到合法方案即为每一行,每一列的棋子数不超过2 设$f_{i,j,k}$表示放到第$i$行,有$j$列可以放2个,有$k$列可以放1个的方案 然后就随便讨论一下 详见代码 cpp // luogu judger enable o2 include define LL
阅读全文
摘要:树的直径两遍dfs救星了 至于一定在直径中的边数,可以发现这些边一定是连续的(~~不然你两条直径中间能有空挡?~~),然后,如果某个点往下有多条直径,那么这条点以下都不算入答案.所以以直径分别两端点为根,找出这样离根最近的点(注意 最远的点 就是另一个端点),然后找到那两个点的距离就是答案 cpp
阅读全文
摘要:看着就是要打表找规律 使用以下代码 cpp for(int i=3;i include include include include include include include include define LL long long define il inline define re reg
阅读全文
摘要:M_sea:这道题你分析完后就是一堆板子 ~~废话~~ 理解完题意后,我们要求的东西是$G^s(s=\sum_{d|n} \binom{n}{d})$ 但是这个指数$s$算出来非常大,,, 我们可以利用 费马小定理 $a^{(p 1)}\equiv1(mod\ p)(gcd(a,p)=1)$ 由此我
阅读全文
摘要:这题一看就知道和拓扑序有关 考虑拓扑排序的时候每次取队列里最小的数进行排序 然后就$\mathcal{GG}$了,因为这样只能使字典序最小,而并不能保证题目中要求的每个编号的数要在满足前面数尽量在前面的同时自己尽量在前面 例如 我这里先是想从小到大依次考虑每个数,把这个数在$DAG$上的前驱全部用前
阅读全文
摘要:这道题我一上来只会80 还是要感谢题解区大佬题解的帮助 先考虑若$xy,xz$为完全平方数,则$yz$也为完全平方数,因为$xy xz=x^2yz$为完全平方数,除掉$x^2$就行了 所以所有两两乘积为完全平方数的数可以放在一个集合中,用并查集合并即可. 若每个并查集都是一种颜色,所以现在问题变成有
阅读全文
摘要:~~去tm插头dp~~ 数据范围这么~~小~~,又要求,显然上dp 设$f[i][j][k]$表示放到第$i$行,总共放了$j$个那啥,第$i$行的格子状态为$k$的方案 先预处理出一行内状态的放置个数和格子状态,因为那啥占据周围一圈的格子,所以转移时前后两行格子状态没有交集的状态转移 cpp in
阅读全文

浙公网安备 33010602011771号