数组 小子1845d cf
CF414B - Mashmokh and ACM
思路 dp。dp[i][j]表示第i位填j时的方案数 ac代码 #include <bits/stdc++.h> using namespace std; using i64 = long long; const i64 inf = 8e18; typedef pair<int, int> pii; ......
CF-613-D
613-D 题目大意 给定一颗\(n\)个节点的树。 \(q\)组询问,每组询问给定\(k\)个点,问至少要删除树中多少个点才能使这\(k\)个点两两不连通,无解则输出\(-1\)。 这里\(\sum{k_i}\)的规模大致和\(n\)相当。 Solution 虚树模板题。 暴力的做法是每组询问都对 ......
CF1201C - Maximum Median
思路 二分答案。对于一个mid,查询中位数要是为mid的话至少要做多少次操作,最小操作次数就是排序后从中位数开始计算max(0, mid - v[i])的和 ac代码 #include <bits/stdc++.h> using namespace std; using i64 = long lon ......
类模板实现简单的数组
//Myarray.hpp #pragma once template<class T> class MyArray { public: MyArray(int capacity) { this->mCapacity = capacity; this->msize = 0; this->p = ne ......
CF1876D Lexichromatography
CF1876D Lexichromatography Luogu CF1876D 题目描述 给定一个长为 \(n\) 的序列 \(a\),你需要对这个序列进行红蓝染色。染色有如下要求: 每个位置恰好染上其中一种颜色。 对于所有的值 \(k\),在这个序列的任意子区间 \([l,r]\) 中,值为 \ ......
AT_cf17_final_j 题解
题意 给定一棵既有点权也有边权的树,构造一个完全图,图中两点间边的边权为树中两点点权之和加上两点间的距离,求该图的最小生成树。 思路 发现完全图总边数太大,考虑减少边数。 这里有一个性质: 如果在一个图中选取任意个联通的边集,使得它们的并为全集,则整个图的最小生成树中的边一定在 分割后的两个边集的最 ......
CF1900E 题解
题意 给你一张有向图,点有点权,现进行以下操作直到无法进行: 选择两条首尾相连的边 \((a,b)\) 和 \((b,c)\) 且 \(a\) 与 \(c\) 间没边,添加边 \((a,c)\)。 求操作完后图中最长的 不经过重复点的路径,并求这种路径中经过的点的点权和最小值。 思路 先考虑 DAG ......
CF1896E 题解
题意 给一个 \(n\) 阶全排列 \(a\),每次把不满足 \(a_i = i\) 的 \(a_i\) 向右循环移位一位,问从移位多少次后起所有 \(i \in [1,n]\) 都满足 \(a_i = i\)。 思路 先断环成链后再复制一次,可以发现此时的移位等价于向右移位。发现一条性质:若 \( ......
CF713D 题解
题意 给一个 \(01\) 矩阵,多次求在给定区间内最大的全 \(1\) 正方形边长。 思路 容易想到二分: 先预处理出以每个位置为右下角的最大合法正方形的边长 \(mx_{i,j}\),然后对于每个询问,我们二分边长 \(mid\),设当前询问的区间左上角为 \((x_1,y_1)\),右下角为 ......
CF1900E 题解
题意 给你一张有向图,点有点权,现进行以下操作直到无法进行: 选择两条首尾相连的边 \((a,b)\) 和 \((b,c)\) 且 \(a\) 与 \(c\) 间没边,添加边 \((a,c)\)。 求操作完后图中最长的 不经过重复点的路径,并求这种路径中经过的点的点权和最小值。 思路 先考虑 DAG ......
CF1284E New Year and Castle Construction
New Year and Castle Construction Luogu CF1284E 题目描述 给定大小为 \(N\) 的点集 \(S\)。保证点集中的任意三点不共线,且不存在重复的点。 设 \(f(p)\) 表示满足如下条件的 \(S\) 的四元子集 \(T\) 的个数: \(T \sub ......
数组内存图
![](https://img2024.cnblogs.com/blog/3366232/202401/3366232-20240113144029305-1932694703.png) ![](https://img2024.cnblogs.com/blog/3366232/202401/3366... ......
数组
![](https://img2024.cnblogs.com/blog/3366232/202401/3366232-20240113095851590-2060885679.png) ![](https://img2024.cnblogs.com/blog/3366232/202401/3366... ......
CF-87-D
87-D 题目大意 给定一颗\(n\)个节点的树,边带权。 现在要枚举所有路径,对于一条路径,取边权最大的边给它得分加\(1\);若有多个权最大的边,则这些边的得分都加\(1\)。 输出最后所有边中的最大的得分是多少,有多少条得分最大的边。第二行输出这些得分最大的边的编号 Solution 首先考虑 ......
CF1506D - Epic Transformation
思路 用优先队列模拟 ac代码 #include <bits/stdc++.h> using namespace std; using i64 = long long; const i64 inf = 8e18; typedef pair<int, int> pii; const int N = 5 ......
1.12_redis 的存取在最后 晚上_浙江本地环境的header不能用线上的_header中host和refer分别代表什么意思?_模型的save()参数是数组怎么理解?
方便点1: 问题: 为什么这个浙江的这个线上的header用到本地就不行,而熊师爷的这个却可以? 线上的 header中的host 本地的 header中的host 根据上面弄得对照关系 header中host和refer分别代表什么意思? 活1: 分析如下: 上面分析出现的问题:既然只统计:开业状 ......
CF678F Lena and Queries题解
题目链接:CF 或者 洛谷 可以看到查询和插入就是李超线段树的基本操作,但在原有基础上多了一个删除操作,李超线段树不支持删除操作,但支持可撤销和可持久化,所以我们容易想到外层再套一个线段树分治即可。本题用可撤销就远远足够了,很好写。 具体的,我们读入所有操作,对于操作一,为当前下标线段读入它的 \( ......
CF914C
problem & blog 数位 dp 模板题。 经过一次操作,可以把 \(n\) 变成一个小于 1000 的数。 所以我们可以把所有小于 1000 的数操作的次数全部处理出来。 然后就是正常的数位 dp。 定义 \(dp_{s,num,lim}\) 表示剩 \(s\) 位,有 \(num\) 个 ......
吴师兄学算法day06 双指针 80. 合并两个有序数组
题目:80. 删除有序数组中的重复项 II 易错点: 为什么是slow-2? 因为有序 当slow -1 说明与上一个相等,当slow-2说明与上一个相等,并且上上一个也相等,就说明已经有3个相等的了。此时要跳过。 不相等说明要么是第一次出现,要么是第2次出现。出现新的,此时我记录一下 代码示例: ......
C# 方法中的参数数组
前言: 有时候我们不能精确的确定一个方法需要多少个参数, C#中有一个叫参数数组,就是把数组作为方法的参数,使用 params 关键字标记的参数必须为数组类型,并且必须是该方法的参数列表中的最后一个参数。 然后,调用方可通过以下四种方式中的任一种来调用方法: 传递相应类型的数组,该类型包含所需数量的 ......
吴师兄学算法day06 双指针 26. 删除有序数组中的重复项
题目:26. 删除有序数组中的重复项 易错点: 为什么不可以写大于nums[slow] 因为会出现多个[0,1,2,2,...]情况 代码示例: from typing import List class Solution: def removeDuplicates(self, nums: List ......
CF-375-D
375-D 题目大意 给定一颗\(n\)个节点的树,根节点为\(1\),每个节点都有一个颜色\({c}_{i}\) 给定\(q\)次询问: \((x,k):\)询问在以\(x\)为根的子树中出现次数\({\ge}k\)的颜色数量 Solution 首先考虑一般暴力的做法,将所有询问离线下来,对整个树 ......
CF-342-E
342-E 题目大意 给定一颗\(n\)个节点的树,其中\(1\)号节点为红色,其余节点为蓝色 有m次操作,操作分为两种: \(1.\)把节点\(x\)变为红色 \(2.\)询问节点\(x\)到最近红色节点的距离 Solution 对于操作\(2\)首先考虑两种暴力操作 \(1.\)对每次询问的\( ......
打印稀疏数组
稀疏数组 public static void main(String[] args) { //1.创建一个二维数组 11*11 0:没有棋子 1:黑棋 2:白棋 int[][] array1 = new int[11][11]; array1[1][2] = 1; array1[2][3] = 2 ......
吴师兄学算法day06 双指针 88. 合并两个有序数组
题目:88. 合并两个有序数组 易错点: 注意 判断i合法,不可以写if nums[i] 会下标越界 掌握好边界条件,num1[i] 和nums2[j]大于或者大于等于都可以。 代码示例: class Solution: def merge(self, nums1: List[int], m: in ......
C语言中这几种数组,弄明白了吗?int(*pai[2])[5],int *aapi[2][2], int **p[2], int *numT[5], int(*num2)[5]
int main() { int a[5]= {1,3,5,7,9}; int(*num1)[5]=&a; int *num[5]= {&a[0],&a[1],&a[2],&a[3],&a[4]}; int b[5]= {2,4,6,8,10}; int(*num2)[5]=&b; int *num ......
CF550C. Divisibility by Eight
题目大意 给你一个由阿拉伯数字组成的字符串,让你找出其中一个子序列,使其能被8整除 思路1 一个整数的末尾三位数能被8整除,则这个数能被8整除。 代码 #include <bits/stdc++.h> using namespace std; using i64 = long long; const ......
CF766E
CF766E Mahmoud and a xor trip 题解 CodeForces cnblogs 提供一种有点复杂但是好想的换根 dp 思路,好像没什么人写。 给定一棵树,带点权,设 \(I(i, j)\) 表示 \(i\) 到 \(j\) 的路径按位异或和,求: \[\sum_{i=1}^{ ......
CF1876C Autosynthesis 题解
Autosynthesis - 洛谷 https://codeforces.com/contest/1876/problem/C 这次也差点想出来了 \(QwQ\) 遇到这种题第一感觉是建图。把 \(i \rightarrow a_i\) 得到一个 章鱼森林 (这里忘记了每个点只有一个出边,是章鱼森 ......