随笔分类 - 贪心
摘要:## D. Directed Roads   B - Planets ## 题意 输入 n(2≤n≤1e5) k(2≤k≤100) 和一棵无向树的 n-1 条边(节点编号从 1 开始),每条边包含 3 个数 x y c,表示有一条颜色为 c 的边连接 x 和 y,其中 c
阅读全文
摘要:题目 (Fake Plastic Trees)[https://codeforces.com/problemset/problem/1693/B] 题意 输入 T(≤1e3) 表示 T 组数据。所有数据的 n 之和 ≤2e5。 每组数据输入 n(2≤n≤2e5) 表示一棵 n 个节点的树,编号从 1
阅读全文
摘要:题目 D1. Range Sorting (Easy Version) 题意 给一个整数n和一个数组a[1~n] 一次次排序操作的代价是,r - l 求把所有子数组,排成有序的最小代价和 思路 easy版本可以用O( )的算法,我们可以枚举左右端点 假设一段的最优排序方法如图 任意长度的一段
阅读全文
摘要:题目 E. Generate a String 题意 输入三个不同的整数 。 从 0 开始,每次可以 + 1 , - 1 ,代价是x,或者当前值 * 2,代价是y 问怎样才能到达n用最小的代价 思路 第一方法是暴
阅读全文
摘要:题目 B. Tree Tag 题意 思路 因为这是一颗树,所以不管怎么追逐,我们都可以理解为在同一条路上追逐(去掉我们不走的路,就是一个线段) 首先,如果da > db,显然能追上,进一步,da == db时,因为路径的长度是有限的,也显然可以追上 因为树上任意两点的最短路径是固定的,所以a点可以一
阅读全文
摘要:题目 Codeforces Round 866 (Div. 2)D. The Butcher 题意 n个数对a,b,表示矩形 这n个矩形通过原先一个大矩形分割而来 每次分割只在上一次分割的矩阵其中之一 现在原先的矩阵大小未知,问有原先的矩阵(在切割过程中不会旋转矩阵)多少种,并输出 保证至少存在一种
阅读全文
摘要:题目 D. Program 题意 给一个长度为n的‘+’,‘-’序列,表示+1和-1 在给m个查询,问忽略[l,r]之间的序列,能走到多少个不同的数字 思路 分为前后缀计算,前缀计算比较简单关键是后缀计算 后缀上,需要关注能够到达的最小值和最大值 定义sufL[i]和sufR[i]分别表示为到达的最
阅读全文
摘要:https://codeforces.com/contest/1762/problem/D 给一个长度为n的permutation,每次一个询问,得到结果为gcd(i,j),请在2*n次之内找到那个是0(或者哪两个之中之一是0) 思路 三个指针i,j,k(i<j<k) 令x=gcd(a[i],a[j
阅读全文
摘要:https://atcoder.jp/contests/arc120/tasks/arc120_c 势能就是i + a[i],很有用的结论 对于能完成交换,从A变成B,势能数组一定相同 找出最小交换次数,贪心的方案是:最近的先交换 找到最近的在可以用数组数组和set实现 具体细节见代码 #inclu
阅读全文
摘要:题目 1811E - Living Sequence 题意 找出第n个,数位中不含‘4’的数字 思路 数位dp + 二分 唯一要注意的就是纯dfs搜索会卡常(hh,就是复杂度太高了),用上一点记忆化 代码 const int N = 14; int dp[N][N]; int a[N]; int l
阅读全文
摘要:题目 D - Umka and a Long Flight 题意 给一个整数n(1 <= n && n <= 44) 再给衣柜坐标x,y,从1开始,表示在一个长为f(n+1),宽为f(n)的长方形里的某一个1*1的小正方形 长为f(n+1),宽为f(n)的长方形,由两个1*1的正方形拼成,然后由2
阅读全文
摘要:题目 C. Binary Search 题意 给一个数字n,构造出一个全排列的数组a,满足上面二分结果为true 请求出不同全排列数组a的数量,答案模1e9+7 思路 模拟:按照二叉查找树的思路,模拟这个二分所有可能遇到的mid,使得判断条件成立(为什么落在最后的点上?因为是折半查找,搜索树上没有重
阅读全文
摘要:题目 https://codeforces.com/contest/1808/problem/C 题意 给两个数 l 和 r 请找出再这个范围内的一个数字,使得按数位这个数字中的数最大值和最小值之差最小 思路 当 l 和 r 的数位长度不一样时,可
阅读全文
摘要:题目 https://codeforces.com/contest/1804/problem/D 题意 给 n 个长度为 m 的 01 字符串,m mod 4 = 0 把字符串切割成 m/2 个单个字符和 m/4 个连续的两个字符 切割后的字符串中存在 1 ,价值 +1 问最大切割价值和最小切割价值
阅读全文
摘要:题目 https://codeforces.com/problemset/problem/1054/D 题意 输入正整数 n(≤2e5) k(≤30) 和长为 n 的数组 a(0≤a[i]≤pow(2,k)-1)。 设 mask = (1<<k)-1,每次操作你可以把任意 a[i] 修改为 a[i]
阅读全文
摘要:模板题目 https://www.acwing.com/problem/content/907/ 题意是给一些区间,问至少取多少个点,让所有区间里至少有一个点 上面这个是区间选点的模板贪心 按照右端点排序,可以发现相邻的区间只有三种情况 $L_2 \leq L_1 \leq R_1 \leq R_2
阅读全文
摘要:题目 https://codeforces.com/contest/1379/problem/C 题意 输入 t(≤1e4) 表示 t 组数据。所有数据的 m 之和 ≤1e5。 每组数据输入 n(≤1e9) m(≤1e5) 表示有 m 种物品,每种物品有无限个,你需要选择 n 个。 然后输入 m 行
阅读全文
摘要:## 题目 - https://leetcode.cn/problems/triples-with-bitwise-and-equal-to-zero/description/?orderBy=most_votes ## 思路 - *[参考灵神题解,非常易懂,总结一些方法](https://leet
阅读全文
摘要:题目 https://codeforces.com/problemset/problem/1554/C 题意 输入 t(≤3e4) 表示 t 组数据,每组数据输入两个整数 n 和 m,均在 [0,1e9] 范围内。 定义数组 a = [n xor 0, n xor 1, n xor 2, ...,
阅读全文