随笔分类 - 洛谷
摘要:Description "【SCOI2010】股票交易" 在T天时间内,第$i$天股票购入价为$ap_i$,出售价为$bp_i$,每天最多购入$as_i$股,最多出售$bs_i$股 任意时刻手中的股票数不能超过$Maxp$,且两次交易至少间隔$W$天 最大化收益,初始资金视为无限大 Solution
阅读全文
摘要:Description 【NOIP2012】开车旅行 (题面太长不想描述……) Solution 由于题目很复杂,所以我们将这道题分成三个部分分析 主要思路:dp+倍增+链表+离散化 Step1:预处理出这两个人从每一个城市出发的下一个城市 将这一步的答案记为$ga[i],gb[i]$ 城市高度差=
阅读全文
摘要:Description 给定$n$, $m$,求十进制$n$位数每个位数之积等于k的方案数 Solution dp+高精+数学 考虑$k=0$的情况,由于可以有若干个$0$,所以方案数为$\sum\limits_{i=1}^{n}{n\choose m}\times 9^{n-i}$ 考虑另外的情况
阅读全文
摘要:Description 【CF1207F】Remainder Problem 给定一个序列,支持如下操作: 将$x$位置的值加上$y$ 求出$\sum\limits_{i\ mod\ x= y}{a_i}$的值 Solution 类似于分块的思路 可以肯定,$O(n^2)$肯定是T飞了 我们假设以T
阅读全文
摘要:Description 【CF1197D】Yet Another Subarray Problem 给定一个序列和m,k,求出一个子序列使得$\sum\limits_{i=l}^{r}{a_i}-k\times \lceil \frac{r-l+1}{m}\rceil$最大 特别地,一个长度为0的子
阅读全文
摘要:Description 给定一个整数序列,每次操作可以将某一个元素的值+1或-1,求最少需要多少次操作可以使得序列每个元素的乘积等于1 Solution dp 一些数的乘积等于1,那么说明序列中一定只含有1或者是-1,而且-1出现的次数必须为偶数 那么我们定义$f[i][1/0]$表示前$i$个数,
阅读全文
摘要:Description 【HAOI2008】硬币购物 给定4种硬币的价值。若干组询问,每次给出4种硬币的数量和要购买的花费,求恰好购买的方案数 Solution 背包dp计数+容斥 如果不考虑硬币数量的限制,那么这个问题就是完全背包方案数问题,一遍dp就可以解决 现在加上数量的限制,那么合法方案数就
阅读全文
摘要:Description UVa#11806 在一张$n\times m$的网格图中放k个人,要求第一行第一列最后一行最后一列都必须放人,每个人都必须放,同一位置只能有一个人 求方案数对1e6+7取模的结果 Solution 容斥原理+状压 由于非法的方案数十分好求,所以我们考虑用总数-非法方案数来求
阅读全文
摘要:Description UVa#10325 给定n和m个数,求1~n中不被这m个数中任意一个数整除的数的个数 Solution 容斥原理 假设现在求1~n中被这a,b中任意一个数整除的数的个数 这个区间中能被a整除的数的个数是$\lfloor\frac{n}{a}\rfloor$ 同理,能被b整除的
阅读全文
摘要:Description 维护一个数列的如下操作: 在某个位置后插入一段数列 在某个位置后删除一段数列 将连续的一段数列修改为某个值 将一段数列翻转 求一段数列的和 求整个数列的最大子段和 Solution 魔鬼Splay题 用Splay维护序列,以下标为权值建树。 如果插入一段序列,我们就将这段序列
阅读全文
摘要:Description 给定一棵树,求它的最小点权覆盖集,其中允许强制某个点选或不选 Solution ddp用LCT维护 明确一个关系式:最小点权覆盖集=全集-最大点权独立集 那么n≤2000的暴力就很简单了,暴力修改,然后求最大点权独立集就好了(我在考场上就是这么写的) 关于正解,我采用的是动态
阅读全文
摘要:Description 给定一棵树,点带点权,允许修改点权,求每次修改之后树的最大独立集 Solution ddp用LCT维护 前置知识(静态树的最大独立集问题) 首先,我们要明确静态树的最大独立集的解法 定义$f[i][0/1]$表示在以$i$为根的子树中,该节点选/不选的最大权值,那么有状态转移
阅读全文
摘要:Description 给定一张无向图,边有a,b两种边权,求一条1~n的路径,使得路径上a最大值与b最大值之和尽可能小 Solution LCT维护生成树 将边按照a从小到大排序,然后顺序考虑每一条边 如果当前这条边的两个端点没有联通,那么直接在LCT上连边即可 如果当前这条边的两个端点已经连通,
阅读全文
摘要:Description 给定一张n个点,m条边的无向图,求出边权最大值和最小值差值最小的生成树 Solution LCT+并查集 按照最小生成树的思路,先将边按照边权从小到大排序,然后顺序考虑每一条边 如果当前这条边的两个端点没有连通,那么直接连通 如果两个端点已经连通,我们加上这条边会形成一个环,
阅读全文
摘要:Description 给定n个点的树,每个点有点权,维护如下操作: 将某一条链上的点的点权加或者乘一个数 将原有的一条边删除,加入一条新边,并保证操作完之后是一棵树 询问某一条链上所有点权之和 Solution LCT维护 每一个点维护如下信息:父亲,儿子,点权,子树大小,子树的点权和,翻转标记,
阅读全文
摘要:Description 给定$p$,求$2^{2^{2^{2^{2^{...}}}}}\mod p$的值,多组询问。 Solution 首先我们要知道欧拉定理的推论: 在b,p互质时,存在$a^b\equiv a^{b\mod \phi (p)}\pmod p$ 在b,p不互质且b>φ(p)时,存在
阅读全文
摘要:Description 给定一个环形的01序列,保证任意相邻的m个值中有不超过k个1,求满足要求的方案数对1e9+7取模的值 Solution 状压dp+矩阵快速幂 由于m的范围很小,所以我们考虑状压dp存储状态,而由于n很大,所以我们考虑矩阵快速幂优化转移 我们定义$f(i,j)$表示前i个数最后
阅读全文
摘要:Description 定义序列a的通项公式为$a_i=\left\{\begin{aligned}1 && i \leq 3 \\a_{i-1}+a_{i-3} && i \geq 4\end{aligned}\right.$ 求序列a的第n项对1e9+7取模的值 Solution 由于n的值很大
阅读全文
摘要:Description 给定n,求斐波那契数列第n项对1e9+7取模的值 Solution 由于数据太大,朴素的递推会超时,所以我们考虑用矩阵优化。 首先我们要明确矩阵乘法的运算法则,假设A是一个n*m的矩阵,B是一个m*p的矩阵,C是一个n*p的矩阵且满足C=A*B,那么存在 $$C_{i,j}=
阅读全文
摘要:Description 给定一棵树,树上节点有点权、边有边权,求出一个点ans,使得cost最小,其中$cost=\sum\limits_{i=1}^{n}{val[i]*dis(ans, i)}$ Solution 树形dp 依旧是通过两次dfs解决 核心思想还是“二次扫描与换根法”(名词出自ly
阅读全文

浙公网安备 33010602011771号