摘要:
数论分块 通常用来解决 \(\sum_{i=1}^n\lfloor\frac{n}{i}\rfloor\) 这种问题。 我们代入 n = 10。 i 1 2 3 4 5 6 7 8 9 10 \(\lfloor\frac{n}{i}\rfloor\) 10 5 3 2 2 1 1 1 1 1 可以看 阅读全文
摘要:
2020蓝桥杯c++ A组 皮亚诺曲线距离 时间限制: 1.0s 内存限制: 256.0MB 【问题描述】 皮亚诺曲线是一条平面内的曲线。 下图给出了皮亚诺曲线的 1 阶情形,它是从左下角出发,经过一个 3 × 3 的方格中的每一个格子,最终到达右上角的一条曲线。 下图给出了皮亚诺曲线的 2 阶情形 阅读全文
摘要:
题目链接 思路 把左上角的坐标看做 \((0 , 0)\),右上角的坐标为 \((0,2^n-1)\),左下角的坐标为 \((2^n-1,0)\),右下角坐标为 \((2^n-1,2^n-1)\)。 街区的标号也从 $0$ 开始。 现在对于给定的两个距离,我们要分别求出他们的坐标。 现在给出等级为 阅读全文
摘要:
题目链接 题意 现在有 n 个学生,第 i 个学生所在班级为 \(c_i\)。 现在他们要去上学,某个学生在去上学的路上可能会遇到其他的学生并加入到该集合。 现在有两种操作: x y,表示第 x 个学生所在集合和第 y 个学生所在集合相遇 x y 表示查询和第 x 个学生在同一个集合中 y 班级的学 阅读全文
摘要:
题目链接 题意 给出一个二维矩阵,问是否可以通过让某些数字 + $1$,使得矩阵中任意两个相邻的数字不相等。 思路 直接按照 偶 奇 偶 奇 奇 偶 奇 偶 的排列即可。 代码 #include <bits/stdc++.h> #define pb push_back using namespace 阅读全文
摘要:
D.Tree Requests 题目链接 给出一棵树,每个节点都有一个字母,现在有 m 个询问,每个询问给出两个值 : u,dep。 u 的子树中深度为 dep 的所有字母,全部使用,可以以任意顺序排列是否可以构成一个回文串。 判断是否可以构成回文串不难,只要 26 个字母中在那一层出现的次数为奇数 阅读全文
摘要:
题目链接 题意 现在有 n 瓶已经打开的可乐,每瓶可乐有两个值 \(a_i\):剩余的可乐容量,\(b_i\):瓶子的体积。 现在可以把一个瓶子里的可乐倒向其他瓶子,倒体积为 \(x\) 的可乐花费的时间为 \(x\)。 问最少需要几个瓶子可以装这些可乐,以及倒可乐花费的最少时间。 思路 01背包 阅读全文
摘要:
dsu on tree 树上启发式合并 题目 U41492 树上数颜色 给出一颗根为 $1$ 的树,每次询问子树颜色种类数 暴力统计 直接暴力统计每颗子树的颜色种类。 按理说这是一道 dsu on tree 的模板题目,但是竟然直接暴力过掉了 暴力方法: 首先向下 DFS,算儿子节点的答案,递归后来 阅读全文
摘要:
题目链接 题意 给出一个长度为 n 的全排列,以及 m 个删除操作,每个操作给出要删除的数字。请输出每个删除操作前序列的逆序对数量。 思路 我们可以求出整个序列的逆序对数量,然后对于每个删除操作,找出这次删除操作会减少多少个逆序对。 当前删除的数字为 \(a_i\) ,其位置为 \(pos_i\) 阅读全文
摘要:
gym比赛链接 题意 现在有个赛马比赛,有三个人赌马,给出了自己猜的马的排名。 即三个全排列,问有多少匹 "马对" \({i,j}(i<j)\) ,在三个人猜的排名中,相对顺序都一样。 思路 对于两匹马 \({i,j}\) ,当 i 在三个人中的位置都分别小于 j 在三个人中的位置时,会对答案贡献 阅读全文