12 2019 档案
摘要:题目链接: "https://loj.ac/problem/6279" 题目描述 给出一个长为 的数列,以及 个操作,操作涉及区间加法,询问区间内小于某个值 的前驱(比其小的最大元素)。 输入格式 第一行输入一个数字 。 第二行输入 个数字,第 个数字为
阅读全文
摘要:题目链接: "https://loj.ac/problem/6278" 题目描述 给出一个长为 的数列,以及 个操作,操作涉及区间加法,询问区间内小于某个值 的元素个数。 输入格式 第一行输入一个数字 。 第二行输入 个数字,第 个数字为 ,以
阅读全文
摘要:题目链接: "https://loj.ac/problem/6277" 题目描述 给出一个长为 的数列,以及 个操作,操作涉及区间加法,单点查值。 输入格式 第一行输入一个数字 。 第二行输入 个数字,第 个数字为 ,以空格隔开。 接下来输入
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P1020" 题目大意: 给你一串数,求: 1. 这串数的最长不上升子序列的长度; 2. 最少划分成多少个子序列是的这些子序列都是不上升子序列。 第一个问题比较简单,就是用二分的方法 O(log n) 可以解决这个问题。
阅读全文
摘要:题目链接: "http://codeforces.com/contest/1272/problem/E" 题目大意: 有一个长度为n的数组 ,数组坐标从 到 。 假设你现在处于数组中的某一个位置,我们假设这个坐标为 ,那么: 如果 ,则标记
阅读全文
摘要:题目链接: "http://codeforces.com/contest/1272/problem/D" 题目大意: 给你一个长度为 的数组,你最多删除一个元素(也可以不删),求此条件限制下的最长上升子串长度。 解题思路: 本题涉及算法:动态规划。 首先这里有一个条件“你最多可以删除一个元素
阅读全文
摘要:题目链接: "http://codeforces.com/contest/1277/problem/A" 题目大意: 求区间 范围内有多少只包含一个数字的数。 比如: 都是只包含一个数字的数,而 $12,11110,6969,987654321
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P1832" 题目大意: 给定一个正整数n,求将其分解成若干个素数之和的方案总数。 解题思路: 首先找到所有 的素数; 将问题转换成一个容量为 的背包,以及若干件体积和价值相同的物品,他们对应求出
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P4141" 题目大意: 有 件物品,求第 件物品不能选的时候( 从 到 )0 1背包方案数。 解题思路: 传统方法 遍历每一遍不选的物品,然后对剩余的物品求01背包方案数。 时间复杂
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P1189" 题目大意: 给你一个 的矩阵,其中有一些格子可以走,一些各自不能走,然后有一个点是起点。 你走了 次,每次走的方向(上下左右四个方向)是知道的,但是不知道的是你每次走了多少
阅读全文
摘要:首先来看一道题题: 安娜写宋词 题目背景 "洛谷P5664 Emiya 家今天的饭【民间数据】" 的简化版本。 题目描述 安娜准备去参加宋词大赛,她一共掌握 个 __词牌名__ ,并且她的宋词总共有 个不同的 __主题__ 。 为了方便描述,我们对词牌名从 ~ 编号,
阅读全文
摘要:题目链接: "http://poj.org/problem?id=2186" 题目大意: 每头牛都想成为牛群中的红人。 给定N头牛的牛群和M个有序对(A, B),(A, B)表示牛A认为牛B是红人; 该关系具有传递性,所以如果牛A认为牛B是红人,牛B认为牛C是红人,那么牛A也认为牛C是红人。 不过,
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P1462" 题目大意: 有 个点 条边,每个点有一个点权,每个边有一个边权。求所有长度不超过 的路径中的点权最大值的最小值。 解题思路: 二分答案 (即点权最小值),每次求最短路查看有没有
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P1147" 题目大意: 给你一个数 ,求有多少对连续自然数对之和为 ,输出这列连续自然数对的首项和末项。 解题思路: 枚举连续自然数对的元素个数 。 因为连续自然数对的元素个数越多,则首项越小,所
阅读全文
摘要:题目链接: "https://www.luogu.org/problem/P3313" 这道题目就是树链剖分+线段树动态开点。 首先我们来理解一下这道题目的线段树部分。 如果这不是树链上面的操作,而是区间上面的操作,那么我们可以这么解决。 它最多有 种颜色,而我们需要每种颜色动
阅读全文
摘要:题目链接: "https://www.luogu.org/problem/P2486" 首先这是一道树链剖分+线段树的题。 线段树部分 线段树区间操作,每一个线段对应的点包含三个信息: :表示这个区间最左边的点的数值; :表示这个区间最右边的点的数值; :表示这个区间有多少个数
阅读全文
摘要:题目链接: "https://www.luogu.org/problem/P3178" 这道题目是一道树链剖分的模板题。 但是在解决这道问题的同事刷新了我的两个认识: 第一个认识是:树链剖分不光可以处理链,还可以处理 __子树__ ,因为: 节点 的子树中所有的点的编号都覆盖在 到 这个区间内! 第
阅读全文
摘要:题目链接: "https://www.luogu.org/problem/P2146" 本题涉及算法: 树链剖分; 线段树(区间更新及求和,涉及懒惰标记) 然后对于每次 ,需要将 到 的路径上面的点全都置为1。 那么在置为1之前统计一下节点数量 num1, 在置为1之后统计一下节点数量 num2,
阅读全文
摘要:题目链接: "https://www.luogu.org/problem/P2590" 树链剖分模板题。 剖分过程要用到如下7个值: :u的父节点编号; :u的深度; :u为根的子树中节点总数; :u的重儿子; :u所在的重链的顶部节点; :u在线段树中的位置; :seg的倒置,即 。 然后套线段树
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P2602" 题目大意: 计算区间 范围内 各出现了多少次? 解题思路: 使用 __数位DP__ 进行求解。 定义一个结构体数组 表示满足如下条件时 $
阅读全文
摘要:题目链接: "http://acm.hdu.edu.cn/showproblem.php?pid=5521" 题目大意: 有 个点 个集合,一个点可能处于若干个集合内,属于第 个集合的任意两点间的距离是 ,点 是起点,点 是终点。 你现在需要找到所
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P3413" 题目大意: 定义萌数指:满足“存在长度至少为2的回文子串”的数。 求区间 范围内萌数的数量。 解题思路: 使用 __数位DP__ 进行求解。 定义状态 表示
阅读全文
摘要:题目链接: "http://acm.hdu.edu.cn/showproblem.php?pid=4352" 题目大意: 求区间 范围内最长上升子序列(Longest increasing subsequence,简称LIS)长度为 的数的数量。 举个例子: 的L
阅读全文
摘要:题目链接: "https://codeforces.com/contest/1265/problem/E" 题目大意: 有 个步骤,第 个步骤成功的概率是 ,每一步只有成功了才会进入下一步,失败了会从第 步重新开始测。请问成功的期望步数是多少? 解题思路: 设期望
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P1002" 题目大意 棋盘上点有一个过河卒,需要走到目标点。卒行走的规则:可以向下、或者向右。同时在棋盘上CC点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P1036" 题目描述 已知 个整数 ,以及 个整数 $k(k using namespace std; bool check(int num) { if (num = n
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P1035" 题目描述 已知:。显然对于任意一个整数 ,当 足够大的时候,。 现给出一个整数 ,要求计算出一个最小的 ,使得 $S_n
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P1427" 题目大意: 给你一串数(输入到0为止),倒序输出这些数。 解题思路: 首先这道题目可以用数组存数据,然后输出。 实现代码如下: 但是我们也可以不开数组来实现这个功能,那就是以递归的方式。 实现代码如下:
阅读全文
摘要:题目链接: "http://acm.hdu.edu.cn/showproblem.php?pid=3886" 题目大意: 给一定区间 ,一串由 , , 组成的符号串。求满足符号串要求的数字个数。 要求如下: 表示数字从左到右递增; 表示数字从左到右递减; 表示数字从左到右相等。 第一
阅读全文
摘要:题目链接: "http://acm.hdu.edu.cn/showproblem.php?pid=4507" 题目大意: 找到区间 范围内所有满足如下条件的数的 __平方和__ : 不包含‘7’; 不能被 7 整除; 各位之和不能被 7 整除。 注意:求的是满足条件的数的 __平方和
阅读全文
摘要:题目链接: "http://acm.hdu.edu.cn/showproblem.php?pid=3709" 题目大意: 求区间 范围内“平衡数”的数量。 所谓平衡数是指:以某一位为支点,它左边的所有位的数乘以它到支点的距离之和等于它右边的所有位的数乘以它到支点的距离之和。 比如,
阅读全文
摘要:题目链接: "http://acm.hdu.edu.cn/showproblem.php?pid=3652" 题目大意: 求区间 范围内包含连续的数位“13”并且能被13整数的数的数量。 解题思路: 使用 __数位DP__ 进行求解。 开一个状态 $f[pos][pre][num]
阅读全文
摘要:题目大意: 求区间 范围内有多少数的二进制表示中的‘0’的个数 ‘1’的个数。 解题思路: 使用 __数位DP__ 解决这个问题。 我们设状态 表示在: 当前所在数位为 ; 当前选择的‘0’的个数为 ; 当前选择的‘1’的个数为 ; 到当前位位置是不是前面的数都是前导零(
阅读全文
摘要:题目链接: "http://acm.hdu.edu.cn/showproblem.php?pid=4734" 题目大意: 对于一个 位十进制数 (),我们定义 $$F(x)=A_n \times 2^{n 1} + A
阅读全文
摘要:题目链接: (请自行百度进Ural然后查看题号为1057的那道题目囧~) 题目大意: Create a code to determine the amount of integers, lying in the set and being a sum of exactly
阅读全文
摘要:题目链接: "https://www.luogu.com.cn/problem/P2657" 题目大意:找区间 范围内 __不含前导零__ 且 __相邻两个数字之差至少为2__ 的正整数的个数。 题目分析: 这道题目使用 __数位DP__ 进行求解。 这里有两个条件: 1. 不含前导
阅读全文