05 2025 档案
摘要:D 题意: 给定一个数组,每次挑选其中两个不同的数,使其变为a+1,b-1.求操作后的众数 思路: 属于是stl的千层妙用了 开一个set,左键值设为数的数量,右键值设为数。这样数量多的排在最后面,数量相当时,大的排在后面。此时我们可以用rbegin()方法获得集合中最后一个元素 然后就是模拟 需要
阅读全文
摘要:E 题意: 给一个序列,数的种类数为x,每轮使每个数a[i]=max(0,a[i]-x).求使得每个数相同的最小轮数 思路: 发现序列每个数都减去相同的数,意味着每个数之间的相对值不变 从而导致如果想让一开始不为0的序列数相同,只能让它们演变为0 因此题目要求的是使所有数变为0的最小轮数 不妨排序+
阅读全文
摘要:题意: 给定一个矩阵,求以从四个拐角处开始画满螺旋矩阵的顺序构成的数组的子数组最大和 思路: N=1000,暴力模拟,将八个数组全部打出 再通过经典的子数组最大和dp求出 int g[1005][1005]; int ans=0; int f[maxn]; void dp(vector<int>&x
阅读全文
摘要:题意: 给定一个长度为n的字符串s,要求选定一个区间,可以重排字符。求出最长的可以回文的子串 思路: 考虑每个字符的奇偶性。显然当区间长度为偶数时,每种字符的数量为偶。区间长度为奇数时,只有一种字符的数量为奇 将[1,x]中26个字符的数量,奇数为1,偶数为0,则可以压缩成范围在[1,1<<26)的
阅读全文
摘要:ABC300-F 题意: 给定m个由n个相同串s拼接成的ox串,允许删除k个x,求最长的连续o 思路: 显然需要删除连续的x,观察得到答案为一段s的后缀+若干个s+一段s的前缀 枚举前缀,知道整块的信息,通过二分求出后缀。在这过程中取max即可 值得注意的是这样做的前提是ox串足够长来构造出这种形式
阅读全文
摘要:题目链接 题意: 给定nxm矩阵,从(s,1)出发到(t,m)。 每次可以向下或向右移动一格 到达最后一行后可以继续向下并到达第一行(环形) 求路径权值最大和 思路: 对于任意一个位置,显然由于环形条件存在,其可由左 + 上 +(下+上)转移 并且无法返回前一列。 因此按列进行dp 记dp[i][j
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P4092 题意: 在线查询,1.节点打上标记 2.查询给定节点打上标记的最近祖先 思路: 节点和其祖先一定在一条链上,所以转化为树链剖分+线段树的点修改和查询问题 将打标记视为+1,那么如果一条链的sum不为0,节点祖先一
阅读全文
摘要:题目链接:https://codeforces.com/contest/600/problem/E int c[maxn]; int dfn[maxn]; int siz[maxn]; int rk[maxn]; int son[maxn]; int l[maxn];int r[maxn]; int
阅读全文
摘要:1.(a+b)^2=a^2+b^2+2ab 推广到n个变量:(a1+a2+a3+..an)^2=( a1^2+a2^2....+an^2 )+ (2a1a2 +2a1a3+2a1a4..+2a1an +2a2a3+2a2a4 +..2a2an +..2an-1an) 其中等号后面第二项可以搞搞组合
阅读全文
摘要:A 题意: 给定一个01串,可以选择一个开头和结尾字符不同的子串,并将其删去,求通过删除操作能产生的字典序最小的字符串为什么?(可以为空) 思路: 如果头尾不同,直接为空 若首尾相同且为1,那么中间如果有子串00则可以删成空。否则不能,此时字符串的形式:101110101101 发现连续的1段肯定大
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/109904/F 题意: 给定一个从顶至底,底面长度依次增加的三角形01矩阵 试求从(1,1)开始到底面有多少种构造回文串的方案? 思路: 多维dp 由于从上至下不好记录状态,观察到回文串的性质,考虑从三角矩阵中间分别
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P3398 题意: 给定两个起点以及两个终点构成的两条树上路径,询问是否相交 思路: 结论:当其中深度较大的起点,终点的lca,和另外一条路径上的起点或终点lca为它自己时,两条路径相交 注意倍增法求lca时,根节点的父亲是
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P4568 题意: 给定n个节点,m条边的无向带权图,可以最多免费经过k条边。给定起点和终点,求最短路。 建分层图跑最短路: 建立分层图,相当于再建立相同的另外k个图,然后上面图的节点可以以0边权转移到下面图的对应节点 re
阅读全文
摘要:题目链接:https://codeforces.com/contest/2109/problem/D 题意: 给定一个无向图,以及一个集合 现在要求从点1走到点i 操作任意次。每次可以从集合中取任意一个数,然后删除。并将其大小k作为这次走的路的长度k(恰好经过k个边,可以来回走) 每个i点的查询都是
阅读全文
摘要:题目链接:https://codeforces.com/contest/2109 题意: 交互题 有一个未知数x(1<=x<=1e18),给定n。目的是把x变为n 四种操作 1.add 输入一个数y,让x+y。如果结果小于0,则返回-1,否则返回1,并改变x原来的值 2.mul 与add同理,不过是
阅读全文
摘要:题目链接:https://atcoder.jp/contests/abc406/tasks/abc406_e 题意: 给定n和k,求[1,n]范围内的数字二进制位1的个数恰好为k的总和 思路: 数位dp 需要记录方案数以及数字和 根据乘法原理,每个位置1对答案的贡献为 该位置的权值(2^(i-1))
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/109904/C 题意: 给定2xn的矩阵,以及两个坐标,求是否能通过放置障碍物使得两个坐标到达(2,n)的最短路径长度相同 思路: 分类讨论 需要注意当一个在上,一个在下的情况,显然纵坐标差一才有可能成立 然而这也有
阅读全文
摘要:链接:https://www.luogu.com.cn/problem/P2602 int len; int f[15][15]; int a[15]; int ans=0; int dfs(int pos,int lead,int limit,int sum,int d){ if(pos>len)
阅读全文
摘要:题目链接:https://atcoder.jp/contests/abc406/tasks/abc406_c 题意: 给定一个排列,求满足条件 1.长度至少为4 2.只有一个波峰 3.只有一个波谷 4.开头两个数递增 的子数组数量 思路: 看出子数组前面一段是波峰,后面一段是波谷,然后还可以添加从波
阅读全文
摘要:题目链接:https://atcoder.jp/contests/abc406/tasks/abc406_d 题意: 爆二维矩阵的操作题,用map<int,set>r,c;存 int h,w,n; int a[maxn]; int b[maxn]; map<int,set<int>>r,c; voi
阅读全文
摘要:题目链接:https://codeforces.com/contest/2026/problem/D 题意: 记a数组的前缀和[l,r]为s(l,r) b数组为:[s(1,1),s(1,2)....,s(1,n)] , [s(2,2),s(2,3),s(2,4)...,s(2,n)] ,.....,
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/109080/F 题意: 规定f运算f(x,y)=x+y- x xor y 给定q次循环,求[l,r]范围内数组进行f运算结果 思路: 需要知道 x+y= x xor y + (x&y)<<1 那么f(x,y)= (x
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/109080/D 题意: 给定一个染色序列,每次可选择4个数i,j,k,l 满足0<=i<=j<k<=j<n(k=j+1),使得染色数组值c[ixj]=c[kxl]相同,并且选择一个从数组中消去 思路: 这辈子和分类讨
阅读全文
摘要:题目链接:https://codeforces.com/contest/2107/problem/C 题意: 给定一个长度为n的数组,和一个长度为n的01串,其中1代表该位置的数字是记得的,0代表该位置的数不记得 在不记得的数的位置上构造方案,使得最大子数组之和恰好为k 思路: 易知如果数组最大子数
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/108589/D 题意: 给定正整数k,二元一次方程x/^2-px+q且p+q=k,p和q都是正整数,该二元一次方程有两个正整数解,输出合法的p和q 思路: 伟大定理:对于二元一次方程两个根分别为X1,X2 X1+X2
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/108589/F 题意: 构造一个nxm的矩阵,使得能用每一行的异或和值和每一列的异或和值 构造一个1~n+m的排列 思路: 当把每一行的异或和和每一列的异或和全部异或起来,可以得到值为0 因为每一个值都被行选中一次,
阅读全文
摘要:典题: 题目链接:https://www.luogu.com.cn/problem/P2986 题意: 给定一棵树(有边权且有点权),选取一个节点作为根节点,使得 其他节点到根节点的距离 x 点权 之和最小 思路: 换根dp,从根节点为1开始进行状态转移 观察可得,根节点每往相邻子节点移动一格,相邻
阅读全文
摘要:题目链接:http://10.160.111.129/p/2646 题意: 定义一棵树的cost为根节点到其子树任一节点的长度的最大值(再乘以一个系数k) 每次可以花费c的代价将根转移到其相邻节点 求转移根节点过程中Max(cost-c) 思路: 换根dp 对于一个节点我们很容易求得其为根节点时的子
阅读全文
摘要:题目链接:https://codeforces.com/gym/102875/problem/H 题意: 用暴力搜索+剪枝T了,长记性了以后 给定一个长度为n的01串str,以及m个由不同字母代表的长度小于等于5的01串。 求str有多少种表示方法 思路: 线性dp 由于答案需要取模,所以可能导致方
阅读全文
摘要:题目链接:https://atcoder.jp/contests/abc405/tasks/abc405_f 题意: 在一个圆上有2N个点,给定一系列序偶(皆为偶数)作为线段的左右端点并在图上连接 有q次查询,每次查询给出一条线段的左端点和右端点(皆为奇数) 求查询线段和已经连接的线段的交点个数 思
阅读全文
摘要:题目链接:https://atcoder.jp/contests/abc405/tasks/abc405_e 题意: 有A个a,B个b,C个c,D个d,其中a要放在c和d的前面,b要放在d的前面,求方案数 思路: 枚举第一个d的位置i,那么a和b一定在d前面的位置,c在d前面的位置的数量为第一个d的
阅读全文
摘要:题目链接:https://codeforces.com/contest/2102/problem/C 题意: 一共有0~n^2-1个数要填到nxn的矩阵里,并且要求子矩阵的mex之和最大 思路: 构造题 猜了一个蛇形矩阵竟然过了你敢信? 大概是把0,1,2,3...这些比较小的数填在矩阵中心的位置能
阅读全文
摘要:题目链接:https://codeforces.com/contest/2042/problem/C 题意: 给定一个01串,其中1属于bob,0属于alice 可以划分m个连续区间,使得m个区间的权值依次为递增的自然数 求让bob的权值大于alice的权值至少为k需要划分最少的区间 思路: 偶遇神
阅读全文
摘要:题目链接:https://codeforces.com/gym/102875/problem/C 题意: 有n个房子,高度为1~20的猫的高度有任意个。 约束条件:1.高度相同的猫不能相邻 2.高度相同的猫中间要有比它小的猫 求把所有房子填满的构造方案 思路: 神秘构造 1 2 1 2 3 2 3
阅读全文
摘要:题目链接:https://codeforces.com/contest/2043/problem/B 题意: 给定n和d,表示有一个由d进行n!次循环拼接成的数字(如1111,22222,33..),判断能否被1~9的奇数整除 思路: 对于这样的无限循环的数,可以视为X=d*(10^k-1)/9(k
阅读全文
摘要:题目链接:https://codeforces.com/contest/2070/problem/C 题意: 初始数组全为R 一次操作可以指定一段连续的区间为B 给定一个字符串S 若最后相同位置i的数组元素与S[i]不同,则会受到惩罚a[i] 规定 最终受到的惩罚 为这些惩罚的最大值 求最多操作k次
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P4310 题意: 给定一个数组a,求最长的子序列b的长度,满足条件b[i-1]&b[i]!=0 思路: 线性dp 记f[i]为当前 二进制第i位 达成的最长子序列长度 枚举每一个数,那么站在这个数的角度上看,只要这个数的二
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P1637 题意: 给定数组,求i<j<k且a[i]<a[j]<a[k]的三元组数量 思路: 不妨枚举a[j] 这样我们只需要知道 它前面的数中 有多少个小于它的 它后面的数 有多少个大于它的 可以通过两个树状数组维护 将树
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P4145 题意: 操作1:对一段区间的数进行开根号处理 操纵2:对一段区间进行求和 思路: 线段树维护 注意到对于1e18的数,不断进行开根号: 1e18->1e9->1e5->1e3->1e2->10->1->1->1.
阅读全文
摘要:题目链接:https://codeforces.com/contest/2086/problem/D 题意: 给定26个字母的出现次数,构造一个字符串 要求对于相同的一种字母,其任意个两两地在字符串的距离为偶数 思路: 要求同种字母的距离为偶数,即同种字母都在字符串奇数/偶数位置。((pos1-po
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/108199/F 题意: 给定一个括号栈序列,以及一些颜料,要求每次入栈后,栈中的颜料序列不能重复出现 输出符合条件的颜料序列。 思路: 可以将括号栈操作看作建树过程 初始树的根节点为0 1.入栈操作 在当前节点下延申
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P2340 题意: 有n头牛,每头牛有情商和智商,要求在这n头牛选择一些牛使 智商总和大于等于0 且 情商总和大于等于0,求满足条件的 情商+智商和最大值 思路: 01背包 记f[j]:情商为j时的智商最大值。那么我们只需要
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P1854 题意: 给定f朵花,v个花瓶(v>=f) 每朵花在不同花瓶都有不同的权值 规定每朵花的相对次序不能改变 求将所有花都塞入花瓶时的最大权值和以及获得其的路径 思路: 记dp[i][j]:第i朵花塞入第j个瓶子时的最
阅读全文
摘要:Music Player 1.所需的工具以及库 ImGui+Glfw进行图形界面的开发 miniaudio完成播放器类的开发 2.功能 显示歌曲文件的基本信息 正常播放.mp3,.wav音乐文件 拥有扩展功能(下一首/音量控制/进度条调整) 通过用户的交互来进行资源设置 3.思路 写了四个重要的类:
阅读全文
摘要:题目链接:https://atcoder.jp/contests/abc404/tasks/abc404_e 题意: 给定n个碗,(除了0碗)碗上有标记,标记数组为c[i] 每个碗里面有a[i]个豆子 每次可以选择一个碗,使得碗里面任意个豆子在i-c[i],i-c[i]+1,....i-1区间内自由
阅读全文
摘要:lcm(a,b)=axb/(__gcd(a,b)) 根据整数唯一分解定理 任意整数a和b可以拆为一些质数的乘积 那么gcd(a,b)为它们每个质数最小次的乘积 而lcm(a,b)为它们每个质数最大次的乘积
阅读全文
摘要:题目链接;https://atcoder.jp/contests/abc404/tasks/abc404_d 题意: n个动物园,每个动物园票价不同,m个动物,给定每个动物分布在动物园的情况 求观看m个动物2次的最小票价 思路: 3^n x m 的搜索 int a[15]; int n,m; vec
阅读全文
摘要:题目链接:https://codeforces.com/contest/2075/problem/C 题意: 有n个格子m种颜料,给定每种颜料最多能涂多少格子的数组 求一种颜料占格子一边的涂法有多少种 思路: 易知a[i]最大为n-1 观察得到对于a[i]+a[j]>=n,方案种数为a[i]+a[j
阅读全文
摘要:题目链接:https://codeforces.com/contest/2108/problem/C 题意: 给定一个数组 我们需要将数组元素从大到小的顺序依次遍历 不过不能改变原数组的顺序,而是通过生成不同的指针 指针可以往左或往右任意移动 求所需指针数量的最小值 思路: 容易知道如果相邻的元素相
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P2882 题意: 给定一个01序列,求如何将它若干段连续序列翻转后变为全1序列 输出翻转最小次数和翻转区间长度 思路: 发现当每个点只翻转一次是最优的 所以从左往右枚举翻转区间左端点 当然得先枚举区间长度 通过维护差分数组
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P2161 题意: 若干个a操作和b操作 a操作:给定l,r,删除线段中与[l,r]有交集的区间,输出删除的区间个数,并且[l,r]进入线段 b操作:输出线段有多少个区间 思路: 看到题解写的STL写法,感到惊奇。 定义结构
阅读全文
摘要:逆序对本质是(一个数和在它前面且大于它的数的序偶)的集合 对于求逆序对的树状数组,我们将它视为一个桶 用于快速统计一个数前面比它小的有多少个 (因为树状数组能够快速求和) 由于已经知道它前面有多少个数了(i-1个) 那么(前面数的总数-前面比它小的数)=前面比它大的数 = 该元素为第一关键字的逆序对
阅读全文
摘要:题目链接:https://www.luogu.com.cn/record/215601289 题意: 给定两个数列,规定S=(ai-bi)^2(1<=i<=n)求和 为了使S最小,求移动bi的最小次数(每次移动可交换相邻两个数) 思路: 首先发现S=ai2+bi2 - 2xaixbi 前两项无法改变
阅读全文
摘要:题目链接:https://codeforces.com/contest/2104/problem/E 题意: 题目中出现的字符串字符都是前k个字符 给定一个字符串s,和若干个字符串t。 对于每一个字符串t,求使得它不再是s的子序列所需要增加的最小字符数量 思路: 由于需要快速查找每个字符串t最后一个
阅读全文

浙公网安备 33010602011771号