随笔分类 - BZOJ
摘要:题意: m次询问,问下标最小字典序的长度为x的LIS是什么 n<=10000, m<=1000 思路: 先nlogn求出f[i]为以a[i]开头的LIS长度 然后贪心即可,复杂度nm 我们正常求LIS处理出的low[i]为长度为i的LIS结尾最小元素,f[i]为以a[i]结尾的LIS长度 为了迎合题
阅读全文
摘要:题意: 4种硬币买价值为V的商品,每种硬币有numi个,问有多少种买法 1000次询问,numi<1e5 思路: 完全背包计算出没有numi限制下的买法, [HAOI2008]硬币购物否
阅读全文
摘要:题意: 求长度为n的不含长为m的指定子串的字符串的个数 1s, n<=1e9, m<=50 思路: 长见识了。。 设那个指定子串为s f[i][j]表示长度为i的字符串(其中后j个字符与s的前j个字符一致的情况下)的方法数 若匹配到s串长度为i的后缀加一个字符num可以组成最长长度为j的后缀,设a[
阅读全文
摘要:题意: 若$a_1+a_2+\cdots+a_h=n$(任意h<=n),求$lcm(a_i)$的种类数 思路: 设$lcm(a_i)=x$, 由唯一分解定理,$x=p_1^{m_1}+p_2^{m_2}+\cdots+p_{tot}^{m_{tot}}$ 设$b_i=p_i^{m_i}$, 则能组成
阅读全文
摘要:题意: 求无向图中从s到t路径上权值最大比最小的值最小的路径,输出这个值 思路: 满足这样一种关系的路径一定在权值连续的边集里! 我们只需要对权值排序,然后枚举区间求最值即可。 代码:
阅读全文
摘要:题意: 求最小生成树的个数 思路: 网上很多题解都是矩阵树, 由克鲁斯卡尔的步骤可以知道mst的每一种边权选的条数是固定的,所以我们dfs具体每种权值选哪几条并不会成环的方案数,相乘即可 dfs是参考网上的,我是不会的 代码:
阅读全文
摘要:题意:在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。n<=9 思路:状压dp,dp[i][j][k]为前i行放了j个,第i行状态为k 代码:
阅读全文
摘要:题意: 在一个有向图中,求一个点集的大小,这个点集里所有的点都由图中的其他点到达 思路: 这个点集一定是一个强连通分量 先对有向图进行缩点变成DAG,DAG中出度为0的点如果只有一个,那答案就是这个,否则没有答案
阅读全文
摘要:/************************************************************** Problem: 1026 User: wrjlinkkkkkk Language: C++ Result: Accepted Time:60 ms Memory:1288 kb *********************...
阅读全文
摘要:题意+思路: 给你m个区间询问,问每个区间内的$\displaystyle \frac{\sum x^2-(R-L+1)}{(R-L)(R-L+1)} $,其中x为每种数字的个数,用cnt存储; 所以我们需要用莫队处理每个区间的$\displaystyle \sum x^2 $ 相邻状态转移如果是$
阅读全文
摘要:题意: 给定n, k,求$\displaystyle \sum_{i=1}^nk\;mod\;i$ n,k<=1e9 思路: 先转化为$\displaystyle \sum_{i=1}^n(k-i\lfloor\frac{k}{i}\rfloor)=\displaystyle \sum_{i=1}^
阅读全文
摘要:题意: 定义函数Concatenate (1 ..N)是将所有正整数 1, 2, …, N 顺序连接起来得到的数,如concatenate(1..5)是12345,求concatenate(1...n)%m的值 思路: 矩阵快速幂,公式为 $$\left[\begin{matrix}f(n)\\n\
阅读全文

浙公网安备 33010602011771号